sale-client 3.5.54 → 3.5.55

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.5.54",
3
+ "version": "3.5.55",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -189,10 +189,10 @@ export default {
189
189
  return (num1 * multiple - num2 * multiple) / multiple
190
190
  },
191
191
  confirm () {
192
- if (this.owe.rows.length <= 0) {
193
- this.$showMessage('当前没有欠费!!')
194
- return
195
- }
192
+ // if (this.owe.rows.length <= 0) {
193
+ // this.$showMessage('当前没有欠费!!')
194
+ // return
195
+ // }
196
196
  // 如果有变更原因说明有变更
197
197
  if (this.data.f_collection < 0) {
198
198
  this.$showMessage('收款金额不能小于零!!')
@@ -7,9 +7,9 @@
7
7
  <div class="row">
8
8
  <div class="form-group col-sm-5">
9
9
  <!-- <label>用户编号:</label> -->
10
- <input class="input_search" condition="f_userinfo_code = '{}'" placeholder='客户编号' style="width: 80%"
10
+ <input class="input_search" condition="f_customer = '{}'" placeholder='团缴编号' style="width: 80%"
11
11
  type="text"
12
- v-model="model.f_userinfo_code">
12
+ v-model="model.f_customer">
13
13
  </div>
14
14
  <div class="form-group col-sm-4">
15
15
  <!-- <label>操作类型:</label> -->
@@ -235,7 +235,7 @@
235
235
  asideTitle: '用户操作',
236
236
  row: Object,
237
237
  comp: null,
238
- operationtypes: [{label: '团体收费', value: '团体收费'}, {label: '团体退费', value: '团体退费'}],
238
+ operationtypes: [{label: '全部', value: ''}],
239
239
  cancel_show: false,
240
240
  cancel_data: null,
241
241
  paytype: this.$appdata.getParam('付款方式'),
@@ -21,9 +21,9 @@
21
21
  <div
22
22
  :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
23
23
  class="form-group">
24
- <label class="font_normal_body">用户编号</label>
24
+ <label class="font_normal_body">团缴编号</label>
25
25
  <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code"
26
- condition="f_userinfo_code like '%{}%'" placeholder='用户编号'>
26
+ condition="f_userinfo_code like '%{}%'" placeholder='团缴编号'>
27
27
  </div>
28
28
  <div style="float:right;margin-top: 8px" class="span">
29
29
  <!-- <button class="button_spacing button_search" @click="$parent.$parent.updateAll()">批量维护</button>-->
@@ -110,7 +110,7 @@
110
110
  <!-- <input @keyup.enter="search" style="width:60%" type="checkbox" v-model='checked1' :checked="$parent.$parent.$parent.checked1"-->
111
111
  <!-- @click="$parent.$parent.$parent.checkedALL()"></th>-->
112
112
  <th><nobr>收费编号</nobr></th>
113
- <th><nobr>用户编号</nobr></th>
113
+ <th><nobr>团缴编号</nobr></th>
114
114
  <th><nobr>用户姓名</nobr></th>
115
115
  <th><nobr>收费形式</nobr></th>
116
116
  <th><nobr>是否有效</nobr></th>
@@ -205,7 +205,7 @@ const myMap = new Map()
205
205
  condition: '',
206
206
  getfield: {
207
207
  'id': '收费编号',
208
- 'f_userinfo_code': '用户编号',
208
+ 'f_userinfo_code': '团缴编号',
209
209
  'f_user_name': '用户姓名',
210
210
  'f_payment': '收费形式',
211
211
  'f_state': '是否有效',
@@ -915,5 +915,8 @@
915
915
  }
916
916
  </script>
917
917
 
918
- <style>
918
+ <style lang="less" scoped>
919
+ .has-error{
920
+ color: #ff1600;
921
+ }
919
922
  </style>
@@ -907,7 +907,10 @@
907
907
  }
908
908
  }
909
909
  </script>
910
- <style lang="less">
910
+ <style lang="less" scoped>
911
+ .has-error{
912
+ color: #ff1600;
913
+ }
911
914
  #meterInfoTest{
912
915
  #addboxmap {
913
916
  height: 300px;
@@ -339,3 +339,8 @@
339
339
  }
340
340
  }
341
341
  </script>
