sale-client 3.6.201 → 3.6.202
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/build/dev-server.js +2 -2
- package/package.json +1 -1
- package/src/components/revenue/cardHandManage/cardHandAudit.vue +14 -56
- package/src/components/revenue/cardHandManage/cardsHand.vue +15 -11
- package/src/filiale/yuncheng/machineHandAudit.vue +806 -0
- package/src/filiale/yuncheng/sale.js +2 -0
package/build/dev-server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
|
-
const [ serverRul, localUrl ] = ['http://
|
|
2
|
+
const [ serverRul, localUrl ] = ['http://121.36.106.17:8400/', 'http://127.0.0.1:8080/']
|
|
3
3
|
var merge = require('webpack-merge')
|
|
4
4
|
var baseConfig = require('./webpack.dev.conf')
|
|
5
5
|
var devConfig = {
|
|
@@ -10,7 +10,7 @@ var devConfig = {
|
|
|
10
10
|
historyApiFallback: true,
|
|
11
11
|
host: '127.0.0.1',
|
|
12
12
|
port: 8089,
|
|
13
|
-
open:
|
|
13
|
+
open: false,
|
|
14
14
|
stats: {
|
|
15
15
|
colors: false, // 配置控制台输出彩色日志
|
|
16
16
|
chunks: false, // 不输出构建 chunk 信息
|
package/package.json
CHANGED
|
@@ -190,9 +190,6 @@
|
|
|
190
190
|
<th>
|
|
191
191
|
<nobr>上期结余</nobr>
|
|
192
192
|
</th>
|
|
193
|
-
<th>
|
|
194
|
-
<nobr>平均用气量</nobr>
|
|
195
|
-
</th>
|
|
196
193
|
<th>
|
|
197
194
|
<nobr>上期底数</nobr>
|
|
198
195
|
</th>
|
|
@@ -264,7 +261,6 @@
|
|
|
264
261
|
<td>{{row.f_adjustable_name}}</td>
|
|
265
262
|
<td>{{row.f_inputtor}}</td>
|
|
266
263
|
<td>{{row.f_balacne}}</td>
|
|
267
|
-
<td style="text-align: center;">{{Math.round(row.avggas)}}</td>
|
|
268
264
|
<td>{{row.f_meter_base}}</td>
|
|
269
265
|
<td id="hand-creat">{{row.f_tablebase}}</td>
|
|
270
266
|
<td style="text-align: center;">{{row.f_oughtamount = row.f_tablebase ?
|
|
@@ -280,9 +276,7 @@
|
|
|
280
276
|
<td> <nobr>{{row.f_book_name}} </nobr></td>
|
|
281
277
|
<td style="text-align: center;"><nobr>
|
|
282
278
|
<img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="50" :height="50"></img-self>
|
|
283
|
-
|
|
284
|
-
<!-- <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>-->
|
|
285
|
-
<button v-if="row.f_notified_path" class="btn btn-link" @click.stop="$parent.$parent.$parent.imgShow(row.f_notified_path)">图像识别</button>
|
|
279
|
+
<img-self :src="`rs/image/file/${row.f_notified_path}`" v-if="row.f_notified_path" :width="100" :height="100"></img-self>
|
|
286
280
|
</nobr></td>
|
|
287
281
|
<td style="text-align: center;" class="row auto">
|
|
288
282
|
<nobr>
|
|
@@ -300,26 +294,6 @@
|
|
|
300
294
|
</template>
|
|
301
295
|
</data-grid>
|
|
302
296
|
</criteria-paged>
|
|
303
|
-
<!-- <table class="table-hover">-->
|
|
304
|
-
<!-- <tr style="position: relative" class="table-bordered">-->
|
|
305
|
-
<!-- <td-->
|
|
306
|
-
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">-->
|
|
307
|
-
<!-- 汇总信息-->
|
|
308
|
-
<!-- </td>-->
|
|
309
|
-
<!-- <td-->
|
|
310
|
-
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
|
|
311
|
-
<!-- 支付宝金额汇总: {{sumsmodel.f_total_charge}}-->
|
|
312
|
-
<!-- </td>-->
|
|
313
|
-
<!-- <td-->
|
|
314
|
-
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
|
|
315
|
-
<!-- 收费金额汇总: {{sumsmodel.f_collection}}-->
|
|
316
|
-
<!-- </td>-->
|
|
317
|
-
<!-- <td-->
|
|
318
|
-
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
|
|
319
|
-
<!-- 差额汇总: {{((sumsmodel.f_total_charge -0) - (sumsmodel.f_collection -0)).toFixed(2)}}-->
|
|
320
|
-
<!-- </td>-->
|
|
321
|
-
<!-- </tr>-->
|
|
322
|
-
<!-- </table>-->
|
|
323
297
|
</div>
|
|
324
298
|
</div>
|
|
325
299
|
<modal :show.sync="imgshow" v-ref:modal backdrop="true">
|
|
@@ -350,10 +324,10 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
350
324
|
}
|
|
351
325
|
|
|
352
326
|
export default {
|
|
353
|
-
title: '
|
|
327
|
+
title: '卡表审核',
|
|
354
328
|
data () {
|
|
355
329
|
return {
|
|
356
|
-
model: new PagedList('rs/sql/
|
|
330
|
+
model: new PagedList('rs/sql/getAuditCardHand', 20),
|
|
357
331
|
initres: {
|
|
358
332
|
org: [this.$login.f.orgid],
|
|
359
333
|
dep: [],
|
|
@@ -439,31 +413,16 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
439
413
|
f_meter_classify: row.f_meter_classify,
|
|
440
414
|
f_meter_brand: row.f_meter_brand,
|
|
441
415
|
f_hand_id: row.id,
|
|
416
|
+
id: row.id,
|
|
417
|
+
f_userfiles_id: row.f_userfiles_id,
|
|
442
418
|
f_operator: Vue.$login.f.name,
|
|
443
419
|
f_tablebase: row.f_tablebase,
|
|
444
|
-
|
|
420
|
+
f_autotable_base: row.f_autotable_base,
|
|
421
|
+
f_userinfo_id: row.f_userinfo_id,
|
|
422
|
+
f_meter_state: '已抄表',
|
|
423
|
+
f_result_state: '成功'
|
|
445
424
|
}
|
|
446
|
-
this.$resetpost('rs/logic/
|
|
447
|
-
row.f_meter_state = res.data.f_meter_state
|
|
448
|
-
row.f_whether_pay = res.data.f_whether_pay
|
|
449
|
-
row.f_oughtfee = res.data.f_oughtfee
|
|
450
|
-
// this.$resetpost('rs/logic/getMeterSms', {data: param}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
451
|
-
// this.search()
|
|
452
|
-
let f_result_state = '正常'
|
|
453
|
-
if (row.f_result_state && row.f_result_state != '') {
|
|
454
|
-
f_result_state = row.f_result_state
|
|
455
|
-
}
|
|
456
|
-
let f_input_date = ''
|
|
457
|
-
if (row.f_input_date && row.f_input_date != '') {
|
|
458
|
-
f_input_date = ` ,f_input_date = '${row.f_input_date}'`
|
|
459
|
-
}
|
|
460
|
-
let sqldata = `update t_handplan set f_result_state = '${f_result_state}' ${f_input_date} where id = '${row.id}'`
|
|
461
|
-
this.$resetpost('rs/logic/runSQL', {data: {sql: sqldata}}, {resolveMsg: null, rejectMsg: '业务单号保存失败'})
|
|
462
|
-
// }).catch((error) => {
|
|
463
|
-
// row.state = '失败'
|
|
464
|
-
// Vue.set(row, 'error', JSON.stringify(error))
|
|
465
|
-
// this.speckText('抄表出错,请注意!')
|
|
466
|
-
// })
|
|
425
|
+
this.$resetpost('rs/logic/cardCommonEnter', {data: param}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
467
426
|
this.search()
|
|
468
427
|
}).catch((error) => {
|
|
469
428
|
row.state = '失败'
|
|
@@ -475,19 +434,19 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
475
434
|
console.log('不通过。。。', row)
|
|
476
435
|
let handplan = {
|
|
477
436
|
id: row.id,
|
|
478
|
-
f_oughtamount: 0,
|
|
479
437
|
f_tablebase: 0,
|
|
480
438
|
f_input_date: null,
|
|
481
439
|
f_meter_state: '未抄表',
|
|
440
|
+
f_hand_state: '作废',
|
|
482
441
|
f_meter_source: null
|
|
483
442
|
}
|
|
484
|
-
this.$resetpost('rs/entity/
|
|
443
|
+
this.$resetpost('rs/entity/t_cardhand', handplan, {
|
|
485
444
|
resolveMsg: null,
|
|
486
445
|
rejectMsg: '未通过,抄表数据返回未抄表保存出错!!!'
|
|
487
446
|
}).then((res) => {
|
|
488
447
|
row.f_tablebase = null
|
|
489
448
|
row.f_meter_state = '未抄表'
|
|
490
|
-
row.f_whether_pay = '否'
|
|
449
|
+
// row.f_whether_pay = '否'
|
|
491
450
|
this.search()
|
|
492
451
|
}).catch((error) => {
|
|
493
452
|
row.state = '失败'
|
|
@@ -497,8 +456,7 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
497
456
|
},
|
|
498
457
|
loadMeterBooks () {
|
|
499
458
|
this.meterbooks = [...this.meterbooks, ...this.$GetSaleParam.getMeterBooks()]
|
|
500
|
-
}
|
|
501
|
-
|
|
459
|
+
}
|
|
502
460
|
},
|
|
503
461
|
computed: {
|
|
504
462
|
inputtores () {
|
|
@@ -258,7 +258,10 @@
|
|
|
258
258
|
<nobr>本期底数</nobr>
|
|
259
259
|
</th>
|
|
260
260
|
<th>
|
|
261
|
-
<nobr
|
|
261
|
+
<nobr>抄表结果</nobr>
|
|
262
|
+
</th>
|
|
263
|
+
<th>
|
|
264
|
+
<nobr>附件查看</nobr>
|
|
262
265
|
</th>
|
|
263
266
|
<th>
|
|
264
267
|
<nobr>实际用量</nobr>
|
|
@@ -333,7 +336,7 @@
|
|
|
333
336
|
'has-error has-feedback': row.error}"
|
|
334
337
|
v-if="row.f_meter_state === '未抄表' && row.states !== 0">
|
|
335
338
|
<v-select :value.sync="row.f_result_state" v-model="row.f_result_state"
|
|
336
|
-
:options='$parent.$parent.$parent.resultstate' placeholder='
|
|
339
|
+
:options='$parent.$parent.$parent.resultstate' placeholder='抄表结果'
|
|
337
340
|
width="100%"
|
|
338
341
|
:value-single="true"
|
|
339
342
|
close-on-select
|
|
@@ -344,7 +347,10 @@
|
|
|
344
347
|
{{ row.f_result_state }}
|
|
345
348
|
</div>
|
|
346
349
|
</td>
|
|
347
|
-
|
|
350
|
+
<td style="text-align:center">
|
|
351
|
+
<img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="100" :height="100"></img-self>
|
|
352
|
+
<img-self :src="`rs/image/file/${row.f_notified_path}`" v-if="row.f_notified_path" :width="100" :height="100"></img-self>
|
|
353
|
+
</td>
|
|
348
354
|
|
|
349
355
|
<td style="text-align: center;">{{ row.f_actualtablebase }}</td>
|
|
350
356
|
<td style="text-align: center;">{{ row.total_gas - (row.f_tablebase - row.f_initial_base) }}</td>
|
|
@@ -412,9 +418,7 @@ import co from 'co'
|
|
|
412
418
|
|
|
413
419
|
let loadParamGem = async function (self) {
|
|
414
420
|
await self.$LoadParams.loadParam(self.f_filialeid)
|
|
415
|
-
|
|
416
421
|
self.loadMeterBooks()
|
|
417
|
-
await self.search()
|
|
418
422
|
}
|
|
419
423
|
let modifyGen = function* (self, row, url) {
|
|
420
424
|
console.log('抄表修正,。。。', row, url)
|
|
@@ -438,6 +442,11 @@ export default {
|
|
|
438
442
|
title: '卡表抄表',
|
|
439
443
|
data () {
|
|
440
444
|
return {
|
|
445
|
+
initres: {
|
|
446
|
+
org: [this.$login.f.orgid],
|
|
447
|
+
dep: [],
|
|
448
|
+
user: []
|
|
449
|
+
},
|
|
441
450
|
timer: null,
|
|
442
451
|
// 请求对象(批量导入,查询进度使用)
|
|
443
452
|
HttpReset: new HttpResetClass(),
|
|
@@ -478,11 +487,6 @@ export default {
|
|
|
478
487
|
},
|
|
479
488
|
meterbrands: [{label: '全部', value: ''}],
|
|
480
489
|
upshow: false,
|
|
481
|
-
initres: {
|
|
482
|
-
org: [this.$login.f.orgid],
|
|
483
|
-
dep: [],
|
|
484
|
-
user: []
|
|
485
|
-
},
|
|
486
490
|
orgCondtionStr: ''
|
|
487
491
|
}
|
|
488
492
|
},
|
|
@@ -583,7 +587,7 @@ export default {
|
|
|
583
587
|
}
|
|
584
588
|
|
|
585
589
|
if (!this.orgCondtionStr) {
|
|
586
|
-
args.condition = `${args.condition}
|
|
590
|
+
args.condition = `${args.condition} and f_orgid = '${this.$login.f.orgid}'`
|
|
587
591
|
} else {
|
|
588
592
|
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
589
593
|
}
|
|
@@ -0,0 +1,806 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 98%">
|
|
3
|
+
<div class="flex">
|
|
4
|
+
<criteria-paged :model="model" v-ref:paged @sort="sort">
|
|
5
|
+
<criteria partial='criteria' v-ref:cri @condition-changed="$parent.selfSearch">
|
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<!--<div class="col-sm-6">-->
|
|
9
|
+
<!--style="border: 1px solid #a6d5ea; box-shadow: darkgrey 1px 1px 1px 2px;padding: 0.5%">-->
|
|
10
|
+
<div class="col-sm-2 form-group">
|
|
11
|
+
<label class="font_normal_body">下发日期</label>
|
|
12
|
+
<datepicker placeholder="开始日期"
|
|
13
|
+
style="width:60%"
|
|
14
|
+
class="datepicker"
|
|
15
|
+
v-model="model.startDate"
|
|
16
|
+
:value.sync="model.startDate"
|
|
17
|
+
condition="f_hand_date >='{} 00:00:00'"
|
|
18
|
+
:format="'yyyy-MM-dd'"
|
|
19
|
+
></datepicker>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label class="font_normal_body">  至 </label>
|
|
23
|
+
<datepicker placeholder="结束日期"
|
|
24
|
+
style="width:60%"
|
|
25
|
+
v-model="model.endDate"
|
|
26
|
+
:value.sync="model.endDate"
|
|
27
|
+
condition="f_hand_date <='{} 23:59:59'"
|
|
28
|
+
:format="'yyyy-MM-dd'"
|
|
29
|
+
></datepicker>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="col-sm-2 form-group">
|
|
33
|
+
<label class="font_normal_body">客户编号</label>
|
|
34
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
35
|
+
condition="f_userinfo_code='{}'" placeholder='客户编号'>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div class="span" style="float:right;">
|
|
39
|
+
|
|
40
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()">查询</button>
|
|
41
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
42
|
+
<export-excel
|
|
43
|
+
:data="{condition: $parent.$parent.excelCondition}"
|
|
44
|
+
:field="$parent.$parent.fields"
|
|
45
|
+
sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="getAuditMachineHand"
|
|
46
|
+
template-name='抄表审核导出'
|
|
47
|
+
:choose-col="true">
|
|
48
|
+
</export-excel>
|
|
49
|
+
<button class="button_search button_spacing width-60"
|
|
50
|
+
@click="$parent.$parent.allsuccess()" v-el:cx>全部通过</button>
|
|
51
|
+
<button class="button_search button_spacing width-60"
|
|
52
|
+
@click="$parent.$parent.allfaild()" v-el:cx>全部不通过</button>
|
|
53
|
+
<div
|
|
54
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
55
|
+
@click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
59
|
+
<!-- <div class="col-sm-2 form-group">-->
|
|
60
|
+
<!-- <label class="font_normal_body">表 编 号</label>-->
|
|
61
|
+
<!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_id"-->
|
|
62
|
+
<!-- condition="f_user_id='{}'" placeholder='表编号'>-->
|
|
63
|
+
<!-- </div>-->
|
|
64
|
+
<div class="col-sm-2 form-group">
|
|
65
|
+
<label class="font_normal_body">抄表状态</label>
|
|
66
|
+
<v-select :value.sync="model.f_audit_state"
|
|
67
|
+
class="select_list select"
|
|
68
|
+
v-model="model.f_audit_state"
|
|
69
|
+
style="width: 60%"
|
|
70
|
+
condition="f_meter_state = '{}'"
|
|
71
|
+
:options='$parent.$parent.auditState' placeholder='请选择'
|
|
72
|
+
close-on-select v-el:cc>
|
|
73
|
+
</v-select>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="col-sm-2 form-group">
|
|
76
|
+
<label class="font_normal_body">表  号</label>
|
|
77
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
|
|
78
|
+
condition="f_meternumber like '%{}%'" placeholder='表号'>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="col-sm-2 form-group">
|
|
81
|
+
<label class="font_normal_body">客户姓名</label>
|
|
82
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name" placeholder='客户姓名'
|
|
83
|
+
condition="f_user_name = '{}'">
|
|
84
|
+
</div>
|
|
85
|
+
<div class="col-sm-2 form-group">
|
|
86
|
+
<label class="font_normal_body">小    区</label>
|
|
87
|
+
<v-select :value.sync="model.f_residential_area"
|
|
88
|
+
class="select_list select"
|
|
89
|
+
enter-push
|
|
90
|
+
v-model="model.f_residential_area"
|
|
91
|
+
style="width: 60%"
|
|
92
|
+
multiple="true"
|
|
93
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
94
|
+
close-on-select v-el:cc>
|
|
95
|
+
</v-select>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="col-sm-2 form-group">
|
|
98
|
+
<label class="font_normal_body">楼  栋</label>
|
|
99
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_building"
|
|
100
|
+
condition="f_building = '{}'" placeholder='楼栋'>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="col-sm-2 form-group">
|
|
103
|
+
<label class="font_normal_body">单  元</label>
|
|
104
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_unit"
|
|
105
|
+
condition="f_unit = '{}'" placeholder='单元'>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="col-sm-2 form-group">
|
|
108
|
+
<label class="font_normal_body">楼  层</label>
|
|
109
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_floor"
|
|
110
|
+
condition="f_floor = '{}'" placeholder='楼层'>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="col-sm-2 form-group">
|
|
113
|
+
<label class="font_normal_body">门 牌 号</label>
|
|
114
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_room"
|
|
115
|
+
condition="f_room like '%{}%'" placeholder='门牌号'>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="col-sm-2 form-group">
|
|
118
|
+
<label class="font_normal_body">客户地址</label>
|
|
119
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
120
|
+
condition="f_address like '%{}%'" placeholder='客户地址'>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="col-sm-2 form-group">
|
|
123
|
+
<label class="font_normal_body">抄 表 员</label>
|
|
124
|
+
<v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
|
|
125
|
+
style="width:60%"
|
|
126
|
+
multiple="true"
|
|
127
|
+
:options='$parent.$parent.inputtores' placeholder='抄表员'
|
|
128
|
+
close-on-select
|
|
129
|
+
v-el:cc></v-select>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div class="col-sm-2 form-group">
|
|
133
|
+
<label class="font_normal_body">客户类型</label>
|
|
134
|
+
<v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
|
|
135
|
+
:options='$parent.$parent.usertypes' placeholder='客户类型'
|
|
136
|
+
style="width:60%"
|
|
137
|
+
close-on-select
|
|
138
|
+
condition="f_user_type = '{}'"></v-select>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="col-sm-2 form-group">
|
|
141
|
+
<label class="font_normal_body">用户等级</label>
|
|
142
|
+
<v-select :value.sync="model.f_user_level" v-model="model.f_user_level"
|
|
143
|
+
:options='$parent.$parent.userlevels' placeholder='用户等级'
|
|
144
|
+
style="width:60%"
|
|
145
|
+
close-on-select
|
|
146
|
+
condition="f_user_level = '{}'"></v-select>
|
|
147
|
+
</div>
|
|
148
|
+
<div class="col-sm-2 form-group">
|
|
149
|
+
<label class="font_normal_body">抄 表 册</label>
|
|
150
|
+
<v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
|
|
151
|
+
:options='$parent.$parent.meterbooks' placeholder='抄表册'
|
|
152
|
+
style="width:60%"
|
|
153
|
+
:multiple="true"
|
|
154
|
+
condition="f_meter_book_num in {}"></v-select>
|
|
155
|
+
</div>
|
|
156
|
+
<div class="col-sm-2 flex-row" style="white-space: nowrap" >
|
|
157
|
+
<label class="font_normal_body">应交气量</label>
|
|
158
|
+
<div class="row">
|
|
159
|
+
<input type="text" style="width:30%" class="input_search" v-model="model.oughtamountmin"
|
|
160
|
+
condition="f_oughtamount >= {} " placeholder="">
|
|
161
|
+
<label class="font_normal_body"> ≤ x ≤ </label>
|
|
162
|
+
<input type="text" style="width:30%" class="input_search" v-model="model.oughtamountmax"
|
|
163
|
+
condition="f_oughtamount <= {} " placeholder="">
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="col-sm-2 form-group">
|
|
167
|
+
<label class="font_normal_body">审核状态</label>
|
|
168
|
+
<v-select :value.sync="model.f_audit_state_1"
|
|
169
|
+
class="select_list select"
|
|
170
|
+
v-model="model.f_audit_state_1"
|
|
171
|
+
style="width: 60%"
|
|
172
|
+
condition="f_audit_state = '{}'"
|
|
173
|
+
:options='$parent.$parent.auditState1' placeholder='请选择'
|
|
174
|
+
close-on-select v-el:cc>
|
|
175
|
+
</v-select>
|
|
176
|
+
</div>
|
|
177
|
+
<!-- <div class="col-sm-2 form-group">-->
|
|
178
|
+
<!-- <label class="font_normal_body">调压箱名</label>-->
|
|
179
|
+
<!-- <v-select :value.sync="model.f_adjustable_name" v-model="model.f_adjustable_name"-->
|
|
180
|
+
<!-- :options='$parent.$parent.adjustablename' placeholder='调压箱名称'-->
|
|
181
|
+
<!-- style="width:60%"-->
|
|
182
|
+
<!-- close-on-select-->
|
|
183
|
+
<!-- condition="f_adjustable_name = '{}'"></v-select>-->
|
|
184
|
+
<!-- </div>-->
|
|
185
|
+
<res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
|
|
186
|
+
v-ref:sel></res-select-group>
|
|
187
|
+
<div class="form-group col-sm-2">
|
|
188
|
+
<label class="font_normal_body">气价名称</label>
|
|
189
|
+
<v-select id="f_price_name"
|
|
190
|
+
v-model="model.price_name"
|
|
191
|
+
placeholder='气价名称'
|
|
192
|
+
style="width: 60%"
|
|
193
|
+
:value.sync="model.price_name"
|
|
194
|
+
:options='$parent.$parent.priceNames'
|
|
195
|
+
condition="f_price_name = '{}'"
|
|
196
|
+
close-on-select></v-select>
|
|
197
|
+
</div>
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
</div>
|
|
201
|
+
</criteria>
|
|
202
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid id="hand_manager_grid" :optional="true">
|
|
203
|
+
<template partial='head'>
|
|
204
|
+
<tr>
|
|
205
|
+
<th> <nobr>审核</nobr></th>
|
|
206
|
+
<!--<th><input type='checkbox' v-model="$parent.$parent.$parent.all" @change="$parent.$parent.$parent.chooseAll"></th>-->
|
|
207
|
+
<th>
|
|
208
|
+
<nobr>序号</nobr>
|
|
209
|
+
</th>
|
|
210
|
+
<th>
|
|
211
|
+
<nobr>客户编号
|
|
212
|
+
<!-- <data-order field="f_userinfo_code" name="客户编号"-->
|
|
213
|
+
<!-- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>-->
|
|
214
|
+
</nobr>
|
|
215
|
+
</th>
|
|
216
|
+
<!-- <th>-->
|
|
217
|
+
<!-- <nobr>表编号</nobr>-->
|
|
218
|
+
<!-- </th>-->
|
|
219
|
+
<!-- <th>基本信息</th>-->
|
|
220
|
+
<th>
|
|
221
|
+
<nobr>
|
|
222
|
+
基本信息
|
|
223
|
+
<!-- <data-order field="f_address" name="基本信息"-->
|
|
224
|
+
<!-- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>-->
|
|
225
|
+
</nobr>
|
|
226
|
+
</th>
|
|
227
|
+
<th>
|
|
228
|
+
<nobr>用户等级</nobr>
|
|
229
|
+
</th>
|
|
230
|
+
<!--<th><nobr><data-order field="f_building" name="楼号"-->
|
|
231
|
+
<!--:order.sync="$parent.$parent.$parent.orderFields.f_building"></data-order></nobr>-->
|
|
232
|
+
<!--</th>-->
|
|
233
|
+
<!--<th><nobr><data-order field="f_unit" name="单元号"-->
|
|
234
|
+
<!--:order.sync="$parent.$parent.$parent.orderFields.f_unit"></data-order></nobr>-->
|
|
235
|
+
<!--</th>-->
|
|
236
|
+
<!--<th><nobr><data-order field="f_room" name="房号"-->
|
|
237
|
+
<!--:order.sync="$parent.$parent.$parent.orderFields.f_room"></data-order></nobr>-->
|
|
238
|
+
<!--</th>-->
|
|
239
|
+
<th>
|
|
240
|
+
<nobr>上期结余</nobr>
|
|
241
|
+
</th>
|
|
242
|
+
<!-- <th>-->
|
|
243
|
+
<!-- <nobr>平均用气量</nobr>-->
|
|
244
|
+
<!-- </th>-->
|
|
245
|
+
<th>
|
|
246
|
+
<nobr>表号</nobr>
|
|
247
|
+
</th>
|
|
248
|
+
<th>
|
|
249
|
+
<nobr>上期底数</nobr>
|
|
250
|
+
</th>
|
|
251
|
+
<th>
|
|
252
|
+
<nobr>本期底数</nobr>
|
|
253
|
+
</th>
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
<th>
|
|
257
|
+
<nobr>应交气量</nobr>
|
|
258
|
+
</th>
|
|
259
|
+
<th>
|
|
260
|
+
<nobr>增量值</nobr>
|
|
261
|
+
</th>
|
|
262
|
+
<!--增加应交金额-->
|
|
263
|
+
<th>
|
|
264
|
+
<nobr>应交金额</nobr>
|
|
265
|
+
</th>
|
|
266
|
+
<th>
|
|
267
|
+
<nobr>抄表结果状态</nobr>
|
|
268
|
+
</th>
|
|
269
|
+
<!-- <th>上次抄表日期</th>-->
|
|
270
|
+
<th>
|
|
271
|
+
<nobr>
|
|
272
|
+
上次抄表录入日期
|
|
273
|
+
<!-- <data-order field="f_last_input_date" name="上次抄表录入日期"-->
|
|
274
|
+
<!-- :order.sync="$parent.$parent.$parent.orderFields.f_last_input_date"></data-order>-->
|
|
275
|
+
</nobr>
|
|
276
|
+
</th>
|
|
277
|
+
<!-- <th>下发日期</th>-->
|
|
278
|
+
<th>
|
|
279
|
+
<nobr>下发日期
|
|
280
|
+
<!-- <data-order field="f_hand_date" name="下发日期"-->
|
|
281
|
+
<!-- :order.sync="$parent.$parent.$parent.orderFields.f_hand_date"></data-order>-->
|
|
282
|
+
</nobr>
|
|
283
|
+
</th>
|
|
284
|
+
<!-- <th>抄表日期</th>-->
|
|
285
|
+
<th>
|
|
286
|
+
<nobr>抄表录入日期
|
|
287
|
+
<!-- <data-order field="f_input_date" name="抄表录入日期"-->
|
|
288
|
+
<!-- :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>-->
|
|
289
|
+
</nobr>
|
|
290
|
+
</th>
|
|
291
|
+
<!-- <th>抄表册</th>-->
|
|
292
|
+
<th>
|
|
293
|
+
<nobr>抄表册
|
|
294
|
+
<!-- <data-order field="f_book_name" name="抄表册"-->
|
|
295
|
+
<!-- :order.sync="$parent.$parent.$parent.orderFields.f_book_name"></data-order>-->
|
|
296
|
+
</nobr>
|
|
297
|
+
|
|
298
|
+
</th>
|
|
299
|
+
<th>
|
|
300
|
+
<nobr>
|
|
301
|
+
<data-order field="f_meter_book_sort" name="表册顺序"
|
|
302
|
+
:order.sync="$parent.$parent.$parent.orderFields.f_meter_book_sort"></data-order>
|
|
303
|
+
</nobr>
|
|
304
|
+
</th>
|
|
305
|
+
<th>
|
|
306
|
+
<nobr>调压箱名称</nobr>
|
|
307
|
+
</th>
|
|
308
|
+
<th>
|
|
309
|
+
<nobr>抄表员</nobr>
|
|
310
|
+
</th>
|
|
311
|
+
<th><nobr>附件</nobr></th>
|
|
312
|
+
<!-- <th><nobr>附件</nobr></th>-->
|
|
313
|
+
<!-- f_oughtfee-->
|
|
314
|
+
</tr>
|
|
315
|
+
</template>
|
|
316
|
+
<template partial='body'>
|
|
317
|
+
<td style="text-align: center;" class="row auto">
|
|
318
|
+
<nobr>
|
|
319
|
+
<button type="button" name="button" class="button_search button_spacing width-60"
|
|
320
|
+
@click.stop="$parent.$parent.$parent.pass(row)"
|
|
321
|
+
v-if="row.f_meter_state === '待审核'">通过
|
|
322
|
+
</button>
|
|
323
|
+
|
|
324
|
+
<button type="button" name="button" class="button_search button_spacing width-60"
|
|
325
|
+
@click.stop="$parent.$parent.$parent.nopass(row)"
|
|
326
|
+
v-if="row.f_meter_state === '待审核' ">不通过
|
|
327
|
+
</button>
|
|
328
|
+
</nobr>
|
|
329
|
+
</td>
|
|
330
|
+
<!--<td style="text-align: center;">-->
|
|
331
|
+
<!--<input v-if="row.f_meter_state === '未下发'"-->
|
|
332
|
+
<!--:id="model.pageIndex" type='checkbox' @change="$parent.$parent.$parent.chooseOne($event,row,model.rows)"-->
|
|
333
|
+
<!--:checked="$parent.$parent.$parent.ischecked(row)"/>-->
|
|
334
|
+
<!--</td>-->
|
|
335
|
+
<td style="text-align: center;">{{$index + 1}}</td>
|
|
336
|
+
<td>{{row.f_userinfo_code}}</td>
|
|
337
|
+
<!-- <td>{{row.f_user_id}}</td>-->
|
|
338
|
+
<td> <nobr>{{row.f_user_name}} {{row.f_address}} </nobr></td>
|
|
339
|
+
<td>{{row.f_user_level}}</td>
|
|
340
|
+
<!--<td>{{row.f_building}}</td>-->
|
|
341
|
+
<!--<td>{{row.f_unit}}</td>-->
|
|
342
|
+
<!--<td>{{row.f_room}}</td>-->
|
|
343
|
+
<td>{{row.f_balance}}</td>
|
|
344
|
+
<!-- <td style="text-align: center;">{{Math.round(row.avggas)}}</td>-->
|
|
345
|
+
<td>{{row.f_meternumber}}</td>
|
|
346
|
+
<td>{{row.f_meter_base}}</td>
|
|
347
|
+
<td id="hand-creat" style="display: flex;justify-content: space-between;align-items: center">
|
|
348
|
+
<b>{{row.f_tablebase}}</b>
|
|
349
|
+
<button type="button" name="button" class="button_search button_spacing width-60"
|
|
350
|
+
@click.stop="$parent.$parent.$parent.amend(row)">修正
|
|
351
|
+
</button>
|
|
352
|
+
</td>
|
|
353
|
+
<td style="text-align: center;">{{row.f_oughtamount}}</td>
|
|
354
|
+
<td style="text-align: center;">{{row.f_adjustment_volume}}</td>
|
|
355
|
+
<td style="text-align: center;">{{row.f_oughtfee}}</td>
|
|
356
|
+
<td>{{row.f_result_state}}</td>
|
|
357
|
+
<td><nobr>{{row.f_last_input_date}}</nobr></td>
|
|
358
|
+
<td><nobr>{{row.f_hand_date}}</nobr></td>
|
|
359
|
+
<td><nobr>{{row.f_input_date}}</nobr></td>
|
|
360
|
+
<td> <nobr>{{row.f_book_name}} </nobr></td>
|
|
361
|
+
<td> <nobr>{{row.f_meter_book_sort}} </nobr></td>
|
|
362
|
+
<td>{{row.f_adjustable_name}}</td>
|
|
363
|
+
<td>{{row.f_inputtor}}</td>
|
|
364
|
+
<td style="text-align: center;"><nobr>
|
|
365
|
+
<img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="50" :height="50"></img-self>
|
|
366
|
+
|
|
367
|
+
<!-- <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>-->
|
|
368
|
+
<button v-if="row.f_notified_path" class="btn btn-link" @click.stop="$parent.$parent.$parent.imgShow(row.f_notified_path)">图像识别</button>
|
|
369
|
+
</nobr></td>
|
|
370
|
+
</template>
|
|
371
|
+
</data-grid>
|
|
372
|
+
</criteria-paged>
|
|
373
|
+
<!-- <table class="table-hover">-->
|
|
374
|
+
<!-- <tr style="position: relative" class="table-bordered">-->
|
|
375
|
+
<!-- <td-->
|
|
376
|
+
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">-->
|
|
377
|
+
<!-- 汇总信息-->
|
|
378
|
+
<!-- </td>-->
|
|
379
|
+
<!-- <td-->
|
|
380
|
+
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
|
|
381
|
+
<!-- 支付宝金额汇总: {{sumsmodel.f_total_charge}}-->
|
|
382
|
+
<!-- </td>-->
|
|
383
|
+
<!-- <td-->
|
|
384
|
+
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
|
|
385
|
+
<!-- 收费金额汇总: {{sumsmodel.f_collection}}-->
|
|
386
|
+
<!-- </td>-->
|
|
387
|
+
<!-- <td-->
|
|
388
|
+
<!-- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
|
|
389
|
+
<!-- 差额汇总: {{((sumsmodel.f_total_charge -0) - (sumsmodel.f_collection -0)).toFixed(2)}}-->
|
|
390
|
+
<!-- </td>-->
|
|
391
|
+
<!-- </tr>-->
|
|
392
|
+
<!-- </table>-->
|
|
393
|
+
</div>
|
|
394
|
+
</div>
|
|
395
|
+
<modal :show.sync="imgshow" v-ref:modal backdrop="true">
|
|
396
|
+
<header slot="modal-header" class="modal-header">
|
|
397
|
+
抄表图像识别照片
|
|
398
|
+
</header>
|
|
399
|
+
<article slot="modal-body" class="modal-body">
|
|
400
|
+
<div class="from-group">
|
|
401
|
+
<img-self :src="imgfilename" width="500" height="500"></img-self>
|
|
402
|
+
</div>
|
|
403
|
+
</article>
|
|
404
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
405
|
+
<button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
|
|
406
|
+
</footer>
|
|
407
|
+
</modal>
|
|
408
|
+
</template>
|
|
409
|
+
<script>
|
|
410
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
411
|
+
import Vue from 'vue'
|
|
412
|
+
import * as Util from '../../../Util'
|
|
413
|
+
|
|
414
|
+
let readyGen = async function (self) {
|
|
415
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
|
|
416
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
417
|
+
await self.$LoadParams.loadMeterBook(self.f_filialeid)
|
|
418
|
+
self.loadMeterBooks()
|
|
419
|
+
self.getaddress()
|
|
420
|
+
await self.$LoadParams.loadParam(self.f_filialeid)
|
|
421
|
+
self.getPricenames()
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
export default {
|
|
425
|
+
title: '机表抄表审核',
|
|
426
|
+
data () {
|
|
427
|
+
return {
|
|
428
|
+
// 请求对象(批量导入,查询进度使用)
|
|
429
|
+
HttpReset: new HttpResetClass(),
|
|
430
|
+
timer: null,
|
|
431
|
+
model: new PagedList('rs/sql/getAuditMachineHand', 50, {orderitem: this.orderDefault ? '"' + this.orderDefault + ' "' : `'f_hand_date desc'`}),
|
|
432
|
+
initres: {
|
|
433
|
+
org: [this.$login.f.orgid],
|
|
434
|
+
dep: [],
|
|
435
|
+
user: []
|
|
436
|
+
},
|
|
437
|
+
config: {
|
|
438
|
+
examine: false
|
|
439
|
+
},
|
|
440
|
+
imgfilename: '',
|
|
441
|
+
// 小区
|
|
442
|
+
residentialArea: [],
|
|
443
|
+
inputtouPerson: [],
|
|
444
|
+
imgshow: false,
|
|
445
|
+
criteriaShow: false,
|
|
446
|
+
orderDefault: 'f_hand_date',
|
|
447
|
+
orgCondtionStr: '',
|
|
448
|
+
excelCondition: '',
|
|
449
|
+
fields: {
|
|
450
|
+
'f_userinfo_code': '客户编号',
|
|
451
|
+
'f_user_name': '客户名称',
|
|
452
|
+
'f_address': '客户地址',
|
|
453
|
+
'f_user_level': '用户等级',
|
|
454
|
+
'f_balance': '上期结余',
|
|
455
|
+
'f_meternumber': '表号',
|
|
456
|
+
'f_meter_base': '上期底数',
|
|
457
|
+
'f_tablebase': '本期底数',
|
|
458
|
+
'f_oughtamount': '应交气量',
|
|
459
|
+
'f_adjustment_volume': '增量值',
|
|
460
|
+
'f_oughtfee': '应交金额',
|
|
461
|
+
'f_result_state': '抄表结果状态',
|
|
462
|
+
'f_last_input_date': '上次抄表录入日期',
|
|
463
|
+
'f_hand_date': '下发日期',
|
|
464
|
+
'f_input_date': '抄表录入日期',
|
|
465
|
+
'f_book_name': '抄表册',
|
|
466
|
+
'f_adjustable_name': '调压箱名称',
|
|
467
|
+
'f_inputtor': '抄表员'
|
|
468
|
+
},
|
|
469
|
+
auditState: [{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
|
|
470
|
+
auditState1: [{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
|
|
471
|
+
meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
|
|
472
|
+
resultstate: this.$appdata.getParam('抄表结果状态'),
|
|
473
|
+
meterstates: this.$appdata.getParam('抄表状态') ? [{
|
|
474
|
+
label: '全部',
|
|
475
|
+
value: ''
|
|
476
|
+
}, ...this.$appdata.getParam('抄表状态')] : [],
|
|
477
|
+
usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
|
|
478
|
+
userlevels: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : [],
|
|
479
|
+
adjustablename: this.$appdata.getParam('调压箱名称') ? [{
|
|
480
|
+
label: '全部',
|
|
481
|
+
value: ''
|
|
482
|
+
}, ...this.$appdata.getParam('调压箱名称')] : [],
|
|
483
|
+
meterbooks: [],
|
|
484
|
+
orderFields: {
|
|
485
|
+
f_userinfo_id: 'no'
|
|
486
|
+
},
|
|
487
|
+
f_filialeid: this.$login.f.orgid,
|
|
488
|
+
priceNames: [],
|
|
489
|
+
// 公司下拉
|
|
490
|
+
curorgid: [this.$login.f.orgid]
|
|
491
|
+
}
|
|
492
|
+
},
|
|
493
|
+
props: [],
|
|
494
|
+
beforeDestroy () {
|
|
495
|
+
// 销毁定时器
|
|
496
|
+
if (this.timer) clearInterval(this.timer)
|
|
497
|
+
},
|
|
498
|
+
ready () {
|
|
499
|
+
this.model.pageSizeMax = 9999999
|
|
500
|
+
readyGen(this)
|
|
501
|
+
},
|
|
502
|
+
methods: {
|
|
503
|
+
getPricenames () {
|
|
504
|
+
let filialeid = this.f_filialeid
|
|
505
|
+
let result = [{label: '全部', value: ''}]
|
|
506
|
+
console.log('this.$GetSaleParam.prices', this.$GetSaleParam)
|
|
507
|
+
console.log('filialeid', filialeid)
|
|
508
|
+
this.$GetSaleParam.prices.forEach((item) => {
|
|
509
|
+
if (item.f_state === '有效' && filialeid == item.f_filialeid) {
|
|
510
|
+
let value = {
|
|
511
|
+
label: item.f_price_name,
|
|
512
|
+
value: item
|
|
513
|
+
}
|
|
514
|
+
result.push(value)
|
|
515
|
+
}
|
|
516
|
+
})
|
|
517
|
+
this.priceNames = Array.from(new Set(result))
|
|
518
|
+
},
|
|
519
|
+
// 修正本期底数
|
|
520
|
+
amend (row) {
|
|
521
|
+
let tablebase = window.prompt('请输入你要修正的底数值,上期底数:' + row.f_meter_base)
|
|
522
|
+
if (!tablebase) return
|
|
523
|
+
if (tablebase < 0) {
|
|
524
|
+
this.$showAlert(`底数不能小于0,请注意!`, 'warning', 2000)
|
|
525
|
+
return
|
|
526
|
+
} else if (tablebase - parseInt(tablebase) !== 0) {
|
|
527
|
+
this.$showAlert(`底数只能输入整数,请注意!`, 'warning', 2000)
|
|
528
|
+
return
|
|
529
|
+
} else if (tablebase < row.f_last_tablebase && !row.f_capacity) {
|
|
530
|
+
this.$showAlert(`本期表底数不能低于上期表底数`, 'warning', 2000)
|
|
531
|
+
return
|
|
532
|
+
} else {
|
|
533
|
+
if (tablebase < row.f_last_tablebase) {
|
|
534
|
+
this.$showMessage('本次抄表已超越最大量程, 请熟知!')
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
let oughtamount = null
|
|
538
|
+
if (tablebase) {
|
|
539
|
+
if (row.f_share_gas) {
|
|
540
|
+
oughtamount = (tablebase - 0 - (row.f_last_tablebase - 0)).toFixed(4) + (row.f_share_gas > 0 ? '+' : '') + row.f_share_gas.toFixed(2)
|
|
541
|
+
} else {
|
|
542
|
+
if (row.f_capacity && row.f_capacity > 0 && tablebase < row.f_last_tablebase) {
|
|
543
|
+
oughtamount = (tablebase - 0 + (row.f_capacity - row.f_last_tablebase)).toFixed(2)
|
|
544
|
+
} else {
|
|
545
|
+
oughtamount = (tablebase - 0 - (row.f_last_tablebase - 0)).toFixed(2)
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
} else {
|
|
549
|
+
oughtamount = 0
|
|
550
|
+
}
|
|
551
|
+
let handplan = {
|
|
552
|
+
id: row.id,
|
|
553
|
+
f_tablebase: tablebase,
|
|
554
|
+
f_oughtamount: oughtamount
|
|
555
|
+
}
|
|
556
|
+
this.$resetpost('rs/entity/t_handplan', handplan, {resolveMsg: '修正成功', rejectMsg: '抄表数据修正出错!!!'}).then((res) => {
|
|
557
|
+
row.f_tablebase = tablebase
|
|
558
|
+
row.f_oughtamount = oughtamount
|
|
559
|
+
})
|
|
560
|
+
},
|
|
561
|
+
async allsuccess () {
|
|
562
|
+
let res = await this.$showMessage('确定通过全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
|
|
563
|
+
let condition = []
|
|
564
|
+
let uuid = this.$login.guid()
|
|
565
|
+
if (res === 'confirm') {
|
|
566
|
+
let rowdata = this.$refs.paged.$refs.grid.getRowData()
|
|
567
|
+
if (rowdata.length > 0) {
|
|
568
|
+
for (let i = 0; i < rowdata.length; i++) {
|
|
569
|
+
let temp = {
|
|
570
|
+
f_hand_id: rowdata[i].id,
|
|
571
|
+
// 本次表底数
|
|
572
|
+
f_tablebase: rowdata[i].f_tablebase,
|
|
573
|
+
// 表类型
|
|
574
|
+
f_meter_classify: rowdata[i].f_meter_classify,
|
|
575
|
+
// 气表品牌
|
|
576
|
+
f_meter_brand: rowdata[i].f_meter_brand
|
|
577
|
+
}
|
|
578
|
+
condition.push(temp)
|
|
579
|
+
}
|
|
580
|
+
let data = {
|
|
581
|
+
uuid: uuid,
|
|
582
|
+
condition: condition,
|
|
583
|
+
f_audit_person: this.$login.f.name
|
|
584
|
+
}
|
|
585
|
+
try {
|
|
586
|
+
this.$resetpost('rs/handPlanAudit/allAudit', data, {resolveMsg: null, rejectMsg: null}, 500)
|
|
587
|
+
} catch (e) {}
|
|
588
|
+
} else {
|
|
589
|
+
let data = {
|
|
590
|
+
uuid: uuid,
|
|
591
|
+
sqlName: 'getAuditMachineHand',
|
|
592
|
+
condition: this.excelCondition,
|
|
593
|
+
data: {
|
|
594
|
+
condition: this.excelCondition
|
|
595
|
+
},
|
|
596
|
+
f_audit_person: this.$login.f.name
|
|
597
|
+
}
|
|
598
|
+
try {
|
|
599
|
+
this.$resetpost('rs/handPlanAudit/allAuditByCondition', data, {resolveMsg: null, rejectMsg: null}, 500)
|
|
600
|
+
} catch (e) {}
|
|
601
|
+
}
|
|
602
|
+
this.$showMessage(`正在批量处理中, 请耐心等待...`, [])
|
|
603
|
+
// 启动定时器定时查询处理结果
|
|
604
|
+
this.timer = setInterval(async () => {
|
|
605
|
+
let res = await this.HttpReset.load('POST', 'rs/logic/getBatchOperaPro', {data: {uuid: uuid}}, {resolveMsg: null, rejectMsg: null})
|
|
606
|
+
this.$showMessage(`正在批量处理中, 请耐心等待>>>${res.data.n}/${rowdata.length}`, [])
|
|
607
|
+
if (res.data.msg || res.data.error) {
|
|
608
|
+
clearInterval(this.timer)
|
|
609
|
+
this.$closeMessage()
|
|
610
|
+
if (res.data.error) {
|
|
611
|
+
this.$showAlert(`${res.data.error}`, 'danger')
|
|
612
|
+
return
|
|
613
|
+
}
|
|
614
|
+
await this.$showMessage(`审核总条数: ${res.data.sum}, 成功${res.data.success}条, 失败${res.data.fail}条`)
|
|
615
|
+
this.search()
|
|
616
|
+
}
|
|
617
|
+
}, 5000)
|
|
618
|
+
}
|
|
619
|
+
},
|
|
620
|
+
async allfaild () {
|
|
621
|
+
let res = await this.$showMessage('确定作废全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
|
|
622
|
+
let condition = '('
|
|
623
|
+
if (res === 'confirm') {
|
|
624
|
+
let rowdata = this.$refs.paged.$refs.grid.getRowData()
|
|
625
|
+
if (rowdata.length > 0) {
|
|
626
|
+
for (let i = 0; i < rowdata.length; i++) {
|
|
627
|
+
condition += `'` + rowdata[i].id + `',`
|
|
628
|
+
}
|
|
629
|
+
condition = condition.substring(0, condition.length - 1)
|
|
630
|
+
condition += ')'
|
|
631
|
+
let sql = `UPDATE t_handplan SET f_oughtamount=0,f_tablebase=0,f_input_date=null,f_meter_source=null,f_audit_person = '${this.$login.f.name}',f_audit_date = getDate(),f_meter_state = '未抄表' WHERE id in ${condition}`
|
|
632
|
+
await this.$resetpost('rs/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
|
|
633
|
+
this.search()
|
|
634
|
+
} else {
|
|
635
|
+
this.$showMessage('暂无数据,无法作废当前所有抄表')
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
},
|
|
639
|
+
sort (field, rule) {
|
|
640
|
+
// 将所有排序方式设为不排序,实现相互排斥
|
|
641
|
+
for (let key in this.orderFields) {
|
|
642
|
+
if (key === field) {
|
|
643
|
+
this.orderFields[key] = rule
|
|
644
|
+
} else {
|
|
645
|
+
this.orderFields[key] = 'no'
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
// 如果新规则不排序,还原为默认排序
|
|
649
|
+
if (rule === 'no') {
|
|
650
|
+
this.model.paramSource.orderitem = `'${this.orderDefault}'`
|
|
651
|
+
} else {
|
|
652
|
+
this.model.paramSource.orderitem = `'${field} ${rule}'`
|
|
653
|
+
}
|
|
654
|
+
this.search()
|
|
655
|
+
},
|
|
656
|
+
hidden () {
|
|
657
|
+
this.criteriaShow = !this.criteriaShow
|
|
658
|
+
},
|
|
659
|
+
getRes (obj) {
|
|
660
|
+
this.orgCondtionStr = obj
|
|
661
|
+
},
|
|
662
|
+
view (row) {
|
|
663
|
+
this.$parent.showupload = true
|
|
664
|
+
this.$parent.row = row
|
|
665
|
+
},
|
|
666
|
+
imgclose () {
|
|
667
|
+
this.imgshow = false
|
|
668
|
+
},
|
|
669
|
+
imgShow (val) {
|
|
670
|
+
console.log('-----------val2:', val)
|
|
671
|
+
this.imgfilename = `rs/image/file/` + val
|
|
672
|
+
console.log('-----------imgfilename2:', this.imgfilename)
|
|
673
|
+
this.imgshow = true
|
|
674
|
+
},
|
|
675
|
+
async getaddress () {
|
|
676
|
+
console.log('开始获取小区')
|
|
677
|
+
let HttpReset = new HttpResetClass()
|
|
678
|
+
var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
|
|
679
|
+
data: {
|
|
680
|
+
condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
|
|
681
|
+
}
|
|
682
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
683
|
+
console.log('小区', data)
|
|
684
|
+
let house = []
|
|
685
|
+
house.push()
|
|
686
|
+
for (let row of data.data) {
|
|
687
|
+
console.log('开始保存小区')
|
|
688
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
689
|
+
}
|
|
690
|
+
this.residentialArea = house
|
|
691
|
+
},
|
|
692
|
+
search () {
|
|
693
|
+
this.$refs.paged.$refs.cri.search()
|
|
694
|
+
},
|
|
695
|
+
clear () {
|
|
696
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
697
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
698
|
+
})
|
|
699
|
+
},
|
|
700
|
+
selfSearch (args) {
|
|
701
|
+
if (!this.orgCondtionStr) {
|
|
702
|
+
args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
|
|
703
|
+
} else {
|
|
704
|
+
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
705
|
+
}
|
|
706
|
+
// 抄表员查询条件
|
|
707
|
+
this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
|
|
708
|
+
if (this.inputtouPerson.length !== 0) {
|
|
709
|
+
let str = JSON.stringify(this.inputtouPerson)
|
|
710
|
+
str = str.replace(/"/g, `'`)
|
|
711
|
+
str = str.replace(/\[/g, ``)
|
|
712
|
+
str = str.replace(/\]/g, ``)
|
|
713
|
+
console.log('=====抄表员model22222222222绑定====', str)
|
|
714
|
+
// 查询多个抄表员时条件
|
|
715
|
+
args.condition += ` and f_inputtor in ( ${str} )`
|
|
716
|
+
}
|
|
717
|
+
this.excelCondition = args.condition
|
|
718
|
+
this.$refs.paged.$refs.grid.selectInit()
|
|
719
|
+
this.model.search(args.condition, args.model)
|
|
720
|
+
},
|
|
721
|
+
pass (row) {
|
|
722
|
+
let param = {
|
|
723
|
+
f_meter_classify: row.f_meter_classify,
|
|
724
|
+
f_meter_brand: row.f_meter_brand,
|
|
725
|
+
f_hand_id: row.id,
|
|
726
|
+
f_operator: Vue.$login.f.name,
|
|
727
|
+
f_tablebase: row.f_tablebase,
|
|
728
|
+
f_userinfo_id: row.f_userinfo_id,
|
|
729
|
+
f_audit_person: Vue.$login.f.name,
|
|
730
|
+
f_adjustment_volume: row.f_adjustment_volume
|
|
731
|
+
}
|
|
732
|
+
this.$resetpost('rs/logic/sale_commonEnter', {data: param}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
733
|
+
row.f_meter_state = res.data.f_meter_state
|
|
734
|
+
row.f_whether_pay = res.data.f_whether_pay
|
|
735
|
+
row.f_oughtfee = res.data.f_oughtfee
|
|
736
|
+
// this.$resetpost('rs/logic/getMeterSms', {data: param}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
737
|
+
// this.search()
|
|
738
|
+
let f_result_state = '正常'
|
|
739
|
+
if (row.f_result_state && row.f_result_state != '') {
|
|
740
|
+
f_result_state = row.f_result_state
|
|
741
|
+
}
|
|
742
|
+
let f_input_date = ''
|
|
743
|
+
if (row.f_input_date && row.f_input_date != '') {
|
|
744
|
+
f_input_date = ` ,f_input_date = '${row.f_input_date}'`
|
|
745
|
+
}
|
|
746
|
+
let sqldata = `update t_handplan set f_result_state = '${f_result_state}' ${f_input_date} where id = '${row.id}'`
|
|
747
|
+
this.$resetpost('rs/logic/runSQL', {data: {sql: sqldata}}, {resolveMsg: null, rejectMsg: '业务单号保存失败'})
|
|
748
|
+
// }).catch((error) => {
|
|
749
|
+
// row.state = '失败'
|
|
750
|
+
// Vue.set(row, 'error', JSON.stringify(error))
|
|
751
|
+
// this.speckText('抄表出错,请注意!')
|
|
752
|
+
// })
|
|
753
|
+
this.search()
|
|
754
|
+
}).catch((error) => {
|
|
755
|
+
row.state = '失败'
|
|
756
|
+
Vue.set(row, 'error', JSON.stringify(error))
|
|
757
|
+
Vue.showAlert(`审核失败: ${JSON.stringify(error)}`, 'danger', 0)
|
|
758
|
+
this.speckText('抄表出错,请注意!')
|
|
759
|
+
})
|
|
760
|
+
},
|
|
761
|
+
nopass (row) {
|
|
762
|
+
console.log('不通过。。。', row)
|
|
763
|
+
let handplan = {
|
|
764
|
+
id: row.id,
|
|
765
|
+
f_oughtamount: 0,
|
|
766
|
+
f_tablebase: 0,
|
|
767
|
+
f_input_date: null,
|
|
768
|
+
f_meter_state: '未抄表',
|
|
769
|
+
f_meter_source: null,
|
|
770
|
+
f_audit_person: Vue.$login.f.name
|
|
771
|
+
}
|
|
772
|
+
this.$resetpost('rs/entity/t_handplan', handplan, {
|
|
773
|
+
resolveMsg: null,
|
|
774
|
+
rejectMsg: '未通过,抄表数据返回未抄表保存出错!!!'
|
|
775
|
+
}).then((res) => {
|
|
776
|
+
this.search()
|
|
777
|
+
})
|
|
778
|
+
},
|
|
779
|
+
loadMeterBooks () {
|
|
780
|
+
this.meterbooks = this.$GetSaleParam.getMeterBooks()
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
},
|
|
784
|
+
computed: {
|
|
785
|
+
inputtores () {
|
|
786
|
+
// 获取抄表员
|
|
787
|
+
console.log('获取抄表员', this.$login.f)
|
|
788
|
+
let rs = []
|
|
789
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
790
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
791
|
+
let temp = {
|
|
792
|
+
label: this.$login.f.f_gasman[i].name,
|
|
793
|
+
value: this.$login.f.f_gasman[i].name
|
|
794
|
+
}
|
|
795
|
+
rs.push(temp)
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
this.inputtores2 = rs
|
|
799
|
+
return [...rs]
|
|
800
|
+
}
|
|
801
|
+
},
|
|
802
|
+
watch: {
|
|
803
|
+
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
</script>
|
|
@@ -28,4 +28,6 @@ export default function () {
|
|
|
28
28
|
Vue.component('charge-list', (resolve) => { require(['./ChargeList'], resolve) })
|
|
29
29
|
// 操作记录列表,可以切换查询用户列表的操作区域
|
|
30
30
|
Vue.component('card-list', (resolve) => { require(['./CardList'], resolve) })
|
|
31
|
+
// 机表抄表审核
|
|
32
|
+
Vue.component('machine-hand-audit', (resolve) => { require(['./machineHandAudit'], resolve) })
|
|
31
33
|
}
|