sale-client 3.6.376 → 3.6.377

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": "sale-client",
3
- "version": "3.6.376",
3
+ "version": "3.6.377",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -475,7 +475,7 @@
475
475
  }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
476
476
  let redata = []
477
477
  req.data.forEach((row) => {
478
- if(!row.f_residential_area.includes('L')){
478
+ if (row.f_residential_area && !row.f_residential_area.includes('L')) {
479
479
  redata.push({
480
480
  label: row.f_residential_area,
481
481
  value: row.id,
@@ -485,7 +485,7 @@
485
485
  }
486
486
  })
487
487
  this.areaslist = redata
488
- console.log('watch:areaslist',redata)
488
+ console.log('watch:areaslist', redata)
489
489
  },
490
490
  // 省/市/区变化
491
491
  async pcdChange (val) {
@@ -51,14 +51,15 @@
51
51
  async confirm () {
52
52
  await this.$LogicService.meterDisable(this.model, this.row)
53
53
  let array = [{
54
- f_user_id: this.row.f_userfiles_id,
54
+ f_user_id: this.row.f_user_id,
55
+ f_userfiles_id: this.row.f_userfiles_id,
55
56
  f_alias: this.row.f_alias,
56
57
  f_userinfo_id: this.row.f_userinfo_id,
57
58
  f_orgname: this.$login.f.orgs,
58
59
  f_orgid: this.$login.f.orgid,
59
60
  f_meternumber: this.row.f_meternumber
60
61
  }]
61
- if(this.row.f_meter_type ==='物联网表') {
62
+ if (this.row.f_meter_type === '物联网表') {
62
63
  await this.$resetpost('rs/logic/iot_instructUpdateAndDelect',
63
64
  {
64
65
  data: {
@@ -0,0 +1,839 @@
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">&emsp;&emsp;至&emsp;</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,orderitem: $parent.$parent.orderDefault}"
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
+ v-show="model.f_state == '待审核' && $parent.$parent.auditStateShow" @click="$parent.$parent.allsuccess()" v-el:cx>全部通过</button>
51
+ <button class="button_search button_spacing width-60"
52
+ v-show="model.f_state == '待审核' && $parent.$parent.auditStateShow" @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">表&ensp;编&ensp;号</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">表&emsp;&emsp;号</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">小&ensp;&ensp;&ensp;&ensp;区</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">楼&emsp;&emsp;栋</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">单&emsp;&emsp;元</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">楼&emsp;&emsp;层</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">门&ensp;牌&ensp;号</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">抄&ensp;表&ensp;员</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_state" v-model="model.f_meter_state"
151
+ :options='$parent.$parent.meterstates' placeholder='抄表状态'
152
+ style="width:60%"
153
+ :value-single="true"
154
+ close-on-select
155
+ condition="f_meter_state = '{}'"></v-select>
156
+ </div>
157
+ <div class="col-sm-2 form-group">
158
+ <label class="font_normal_body">审核状态</label>
159
+ <v-select :value.sync="model.f_audit_state" v-model="model.f_audit_state"
160
+ :options='$parent.$parent.auditstates' placeholder='审核状态'
161
+ style="width:60%"
162
+ :value-single="true"
163
+ close-on-select
164
+ condition="f_audit_state = '{}'"></v-select>
165
+ </div>
166
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
167
+ v-ref:sel></res-select-group>
168
+ <div class="form-group col-sm-2">
169
+ <label class="font_normal_body">气价名称</label>
170
+ <v-select id="f_price_name"
171
+ v-model="model.price_name"
172
+ placeholder='气价名称'
173
+ style="width: 60%"
174
+ :value.sync="model.price_name"
175
+ :options='$parent.$parent.priceNames'
176
+ condition="f_price_name = '{}'"
177
+ close-on-select></v-select>
178
+ </div>
179
+ </div>
180
+
181
+ </div>
182
+ </criteria>
183
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid id="hand_manager_grid" :optional="true">
184
+ <template partial='head'>
185
+ <tr>
186
+ <th> <nobr>审核</nobr></th>
187
+ <!--<th><input type='checkbox' v-model="$parent.$parent.$parent.all" @change="$parent.$parent.$parent.chooseAll"></th>-->
188
+ <th>
189
+ <nobr>序号</nobr>
190
+ </th>
191
+ <th>
192
+ <nobr>客户编号
193
+ <!-- <data-order field="f_userinfo_code" name="客户编号"-->
194
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>-->
195
+ </nobr>
196
+ </th>
197
+ <!-- <th>-->
198
+ <!-- <nobr>表编号</nobr>-->
199
+ <!-- </th>-->
200
+ <!-- <th>基本信息</th>-->
201
+ <th>
202
+ <nobr>
203
+ 基本信息
204
+ <!-- <data-order field="f_address" name="基本信息"-->
205
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>-->
206
+ </nobr>
207
+ </th>
208
+ <th>
209
+ <nobr>用户等级</nobr>
210
+ </th>
211
+ <!--<th><nobr><data-order field="f_building" name="楼号"-->
212
+ <!--:order.sync="$parent.$parent.$parent.orderFields.f_building"></data-order></nobr>-->
213
+ <!--</th>-->
214
+ <!--<th><nobr><data-order field="f_unit" name="单元号"-->
215
+ <!--:order.sync="$parent.$parent.$parent.orderFields.f_unit"></data-order></nobr>-->
216
+ <!--</th>-->
217
+ <!--<th><nobr><data-order field="f_room" name="房号"-->
218
+ <!--:order.sync="$parent.$parent.$parent.orderFields.f_room"></data-order></nobr>-->
219
+ <!--</th>-->
220
+ <th>
221
+ <nobr>上期结余</nobr>
222
+ </th>
223
+ <!-- <th>-->
224
+ <!-- <nobr>平均用气量</nobr>-->
225
+ <!-- </th>-->
226
+ <th>
227
+ <nobr>表号</nobr>
228
+ </th>
229
+ <th><nobr>附件</nobr></th>
230
+ <th>
231
+ <nobr>上期底数</nobr>
232
+ </th>
233
+ <th>
234
+ <nobr>本期底数</nobr>
235
+ </th>
236
+ <th>
237
+ <nobr>备注</nobr>
238
+ </th>
239
+
240
+ <th>
241
+ <nobr>应交气量</nobr>
242
+ </th>
243
+ <th>
244
+ <nobr>增量值</nobr>
245
+ </th>
246
+ <!--增加应交金额-->
247
+ <th>
248
+ <nobr>应交金额</nobr>
249
+ </th>
250
+ <th>
251
+ <nobr>是否欠费</nobr>
252
+ </th>
253
+ <th>
254
+ <nobr>抄表结果状态</nobr>
255
+ </th>
256
+ <!-- <th>上次抄表日期</th>-->
257
+ <th>
258
+ <nobr>
259
+ 上次抄表录入日期
260
+ <!-- <data-order field="f_last_input_date" name="上次抄表录入日期"-->
261
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_last_input_date"></data-order>-->
262
+ </nobr>
263
+ </th>
264
+ <!-- <th>下发日期</th>-->
265
+ <th>
266
+ <nobr>下发日期
267
+ <!-- <data-order field="f_hand_date" name="下发日期"-->
268
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_hand_date"></data-order>-->
269
+ </nobr>
270
+ </th>
271
+ <!-- <th>抄表日期</th>-->
272
+ <th>
273
+ <nobr>抄表录入日期
274
+ <!-- <data-order field="f_input_date" name="抄表录入日期"-->
275
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>-->
276
+ </nobr>
277
+ </th>
278
+ <!-- <th>抄表册</th>-->
279
+ <th>
280
+ <nobr>抄表册
281
+ <!-- <data-order field="f_book_name" name="抄表册"-->
282
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_book_name"></data-order>-->
283
+ </nobr>
284
+
285
+ </th>
286
+ <th>
287
+ <nobr>审核状态</nobr>
288
+ </th>
289
+ <th>
290
+ <nobr>审核原因</nobr>
291
+ </th>
292
+ <th>
293
+ <nobr>
294
+ <data-order field="f_meter_book_sort" name="表册顺序"
295
+ :order.sync="$parent.$parent.$parent.orderFields.f_meter_book_sort"></data-order>
296
+ </nobr>
297
+ </th>
298
+ <th>
299
+ <nobr>调压箱名称</nobr>
300
+ </th>
301
+ <th>
302
+ <nobr>抄表员</nobr>
303
+ </th>
304
+ <th>
305
+ <nobr>表前阀状态</nobr>
306
+ </th>
307
+ <th>
308
+ <nobr>防盗卡号</nobr>
309
+ </th>
310
+
311
+ <!-- <th><nobr>附件</nobr></th>-->
312
+ <!-- f_oughtfee-->
313
+ </tr>
314
+ </template>
315
+ <template partial='body'>
316
+ <td style="text-align: center;" class="row auto">
317
+ <nobr>
318
+ <button type="button" name="button" class="button_search button_spacing width-60"
319
+ @click.stop="$parent.$parent.$parent.pass(row)"
320
+ v-if="row.f_meter_state === '待审核'">通过
321
+ </button>
322
+
323
+ <button type="button" name="button" class="button_search button_spacing width-60"
324
+ @click.stop="$parent.$parent.$parent.showReasonModal(row)"
325
+ v-if="row.f_meter_state === '待审核' ">不通过
326
+ </button>
327
+ </nobr>
328
+ </td>
329
+ <!--<td style="text-align: center;">-->
330
+ <!--<input v-if="row.f_meter_state === '未下发'"-->
331
+ <!--:id="model.pageIndex" type='checkbox' @change="$parent.$parent.$parent.chooseOne($event,row,model.rows)"-->
332
+ <!--:checked="$parent.$parent.$parent.ischecked(row)"/>-->
333
+ <!--</td>-->
334
+ <td style="text-align: center;"><nobr>{{$index + 1}}</nobr></td>
335
+ <td><nobr>{{row.f_userinfo_code}}</nobr></td>
336
+ <!-- <td>{{row.f_user_id}}</td>-->
337
+ <td> <nobr>{{row.f_user_name}}&nbsp;&nbsp;{{row.f_address}} </nobr></td>
338
+ <td><nobr>{{row.f_user_level}}</nobr></td>
339
+ <!--<td>{{row.f_building}}</td>-->
340
+ <!--<td>{{row.f_unit}}</td>-->
341
+ <!--<td>{{row.f_room}}</td>-->
342
+ <td><nobr>{{row.f_userbalance}}</nobr></td>
343
+ <!-- <td style="text-align: center;">{{Math.round(row.avggas)}}</td>-->
344
+ <td><nobr>{{row.f_meternumber}}</nobr></td>
345
+ <td style="text-align: center;"><nobr>
346
+ <!-- <img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="50" :height="50"></img-self>-->
347
+ <!-- <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>-->
348
+ <button v-if="row.f_notified_path" class="btn btn-link" @click.stop="$parent.$parent.$parent.imgShow(row.f_notified_path)">图像识别1</button>
349
+ <br>
350
+ <button v-if="row.f_handplan_image" class="btn btn-link" @click.stop="$parent.$parent.$parent.imgShow(row.f_handplan_image)">图像识别2</button>
351
+ </nobr></td>
352
+ <td><nobr>{{row.f_meter_base}}</nobr></td>
353
+ <td id="hand-creat" style="display: flex;justify-content: space-between;align-items: center">
354
+ <nobr>
355
+ <b>{{row.f_tablebase}}</b>
356
+ <button type="button" name="button" class="button_search button_spacing width-60"
357
+ @click.stop="$parent.$parent.$parent.amend(row)">修正
358
+ </button>
359
+ </nobr>
360
+ </td>
361
+ <td><nobr>{{row.f_comments}}</nobr></td>
362
+ <td style="text-align: center;"><nobr>{{row.f_oughtamount}}</nobr></td>
363
+ <td style="text-align: center;"><nobr>{{row.f_adjustment_volume}}</nobr></td>
364
+ <td style="text-align: center;"><nobr>{{row.f_oughtfee}}</nobr></td>
365
+ <td style="text-align: center;"><nobr>{{row.f_isarrears}}</nobr></td>
366
+ <td><nobr>{{row.f_result_state}}</nobr></td>
367
+ <td><nobr>{{row.f_last_input_date}}</nobr></td>
368
+ <td><nobr>{{row.f_hand_date}}</nobr></td>
369
+ <td><nobr>{{row.f_input_date}}</nobr></td>
370
+ <td><nobr>{{row.f_book_name}} </nobr></td>
371
+ <td><nobr>{{row.f_audit_state}} </nobr></td>
372
+ <td><nobr>{{row.f_review_reason}} </nobr></td>
373
+ <td><nobr>{{row.f_meter_book_sort}} </nobr></td>
374
+ <td><nobr>{{row.f_adjustable_name}}</nobr></td>
375
+ <td><nobr>{{row.f_inputtor}}</nobr></td>
376
+ <td><nobr>{{row.f_bqf_state}}</nobr></td>
377
+ <td><nobr>{{row.f_defendcard}}</nobr></td>
378
+
379
+
380
+ </template>
381
+ </data-grid>
382
+ </criteria-paged>
383
+
384
+ </div>
385
+ </div>
386
+
387
+
388
+ <!-- 不通过原因弹框-->
389
+ <modal :show.sync="showReason" v-ref:modal backdrop="true">
390
+ <header slot="modal-header" class="modal-header">
391
+ 请输入审核不通过原因
392
+ </header>
393
+ <article slot="modal-body" class="modal-body">
394
+ <textarea cols="100" rows="10" style="resize: none;" v-model="reasonText"></textarea>
395
+ </article>
396
+ <footer slot="modal-footer" class="modal-footer">
397
+ <button type="button" class="btn button_search" @click=subReason>确定</button>
398
+ <button type="button" class="btn btn-success" style="padding: 8px 12px;" @click=closeReason>关闭</button>
399
+ </footer>
400
+ </modal>
401
+ </template>
402
+ <script>
403
+ import {HttpResetClass, PagedList} from 'vue-client'
404
+ import Vue from 'vue'
405
+ import * as Util from '../../../../../Util'
406
+
407
+ let readyGen = async function (self) {
408
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
409
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
410
+ await self.$LoadParams.loadMeterBook(self.f_filialeid)
411
+ self.loadMeterBooks()
412
+ self.$refs.paged.$refs.cri.model.f_meter_state = '待审核'
413
+ self.getaddress()
414
+ await self.$LoadParams.loadParam(self.f_filialeid)
415
+ self.getPricenames()
416
+ }
417
+
418
+ export default {
419
+ title: '其他欠费审核',
420
+ data () {
421
+ return {
422
+ // 请求对象(批量导入,查询进度使用)
423
+ HttpReset: new HttpResetClass(),
424
+ timer: null,
425
+ model: new PagedList('rs/sql/getAuditOtherCharge', 50, {orderitem: this.orderDefault ? '"' + this.orderDefault + ' "' : `'f_hand_date desc'`}),
426
+ initres: {
427
+ org: [this.$login.f.orgid],
428
+ dep: [],
429
+ user: []
430
+ },
431
+ config: {
432
+ examine: false
433
+ },
434
+ imgfilename: '',
435
+ // 小区
436
+ residentialArea: [],
437
+ inputtouPerson: [],
438
+ imgshow: false,
439
+ nopassId: '',
440
+ showReason: false,
441
+ reasonText: '',
442
+ criteriaShow: false,
443
+ orderDefault: 'f_hand_date',
444
+ orgCondtionStr: '',
445
+ excelCondition: '',
446
+ fields: {
447
+ 'f_userinfo_code': '客户编号',
448
+ 'f_user_name': '客户名称',
449
+ 'f_address': '客户地址',
450
+ 'f_user_level': '用户等级',
451
+ 'f_userbalance': '上期结余',
452
+ 'f_meternumber': '表号',
453
+ 'f_meter_base': '上期底数',
454
+ 'f_tablebase': '本期底数',
455
+ 'f_oughtamount': '应交气量',
456
+ 'f_adjustment_volume': '增量值',
457
+ 'f_oughtfee': '应交金额',
458
+ 'f_result_state': '抄表结果状态',
459
+ 'f_audit_state': '审核状态',
460
+ 'f_last_input_date': '上次抄表录入日期',
461
+ 'f_hand_date': '下发日期',
462
+ 'f_input_date': '抄表录入日期',
463
+ 'f_book_name': '抄表册',
464
+ 'f_meter_book_sort': '表册顺序',
465
+ 'f_adjustable_name': '调压箱名称',
466
+ 'f_inputtor': '抄表员',
467
+ 'f_bqf_state': '表前阀状态',
468
+ 'f_defendcard': '防盗卡号',
469
+ 'f_comments': '备注'
470
+ },
471
+ auditState: [{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
472
+ auditState1: [{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
473
+ meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
474
+ resultstate: this.$appdata.getParam('抄表结果状态'),
475
+ meterstates: this.$appdata.getParam('抄表状态') ? [{
476
+ label: '全部',
477
+ value: ''
478
+ }, ...this.$appdata.getParam('抄表状态')] : [],
479
+ usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
480
+ userlevels: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : [],
481
+ auditstates: this.$appdata.getParam('抄表审核状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表审核状态')] : [],
482
+ auditStateShow: true,
483
+ adjustablename: this.$appdata.getParam('调压箱名称') ? [{
484
+ label: '全部',
485
+ value: ''
486
+ }, ...this.$appdata.getParam('调压箱名称')] : [],
487
+ meterbooks: [],
488
+ orderFields: {
489
+ f_userinfo_id: 'no'
490
+ },
491
+ f_filialeid: this.$login.f.orgid,
492
+ priceNames: [],
493
+ // 公司下拉
494
+ curorgid: [this.$login.f.orgid]
495
+ }
496
+ },
497
+ props: [],
498
+ beforeDestroy () {
499
+ // 销毁定时器
500
+ if (this.timer) clearInterval(this.timer)
501
+ },
502
+ ready () {
503
+ this.model.pageSizeMax = 9999999
504
+ readyGen(this)
505
+ },
506
+ methods: {
507
+ getPricenames () {
508
+ let filialeid = this.f_filialeid
509
+ let result = [{label: '全部', value: ''}]
510
+ console.log('this.$GetSaleParam.prices', this.$GetSaleParam)
511
+ console.log('filialeid', filialeid)
512
+ this.$GetSaleParam.prices.forEach((item) => {
513
+ if (item.f_state === '有效' && filialeid == item.f_filialeid) {
514
+ let value = {
515
+ label: item.f_price_name,
516
+ value: item
517
+ }
518
+ result.push(value)
519
+ }
520
+ })
521
+ this.priceNames = Array.from(new Set(result))
522
+ },
523
+ // 修正本期底数
524
+ amend (row) {
525
+ let tablebase = window.prompt('请输入你要修正的底数值,上期底数:' + row.f_meter_base)
526
+ if (!tablebase) return
527
+ if (tablebase < 0) {
528
+ this.$showAlert(`底数不能小于0,请注意!`, 'warning', 2000)
529
+ return
530
+ } else if (tablebase - parseInt(tablebase) !== 0) {
531
+ this.$showAlert(`底数只能输入整数,请注意!`, 'warning', 2000)
532
+ return
533
+ } else if (tablebase < row.f_last_tablebase && !row.f_capacity) {
534
+ this.$showAlert(`本期表底数不能低于上期表底数`, 'warning', 2000)
535
+ return
536
+ } else {
537
+ if (tablebase < row.f_last_tablebase) {
538
+ this.$showMessage('本次抄表已超越最大量程, 请熟知!')
539
+ }
540
+ }
541
+ let oughtamount = null
542
+ if (tablebase) {
543
+ if (row.f_share_gas) {
544
+ oughtamount = (tablebase - 0 - (row.f_last_tablebase - 0)).toFixed(4) + (row.f_share_gas > 0 ? '+' : '') + row.f_share_gas.toFixed(2)
545
+ } else {
546
+ if (row.f_capacity && row.f_capacity > 0 && tablebase < row.f_last_tablebase) {
547
+ oughtamount = (tablebase - 0 + (row.f_capacity - row.f_last_tablebase)).toFixed(2)
548
+ } else {
549
+ oughtamount = (tablebase - 0 - (row.f_last_tablebase - 0)).toFixed(2)
550
+ }
551
+ }
552
+ } else {
553
+ oughtamount = 0
554
+ }
555
+ let handplan = {
556
+ id: row.id,
557
+ f_tablebase: tablebase,
558
+ f_oughtamount: oughtamount
559
+ }
560
+ this.$resetpost('rs/entity/t_handplan', handplan, {resolveMsg: '修正成功', rejectMsg: '抄表数据修正出错!!!'}).then((res) => {
561
+ row.f_tablebase = tablebase
562
+ row.f_oughtamount = oughtamount
563
+ })
564
+ },
565
+ async allsuccess () {
566
+ let res = await this.$showMessage('确定通过全部欠费记录吗?操作后将不可取消', ['confirm', 'cancel'])
567
+ let condition = []
568
+ let uuid = this.$login.guid()
569
+ if (res === 'confirm') {
570
+ let rowdata = this.$refs.paged.$refs.grid.getRowData()
571
+ if (rowdata.length > 0) {
572
+ for (let i = 0; i < rowdata.length; i++) {
573
+ let temp = {
574
+ f_hand_id: rowdata[i].id,
575
+ // 本次表底数
576
+ f_tablebase: rowdata[i].f_tablebase,
577
+ // 表类型
578
+ f_meter_classify: rowdata[i].f_meter_classify,
579
+ // 气表品牌
580
+ f_meter_brand: rowdata[i].f_meter_brand
581
+ }
582
+ condition.push(temp)
583
+ }
584
+ let data = {
585
+ uuid: uuid,
586
+ condition: condition,
587
+ f_audit_person: this.$login.f.name
588
+ }
589
+ try {
590
+ this.$resetpost('rs/handPlanAudit/allAudit', data, {resolveMsg: null, rejectMsg: null}, 500)
591
+ } catch (e) {}
592
+ } else {
593
+ let data = {
594
+ uuid: uuid,
595
+ sqlName: 'getAuditMachineHand',
596
+ condition: this.excelCondition,
597
+ data: {
598
+ condition: this.excelCondition,
599
+ orderitem : ' id desc '
600
+ },
601
+ f_audit_person: this.$login.f.name
602
+ }
603
+ try {
604
+ this.$resetpost('rs/handPlanAudit/allAuditByCondition', data, {resolveMsg: null, rejectMsg: null}, 500)
605
+ } catch (e) {}
606
+ }
607
+ this.$showMessage(`正在批量处理中, 请耐心等待...`, [])
608
+ // 启动定时器定时查询处理结果
609
+ this.timer = setInterval(async () => {
610
+ let res = await this.HttpReset.load('POST', 'rs/logic/getBatchOperaPro', {data: {uuid: uuid}}, {resolveMsg: null, rejectMsg: null})
611
+ this.$showMessage(`正在批量处理中, 请耐心等待>>>${res.data.n}/${rowdata.length}`, [])
612
+ if (res.data.msg || res.data.error) {
613
+ clearInterval(this.timer)
614
+ this.$closeMessage()
615
+ if (res.data.error) {
616
+ this.$showAlert(`${res.data.error}`, 'danger')
617
+ return
618
+ }
619
+ await this.$showMessage(`审核总条数: ${res.data.sum}, 成功${res.data.success}条, 失败${res.data.fail}条`)
620
+ this.search()
621
+ }
622
+ }, 5000)
623
+ }
624
+ },
625
+ async allfaild () {
626
+ let res = await this.$showMessage('确定作废全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
627
+ let condition = '('
628
+ if (res === 'confirm') {
629
+ let rowdata = this.$refs.paged.$refs.grid.getRowData()
630
+ if (rowdata.length > 0) {
631
+ for (let i = 0; i < rowdata.length; i++) {
632
+ condition += `'` + rowdata[i].id + `',`
633
+ }
634
+ condition = condition.substring(0, condition.length - 1)
635
+ condition += ')'
636
+ 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 = '未抄表',f_audit_state = '审核不通过' WHERE id in ${condition}`
637
+ await this.$resetpost('rs/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
638
+ this.search()
639
+ } else {
640
+ this.$showMessage('暂无数据,无法作废当前所有抄表')
641
+ }
642
+ }
643
+ },
644
+ sort (field, rule) {
645
+ // 将所有排序方式设为不排序,实现相互排斥
646
+ for (let key in this.orderFields) {
647
+ if (key === field) {
648
+ this.orderFields[key] = rule
649
+ } else {
650
+ this.orderFields[key] = 'no'
651
+ }
652
+ }
653
+ // 如果新规则不排序,还原为默认排序
654
+ if (rule === 'no') {
655
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
656
+ } else {
657
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
658
+ this.orderDefault = `${field} ${rule}`
659
+ }
660
+ this.search()
661
+ },
662
+ hidden () {
663
+ this.criteriaShow = !this.criteriaShow
664
+ },
665
+ getRes (obj) {
666
+ this.orgCondtionStr = obj
667
+ },
668
+ view (row) {
669
+ this.$parent.showupload = true
670
+ this.$parent.row = row
671
+ },
672
+ imgclose () {
673
+ this.imgshow = false
674
+ },
675
+ imgShow (val) {
676
+ this.imgfilename = `rs/image/file/` + val
677
+ this.imgshow = true
678
+ },
679
+ async getaddress () {
680
+ console.log('开始获取小区')
681
+ let HttpReset = new HttpResetClass()
682
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
683
+ data: {
684
+ condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
685
+ }
686
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
687
+ console.log('小区', data)
688
+ let house = []
689
+ house.push()
690
+ for (let row of data.data) {
691
+ console.log('开始保存小区')
692
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
693
+ }
694
+ this.residentialArea = house
695
+ },
696
+ search () {
697
+ this.$refs.paged.$refs.cri.search()
698
+ },
699
+ clear () {
700
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
701
+ this.$refs.paged.$refs.cri.model[key] = []
702
+ })
703
+ },
704
+ selfSearch (args) {
705
+ if (!this.orgCondtionStr) {
706
+ args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
707
+ } else {
708
+ args.condition = `${args.condition}` + this.orgCondtionStr
709
+ }
710
+ if (args.model.f_meter_state === '待审核') {
711
+ this.auditStateShow = true
712
+ } else {
713
+ this.auditStateShow = false
714
+ }
715
+ this.excelCondition = args.condition
716
+ this.$refs.paged.$refs.grid.selectInit()
717
+ this.model.search(args.condition, args.model)
718
+ },
719
+ pass (row) {
720
+ let param = {
721
+ f_meter_classify: row.f_meter_classify,
722
+ f_meter_brand: row.f_meter_brand,
723
+ f_hand_id: row.id,
724
+ f_operator: Vue.$login.f.name,
725
+ f_tablebase: row.f_tablebase,
726
+ f_userinfo_id: row.f_userinfo_id,
727
+ f_audit_person: Vue.$login.f.name,
728
+ f_audit_state: '审核通过',
729
+ f_audit_date: Util.toStandardTimeString(),
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
+ showReasonModal(row){
762
+ this.showReason = true
763
+ this.nopassId = row.id
764
+ },
765
+ closeReason(){
766
+ this.showReason = false
767
+ this.reasonText = ''
768
+ this.nopassId = ''
769
+ },
770
+ subReason(){
771
+ this.nopass()
772
+ this.closeReason()
773
+ },
774
+ nopass () {
775
+ let handplan = {
776
+ id: this.nopassId,
777
+ f_oughtamount: 0,
778
+ f_tablebase: 0,
779
+ f_input_date: null,
780
+ f_meter_state: '未抄表',
781
+ f_audit_state: '审核不通过',
782
+ f_review_reason:this.reasonText,
783
+ f_meter_source: null,
784
+ f_audit_person: Vue.$login.f.name,
785
+ f_audit_date: Util.toStandardTimeString()
786
+ }
787
+ this.$resetpost('rs/entity/t_handplan', handplan, {
788
+ resolveMsg: null,
789
+ rejectMsg: '未通过,抄表数据返回未抄表保存出错!!!'
790
+ }).then((res) => {
791
+ this.search()
792
+ })
793
+ // let res;
794
+ // try {
795
+ // this.$androidUtil.isTest = true
796
+ // res = this.$androidUtil.bzLogic('updateFMeterState', {username:this.f_user_name}, {rejectMsg: null, resolve: null})
797
+ // console.log("updateFMeterState------------->",res)
798
+ // if(res.status === 200){
799
+ // this.$showMessage('推送手机端成功')
800
+ // }
801
+ // }catch (e) {
802
+ // console.log("updateFMeterState(err)------------->",res)
803
+ // console.log(e)
804
+ // this.$showMessage('推送手机端失败')
805
+ // }
806
+ },
807
+ loadMeterBooks () {
808
+ this.meterbooks = this.$GetSaleParam.getMeterBooks()
809
+ }
810
+
811
+ },
812
+ computed: {
813
+ inputtores () {
814
+ // 获取抄表员
815
+ console.log('获取抄表员', this.$login.f)
816
+ let rs = []
817
+ if (this.$login.f.f_gasman.length > 0) {
818
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
819
+ let temp = {
820
+ label: this.$login.f.f_gasman[i].name,
821
+ value: this.$login.f.f_gasman[i].name
822
+ }
823
+ rs.push(temp)
824
+ }
825
+ }
826
+ this.inputtores2 = rs
827
+ return [...rs]
828
+ }
829
+ },
830
+ watch: {
831
+
832
+ }
833
+ }
834
+ </script>
835
+ <style>
836
+ .modalContentRight {
837
+ float:right;
838
+ }
839
+ </style>
@@ -63,10 +63,10 @@
63
63
  <td style="text-align:center;">{{row.f_error_level}}</td>
64
64
  <td style="text-align:center;">{{row.f_error_type}}</td>
65
65
  <td style="text-align:center;">{{row.f_error_msg}}</td>
66
- <td style="text-align:center;" v-if="row.f_is_read == false" >
66
+ <td style="text-align:center;" v-if="row.f_is_read == false || row.f_is_read === 0" >
67
67
  <span ><a href="#" @click.stop="$parent.$parent.$parent.backSend1(row.id)">添加备注</a></span>
68
68
  </td>
69
- <td style="text-align:center;" v-if="row.f_is_read === true"><span title="备注信息:{{row.f_error_reason}}">备注信息</span></td>
69
+ <td style="text-align:center;" v-if="row.f_is_read === 1"><span title="备注信息:{{row.f_error_reason}}">备注信息:{{row.f_error_reason}}</span></td>
70
70
  </tr>
71
71
 
72
72
  </template>
@@ -495,6 +495,7 @@ export default {
495
495
  } else {
496
496
  this.$showAlert(`请先选择气表品牌`, 'warning', 2000)
497
497
  }
498
+ this.$refs.paged.$refs.grid.selectInit()
498
499
  // this.isCheckAll = false
499
500
  },
500
501
  showparam (setable) {
@@ -176,7 +176,7 @@
176
176
  <div class="col-sm-4">
177
177
  <label class="font_normal_body_new">是否自动阀控</label>
178
178
 
179
- <input class="input-underline" style="width:45%" :value="row.f_network_valve == null ? '否' : '是'" readonly>
179
+ <input class="input-underline" style="width:45%" :value="row.f_network_valve == '1' ? '否' : '是'" readonly>
180
180
  </div>
181
181
  </div>
182
182
  <div v-if="row.f_collection_type == '按气量'" >
@@ -283,10 +283,12 @@
283
283
  meterBrandName: this.row.f_alias,
284
284
  f_userfiles_id: this.row.f_userfiles_id
285
285
  }
286
- if (this.row.f_network_valve == null) {
287
- this.$resetpost('rs/logic/openzdfk', data, {resolveMsg: '开启自动阀控成功。', rejectMsg: '开启自动阀控失败!!!'})
286
+ if (this.row.f_network_valve !== '1') {
287
+ this.$resetpost('rs/logic/openzdfk', data, {resolveMsg: '关闭自动阀控成功。', rejectMsg: '关闭自动阀控失败!!!'})
288
+ this.row.f_network_valve = '1'
288
289
  } else {
289
- this.$resetpost('rs/logic/closezdfk', data, {resolveMsg: '关闭自动阀控成功。', rejectMsg: '关闭自动阀控失败!!!'})
290
+ this.$resetpost('rs/logic/closezdfk', data, {resolveMsg: '开启自动阀控成功。', rejectMsg: '开启自动阀控失败!!!'})
291
+ this.row.f_network_valve = null
290
292
  }
291
293
  },
292
294
  // 阀控管理
File without changes
@@ -1,2 +0,0 @@
1
- #Thu Aug 22 10:59:01 CST 2024
2
- gradle.version=5.2.1
File without changes