342
+ <style lang="less" scoped>
343
+ .has-error{
344
+ color: #ff1600;
345
+ }
346
+ </style>
@@ -0,0 +1,708 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 98%">
3
+ <div class="flex">
4
+ <criteria-paged :model="model" v-ref:paged>
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}"
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">表&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 like '%{}%'">
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">抄&ensp;表&ensp;册</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
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
178
+ v-ref:sel></res-select-group>
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>
212
+ <nobr>上期结余</nobr>
213
+ </th>
214
+ <th>
215
+ <nobr>平均用气量</nobr>
216
+ </th>
217
+ <th>
218
+ <nobr>表号</nobr>
219
+ </th>
220
+ <th>
221
+ <nobr>上期底数</nobr>
222
+ </th>
223
+ <th>
224
+ <nobr>本期底数</nobr>
225
+ </th>
226
+
227
+
228
+ <th>
229
+ <nobr>应交气量</nobr>
230
+ </th>
231
+ <th>
232
+ <nobr>增量值</nobr>
233
+ </th>
234
+ <!--增加应交金额-->
235
+ <th>
236
+ <nobr>应交金额</nobr>
237
+ </th>
238
+ <th>
239
+ <nobr>抄表结果状态</nobr>
240
+ </th>
241
+ <!-- <th>上次抄表日期</th>-->
242
+ <th>
243
+ <nobr>
244
+ 上次抄表录入日期
245
+ <!-- <data-order field="f_last_input_date" name="上次抄表录入日期"-->
246
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_last_input_date"></data-order>-->
247
+ </nobr>
248
+ </th>
249
+ <!-- <th>下发日期</th>-->
250
+ <th>
251
+ <nobr>下发日期
252
+ <!-- <data-order field="f_hand_date" name="下发日期"-->
253
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_hand_date"></data-order>-->
254
+ </nobr>
255
+ </th>
256
+ <!-- <th>抄表日期</th>-->
257
+ <th>
258
+ <nobr>抄表录入日期
259
+ <!-- <data-order field="f_input_date" name="抄表录入日期"-->
260
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>-->
261
+ </nobr>
262
+ </th>
263
+ <!-- <th>抄表册</th>-->
264
+ <th>
265
+ <nobr>抄表册
266
+ <!-- <data-order field="f_book_name" name="抄表册"-->
267
+ <!-- :order.sync="$parent.$parent.$parent.orderFields.f_book_name"></data-order>-->
268
+ </nobr>
269
+
270
+ </th>
271
+ <th>
272
+ <nobr>调压箱名称</nobr>
273
+ </th>
274
+ <th>
275
+ <nobr>抄表员</nobr>
276
+ </th>
277
+ <th><nobr>附件</nobr></th>
278
+ <!-- <th><nobr>附件</nobr></th>-->
279
+ <!-- f_oughtfee-->
280
+ </tr>
281
+ </template>
282
+ <template partial='body'>
283
+ <td style="text-align: center;" class="row auto">
284
+ <nobr>
285
+ <button type="button" name="button" class="button_search button_spacing width-60"
286
+ @click.stop="$parent.$parent.$parent.pass(row)"
287
+ v-if="row.f_meter_state === '待审核'">通过
288
+ </button>
289
+
290
+ <button type="button" name="button" class="button_search button_spacing width-60"
291
+ @click.stop="$parent.$parent.$parent.nopass(row)"
292
+ v-if="row.f_meter_state === '待审核' ">不通过
293
+ </button>
294
+ </nobr>
295
+ </td>
296
+ <td style="text-align: center;">{{$index + 1}}</td>
297
+ <td>{{row.f_userinfo_code}}</td>
298
+ <!-- <td>{{row.f_user_id}}</td>-->
299
+ <td> <nobr>{{row.f_user_name}}&nbsp;&nbsp;{{row.f_address}} </nobr></td>
300
+ <td>{{row.f_user_level}}</td>
301
+ <!--<td>{{row.f_building}}</td>-->
302
+ <!--<td>{{row.f_unit}}</td>-->
303
+ <!--<td>{{row.f_room}}</td>-->
304
+ <td>{{row.f_balance}}</td>
305
+ <td style="text-align: center;">{{Math.round(row.avggas)}}</td>
306
+ <td>{{row.f_meternumber}}</td>
307
+ <td>{{row.f_meter_base}}</td>
308
+ <td id="hand-creat" style="display: flex;justify-content: space-between;align-items: center">
309
+ <b>{{row.f_tablebase}}</b>
310
+ <button type="button" name="button" class="button_search button_spacing width-60"
311
+ @click.stop="$parent.$parent.$parent.amend(row)">修正
312
+ </button>
313
+ </td>
314
+ <td style="text-align: center;">{{row.f_oughtamount}}</td>
315
+ <td style="text-align: center;">{{row.f_adjustment_volume}}</td>
316
+ <td style="text-align: center;">{{row.f_oughtfee}}</td>
317
+ <td>{{row.f_result_state}}</td>
318
+ <td><nobr>{{row.f_last_input_date}}</nobr></td>
319
+ <td><nobr>{{row.f_hand_date}}</nobr></td>
320
+ <td><nobr>{{row.f_input_date}}</nobr></td>
321
+ <td> <nobr>{{row.f_book_name}} </nobr></td>
322
+ <td>{{row.f_adjustable_name}}</td>
323
+ <td>{{row.f_inputtor}}</td>
324
+ <td style="text-align: center;"><nobr>
325
+ <img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="50" :height="50"></img-self>
326
+
327
+ <!-- <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>-->
328
+ <button v-if="row.f_notified_path" class="btn btn-link" @click.stop="$parent.$parent.$parent.imgShow(row.f_notified_path)">图像识别</button>
329
+ </nobr></td>
330
+ </template>
331
+ </data-grid>
332
+ </criteria-paged>
333
+ </div>
334
+ </div>
335
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
336
+ <header slot="modal-header" class="modal-header">
337
+ 抄表图像识别照片
338
+ </header>
339
+ <article slot="modal-body" class="modal-body">
340
+ <div class="from-group">
341
+ <img-self :src="imgfilename" width="500" height="500"></img-self>
342
+ </div>
343
+ </article>
344
+ <footer slot="modal-footer" class="modal-footer">
345
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
346
+ </footer>
347
+ </modal>
348
+ </template>
349
+ <script>
350
+ import {HttpResetClass, PagedList} from 'vue-client'
351
+ import Vue from 'vue'
352
+ import * as Util from '../../../../Util'
353
+
354
+ let readyGen = async function (self) {
355
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
356
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
357
+ await self.$LoadParams.loadMeterBook(self.f_filialeid)
358
+ self.loadMeterBooks()
359
+ self.getaddress()
360
+ }
361
+
362
+ export default {
363
+ title: '机表抄表审核',
364
+ data () {
365
+ return {
366
+ // 请求对象(批量导入,查询进度使用)
367
+ HttpReset: new HttpResetClass(),
368
+ timer: null,
369
+ model: new PagedList('rs/sql/getAuditMachineHand', 50),
370
+ initres: {
371
+ org: [this.$login.f.orgid],
372
+ dep: [],
373
+ user: []
374
+ },
375
+ show: false,
376
+ config:{
377
+ examine: false,
378
+ },
379
+ imgfilename: '',
380
+ // 小区
381
+ residentialArea: [],
382
+ imgshow: false,
383
+ criteriaShow:false,
384
+ orgCondtionStr: '',
385
+ excelCondition: '',
386
+ condition:'',
387
+ fields: {
388
+ 'f_userinfo_code': '客户编号',
389
+ 'f_user_name': '客户名称',
390
+ 'f_address': '客户地址',
391
+ 'f_user_level': '用户等级',
392
+ 'f_balance': '上期结余',
393
+ 'f_meternumber': '表号',
394
+ 'f_meter_base': '上期底数',
395
+ 'f_tablebase': '本期底数',
396
+ 'f_oughtamount': '应交气量',
397
+ 'f_adjustment_volume': '增量值',
398
+ 'f_oughtfee': '应交金额',
399
+ 'f_result_state': '抄表结果状态',
400
+ 'f_last_input_date': '上次抄表录入日期',
401
+ 'f_hand_date': '下发日期',
402
+ 'f_input_date': '抄表录入日期',
403
+ 'f_book_name': '抄表册',
404
+ 'f_adjustable_name': '调压箱名称',
405
+ 'f_inputtor': '抄表员'
406
+ },
407
+ auditState:[{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
408
+ auditState1:[{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
409
+ meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
410
+ resultstate: this.$appdata.getParam('抄表结果状态'),
411
+ meterstates: this.$appdata.getParam('抄表状态') ? [{
412
+ label: '全部',
413
+ value: ''
414
+ }, ...this.$appdata.getParam('抄表状态')] : [],
415
+ usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
416
+ userlevels: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : [],
417
+ adjustablename: this.$appdata.getParam('调压箱名称') ? [{
418
+ label: '全部',
419
+ value: ''
420
+ }, ...this.$appdata.getParam('调压箱名称')] : [],
421
+ meterbooks: [],
422
+ // 公司下拉
423
+ curorgid: [this.$login.f.orgid]
424
+ }
425
+ },
426
+ props: [],
427
+ beforeDestroy () {
428
+ // 销毁定时器
429
+ if (this.timer) clearInterval(this.timer)
430
+ },
431
+ ready () {
432
+ this.model.pageSizeMax = 9999999
433
+ readyGen(this)
434
+ },
435
+ methods: {
436
+ // 修正本期底数
437
+ amend (row) {
438
+ let tablebase = window.prompt('请输入你要修正的底数值,上期底数:'+ row.f_meter_base)
439
+ if (!tablebase) return
440
+ if (tablebase < 0) {
441
+ this.$showAlert(`底数不能小于0,请注意!`, 'warning', 2000)
442
+ return
443
+ } else if (tablebase - parseInt(tablebase) !== 0) {
444
+ this.$showAlert(`底数只能输入整数,请注意!`, 'warning', 2000)
445
+ return
446
+ } else if (tablebase < row.f_last_tablebase && !row.f_capacity) {
447
+ this.$showAlert(`本期表底数不能低于上期表底数`, 'warning', 2000)
448
+ return
449
+ } else {
450
+ if (tablebase < row.f_last_tablebase) {
451
+ this.$showMessage('本次抄表已超越最大量程, 请熟知!')
452
+ }
453
+ }
454
+ let oughtamount = null
455
+ if (tablebase) {
456
+ if (row.f_share_gas) {
457
+ oughtamount = (tablebase - 0 - (row.f_last_tablebase - 0)).toFixed(4) + (row.f_share_gas > 0 ? '+' : '') + row.f_share_gas.toFixed(2)
458
+ } else {
459
+ if (row.f_capacity && row.f_capacity > 0 && tablebase < row.f_last_tablebase) {
460
+ oughtamount = (tablebase - 0 + (row.f_capacity - row.f_last_tablebase)).toFixed(2)
461
+ } else {
462
+ oughtamount = (tablebase - 0 - (row.f_last_tablebase - 0)).toFixed(2)
463
+ }
464
+ }
465
+ } else {
466
+ oughtamount = 0
467
+ }
468
+ let handplan = {
469
+ id: row.id,
470
+ f_tablebase: tablebase,
471
+ f_oughtamount: oughtamount
472
+ }
473
+ this.$resetpost('rs/entity/t_handplan', handplan, {resolveMsg: '修正成功', rejectMsg: '抄表数据修正出错!!!'}).then((res) => {
474
+ row.f_tablebase = tablebase
475
+ row.f_oughtamount = oughtamount
476
+ })
477
+ },
478
+ async allsuccess () {
479
+ console.log("条件:",this.condition)
480
+ let res = await this.$showMessage('确定通过全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
481
+ let con = []
482
+ if (res === 'confirm') {
483
+ let rowdata = this.$refs.paged.$refs.grid.getRowData()
484
+ let length = rowdata.length
485
+ let condition = rowdata.length == 0? this.condition : '1=1'
486
+ if (1) {
487
+ if(rowdata.length > 0){
488
+ for (let i = 0; i < rowdata.length; i++) {
489
+ let temp = {
490
+ f_hand_id: rowdata[i].id,
491
+ // 本次表底数
492
+ f_tablebase: rowdata[i].f_tablebase,
493
+ // 表类型
494
+ f_meter_classify: rowdata[i].f_meter_classify,
495
+ // 气表品牌
496
+ f_meter_brand: rowdata[i].f_meter_brand,
497
+ f_audit_person: this.$login.f.name
498
+ }
499
+ con.push(temp)
500
+ }
501
+ }
502
+ let data = {
503
+ con: con,
504
+ condition: condition,
505
+ f_audit_person: this.$login.f.name
506
+ }
507
+ let jobParam = {
508
+ f_operatorid: this.$login.f.id,
509
+ total: length,
510
+ operator: this.$login.f.orgs +":"+ this.$login.f.deps +":"+ Vue.$login.f.name,
511
+ jobType: "抄表审核"
512
+ }
513
+ let param = {
514
+ batchParam: data,
515
+ jobParam: jobParam
516
+ }
517
+ if (length > 0){
518
+ let confirm = await this.$showMessage(`您即将开始执行一个类型为【${jobParam.jobType}】的新任务,任务总量为${jobParam.total},是否执行?`, ['confirm', 'cancel'])
519
+ if (confirm === 'confirm'){
520
+ try {
521
+ this.$showMessage(`【立即执行】批量执行${jobParam.jobType}任务添加成功,可在【我的任务】查看任务进度!`)
522
+ let res =await this.$resetpost('rs/business/batchRun/handPlanAudit', {data:param}, {resolveMsg: '执行成功', rejectMsg: '执行失败'}, 1000*60*1)
523
+ this.$showMessage(`成功批量审核了${res.data}条数据`)
524
+ } catch (e) {}
525
+ }
526
+ }else {
527
+ let data = {
528
+ condition: condition,
529
+ f_audit_person: this.$login.f.name
530
+ }
531
+ let param = {
532
+ sqlParam: data,
533
+ jobParam: jobParam
534
+ }
535
+ let confirm = await this.$showMessage(`您即将开始执行一个类型为【${jobParam.jobType}】的新闲时执行任务,是否执行?`, ['confirm', 'cancel'])
536
+ if(confirm === 'confirm'){
537
+ try {
538
+ this.$showMessage(`【闲时执行】批量执行${jobParam.jobType}任务添加成功,任务将在【0:00-5:00】闲时执行,可在【我的任务】查看任务进度!`)
539
+ let res = await this.$resetpost('rs/business/batchRun/handPlanAudit/getAuditMachineHand', {data:param}, {resolveMsg: '执行成功', rejectMsg: '执行失败'}, 1000*60*1)
540
+ this.$showMessage(`成功批量添加了${res.data.success}条数据,闲时执行!!`)
541
+ } catch (e) {}
542
+ }
543
+ }
544
+ } else {
545
+ this.$showMessage('暂无数据,无法通过当前所有抄表')
546
+ }
547
+ }
548
+ },
549
+ async allfaild () {
550
+ let res = await this.$showMessage('确定作废全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
551
+ let condition = '('
552
+ if (res === 'confirm') {
553
+ let rowdata = this.$refs.paged.$refs.grid.getRowData()
554
+ if (rowdata.length > 0) {
555
+ for (let i = 0; i < rowdata.length; i++) {
556
+ condition += `'` + rowdata[i].id + `',`
557
+ }
558
+ condition = condition.substring(0, condition.length - 1)
559
+ condition += ')'
560
+ 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}`
561
+ await this.$resetpost('rs/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
562
+ this.search()
563
+ } else {
564
+ this.$showMessage('暂无数据,无法作废当前所有抄表')
565
+ }
566
+ }
567
+ },
568
+ hidden () {
569
+ this.criteriaShow = !this.criteriaShow
570
+ },
571
+ getRes (obj) {
572
+ this.orgCondtionStr = obj
573
+ },
574
+ view (row) {
575
+ this.$parent.showupload = true
576
+ this.$parent.row = row
577
+ },
578
+ imgclose () {
579
+ this.imgshow = false
580
+ },
581
+ imgShow (val) {
582
+ console.log("-----------val2:",val)
583
+ this.imgfilename = `rs/image/file/` + val
584
+ console.log("-----------imgfilename2:",this.imgfilename)
585
+ this.imgshow = true
586
+ },
587
+ async getaddress () {
588
+ console.log('开始获取小区')
589
+ let HttpReset = new HttpResetClass()
590
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
591
+ data: {
592
+ condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
593
+ }
594
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
595
+ console.log('小区', data)
596
+ let house = []
597
+ house.push()
598
+ for (let row of data.data) {
599
+ console.log('开始保存小区')
600
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
601
+ }
602
+ this.residentialArea = house
603
+ },
604
+ search () {
605
+ this.$refs.paged.$refs.cri.search()
606
+ },
607
+ clear () {
608
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
609
+ this.$refs.paged.$refs.cri.model[key] = []
610
+ })
611
+ },
612
+ selfSearch (args) {
613
+ if (!this.orgCondtionStr) {
614
+ args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
615
+ } else {
616
+ args.condition = `${args.condition}` + this.orgCondtionStr
617
+ }
618
+ this.excelCondition = args.condition
619
+ this.condition = args.condition
620
+ this.$refs.paged.$refs.grid.selectInit()
621
+ this.model.search(args.condition, args.model)
622
+ },
623
+ pass (row) {
624
+ let param = {
625
+ f_meter_classify: row.f_meter_classify,
626
+ f_meter_brand: row.f_meter_brand,
627
+ f_hand_id: row.id,
628
+ f_operator: Vue.$login.f.name,
629
+ f_tablebase: row.f_tablebase,
630
+ f_userinfo_id: row.f_userinfo_id,
631
+ f_audit_person: Vue.$login.f.name,
632
+ f_adjustment_volume: row.f_adjustment_volume
633
+ }
634
+ this.$resetpost('rs/logic/sale_commonEnter', {data: param}, {resolveMsg: null, rejectMsg: null}).then((res) => {
635
+ row.f_meter_state = res.data.f_meter_state
636
+ row.f_whether_pay = res.data.f_whether_pay
637
+ row.f_oughtfee = res.data.f_oughtfee
638
+ // this.$resetpost('rs/logic/getMeterSms', {data: param}, {resolveMsg: null, rejectMsg: null}).then((res) => {
639
+ // this.search()
640
+ let f_result_state = '正常'
641
+ if (row.f_result_state && row.f_result_state != '') {
642
+ f_result_state = row.f_result_state
643
+ }
644
+ let f_input_date = ''
645
+ if (row.f_input_date && row.f_input_date != '') {
646
+ f_input_date = ` ,f_input_date = '${row.f_input_date}'`
647
+ }
648
+ let sqldata = `update t_handplan set f_result_state = '${f_result_state}' ${f_input_date} where id = '${row.id}'`
649
+ this.$resetpost('rs/logic/runSQL', {data: {sql: sqldata}}, {resolveMsg: null, rejectMsg: '业务单号保存失败'})
650
+ // }).catch((error) => {
651
+ // row.state = '失败'
652
+ // Vue.set(row, 'error', JSON.stringify(error))
653
+ // this.speckText('抄表出错,请注意!')
654
+ // })
655
+ this.search()
656
+ }).catch((error) => {
657
+ row.state = '失败'
658
+ Vue.set(row, 'error', JSON.stringify(error))
659
+ Vue.showAlert(`审核失败: ${JSON.stringify(error)}`, 'danger', 0)
660
+ this.speckText('抄表出错,请注意!')
661
+ })
662
+ },
663
+ nopass (row) {
664
+ console.log('不通过。。。', row)
665
+ let handplan = {
666
+ id: row.id,
667
+ f_oughtamount: 0,
668
+ f_tablebase: 0,
669
+ f_input_date: null,
670
+ f_meter_state: '未抄表',
671
+ f_meter_source: null,
672
+ f_audit_person: Vue.$login.f.name
673
+ }
674
+ this.$resetpost('rs/entity/t_handplan', handplan, {
675
+ resolveMsg: null,
676
+ rejectMsg: '未通过,抄表数据返回未抄表保存出错!!!'
677
+ }).then((res) => {
678
+ this.search()
679
+ })
680
+ },
681
+ loadMeterBooks () {
682
+ this.meterbooks = this.$GetSaleParam.getMeterBooks()
683
+ },
684
+
685
+ },
686
+ computed: {
687
+ inputtores () {
688
+ // 获取抄表员
689
+ console.log('获取抄表员', this.$login.f)
690
+ let rs = []
691
+ if (this.$login.f.f_gasman.length > 0) {
692
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
693
+ let temp = {
694
+ label: this.$login.f.f_gasman[i].name,
695
+ value: this.$login.f.f_gasman[i].name
696
+ }
697
+ rs.push(temp)
698
+ }
699
+ }
700
+ this.inputtores2 = rs
701
+ return [...rs]
702
+ }
703
+ },
704
+ watch: {
705
+
706
+ }
707
+ }
708
+ </script>
@@ -1,5 +1,7 @@
1
1
  // 分公司特殊组件页面注册
2
2
 
3
+ import Vue from "vue";
4
+
3
5
  let specialComp = {
4
6
  // 机表抄表 (别改这个了, 用新的抄表界面)
5
7
  'hand-manager': (resolve) => { require(['./HandManager'], resolve) },
@@ -49,6 +51,9 @@ let specialComp = {
49
51
  'file-user-essential-info-new': (resolve) => { require(['./FilesManageNew/UserEssentialInfoTest'], resolve) },
50
52
  // 机表抄表
51
53
  'machine-hand': (resolve) => { require(['./revenue/machineHandManage/machineHand'], resolve) },
54
+ //抄表审核
55
+ 'machine-hand-audit': (resolve) => { require(['./revenue/machineHandManage/machineHandAudit'], resolve) },
56
+
52
57
  // 用户综合信息
53
58
  'file-user-general-info-new': (resolve) => { require(['./FilesManageNew/UserGeneralInfoTest'], resolve) },
54
59
  // 短信模板