sale-client 4.3.54-lyls → 4.3.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/build/dev-server.js +1 -1
  3. package/package.json +3 -3
  4. package/src/filiale/jinhong/InsuranceAdd.vue +86 -78
  5. package/src/filiale/jinhong/InsuranceRecord.vue +78 -27
  6. package/src/filiale/liaoyuan/ChangeMeter.vue +3 -5
  7. package/src/filiale/liaoyuan/ChargeManage.vue +1 -1
  8. package/src/filiale/liaoyuan/ChargeModal.vue +1 -1
  9. package/src/filiale/liaoyuan/FileManage/MeterinfoTest.vue +34 -34
  10. package/src/filiale/liaoyuan/FileManage/UserEssentialInfoTest.vue +22 -23
  11. package/src/filiale/liaoyuan/FileManage/UserGeneralInfoTest.vue +1 -1
  12. package/src/filiale/liaoyuan/FileUserFiles.vue +2 -2
  13. package/src/filiale/liaoyuan/HandManager.vue +6 -13
  14. package/src/filiale/liaoyuan/MeterBookAdd.vue +1 -1
  15. package/src/filiale/liaoyuan/MeterBookUser.vue +2 -2
  16. package/src/filiale/liaoyuan/NewPriceAdjustment.vue +1 -1
  17. package/src/filiale/liaoyuan/Overduetax.vue +1 -1
  18. package/src/filiale/liaoyuan/PriceAdjustment.vue +1 -1
  19. package/src/filiale/liaoyuan/UserBaseInfoNew.vue +2 -2
  20. package/src/filiale/liaoyuan/sale.js +1 -4
  21. package/src/main.js +1 -1
  22. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  23. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  24. package/.gradle/5.2.1/gc.properties +0 -0
  25. package/.gradle/8.10/checksums/checksums.lock +0 -0
  26. package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
  27. package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
  28. package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
  29. package/.gradle/8.10/fileChanges/last-build.bin +0 -0
  30. package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
  31. package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
  32. package/.gradle/8.10/gc.properties +0 -0
  33. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  34. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  35. package/.gradle/file-system.probe +0 -0
  36. package/.gradle/vcs-1/gc.properties +0 -0
  37. package/src/filiale/liaoyuan/InputtorSummary.vue +0 -237
  38. package/src/filiale/liaoyuan/UserPriceChangeManage.vue +0 -662
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Change Log
2
2
  所有关于本产品的变化都在该文档里。
3
+
4
+ ## **🚀 V4.3.55 -2026-05-14 `@柳博`**
5
+
6
+ ### `🌟` 功能调整
7
+
8
+ ---
9
+
10
+ 修复保险记录表单中的日期验证和计算逻辑
11
+
12
+ - 移除待执行状态下手动输入保费结束日期功能,改为根据开始日期和购买年限自动计算
13
+ - 添加保费结束日期的验证逻辑,确保日期在当日之后
14
+ - 重构日期计算方法,统一使用recalcExpirationDate函数处理到期日期计算
15
+ - 优化日期比较逻辑,使用getTime()方法进行准确的时间对比
16
+ - 在保险记录组件中添加太平洋保险公司条件判断
17
+ - 修正日期格式化处理,统一时间戳为00:00:00格式
18
+ - 删除不再使用的datepicker组件相关代码和验证规则
19
+
20
+ ## **🚀 V4.3.54 -2026-05-13 `@柳博`**
21
+
22
+ ### `🌟` 功能调整
23
+
24
+ ---
25
+
26
+ 优化保险开始日期逻辑
27
+
28
+ - 移除了开始日期字段的验证样式绑定
29
+ - 统一日期格式为 'yyyy-MM-dd' 不再包含时间部分
30
+ - 添加了默认保险开始日期计算方法
31
+ - 实现了保险开始日期必须在当前日期次日之后的验证
32
+ - 在购买日期初始化时设置标准时间格式
33
+ - 重构了保险开始日期设置逻辑
34
+ - 简化了续保日期计算逻辑
35
+ - 添加了日期格式化和解析工具方法
36
+ - 添加了核销期判断逻辑和二次确认警告
37
+
38
+
39
+
3
40
  ## **🚀 V4.3.29 2026-04-08 `@张科科`**
4
41
  ### `🌟` 功能调整
5
42
  - 洪雅 机表收费 页面中 实欠气费 改为 用气金额
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl ] = ['http://219.151.186.185:31467/', 'http://219.151.186.185:31467/']
4
+ const [ serverRul, localUrl ] = ['http://192.168.50.67:31567/', 'http://192.168.50.67:31567/']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.3.54-lyls",
3
+ "version": "4.3.55",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -27,9 +27,9 @@
27
27
  "yarn": "^1.22.10"
28
28
  },
29
29
  "devDependencies": {
30
- "vue-client": "1.26.5",
30
+ "vue-client": "1.26.7",
31
31
  "less-loader": "^2.2.3",
32
- "system-clients": "^4.0.5",
32
+ "system-clients": "4.0.12",
33
33
  "ldap-clients": "3.0.96",
34
34
  "address-client": "3.2.79",
35
35
  "manage-client": "3.1.8-88",
@@ -42,7 +42,7 @@
42
42
  :show-reset-button="true">
43
43
  </datepicker>
44
44
  </div>
45
- <div class="col-sm-6 form-group" :class="[$v.f_ins_start_date.required ? 'has-error' : '']" v-if="model.f_state === '待执行'">
45
+ <div class="col-sm-6 form-group" v-if="model.f_state === '待执行'">
46
46
  <label class="font_normal_body">本次保费开始日期</label>
47
47
  <input type="text" v-show="false" v-model="model.f_ins_start_date">
48
48
  <datepicker id="f_ins_start_date" placeholder="本次保费开始日期" style="width:60%"
@@ -52,14 +52,13 @@
52
52
  :show-reset-button="true">
53
53
  </datepicker>
54
54
  </div>
55
- <div class="col-sm-6 form-group" :class="[$v.f_ins_start_date.required ? 'has-error' : '']" v-else="model.f_state !== '待执行'">
55
+ <div class="col-sm-6 form-group" v-else="model.f_state !== '待执行'">
56
56
  <label class="font_normal_body">本次保费开始日期</label>
57
- <input type="text" v-show="false" v-model="model.f_ins_start_date"
58
- v-validate:f_ins_start_date='{required: true }'>
57
+ <input type="text" v-show="false" v-model="model.f_ins_start_date">
59
58
  <datepicker id="f_ins_start_date" placeholder="本次保费开始日期" style="width:60%"
60
59
  v-model="model.f_ins_start_date"
61
60
  :value.sync="model.f_ins_start_date"
62
- :format="'yyyy-MM-dd HH:mm:ss'"
61
+ :format="'yyyy-MM-dd'"
63
62
  :show-reset-button="true">
64
63
  </datepicker>
65
64
  </div>
@@ -73,29 +72,19 @@
73
72
  <input type="number" v-model="model.f_salecount" placeholder="购买年限" style="width: 60%"
74
73
  class="input_search" v v-el:style v-next-el="inpipe">
75
74
  </div>
76
- <div class="col-sm-6 form-group" :class="[$v.f_expiration_date2.required ? 'has-error' : '']" v-if="model.f_state === '待执行'">
77
- <input type="text" v-show="false" v-model="tmp" :value.sync='model.f_expiration_date' v-el:f_expiration_date2>
78
- <label class="font_normal_body">&emsp;&emsp;保费结束日期</label>
79
- <datepicker id="f_expiration_date" placeholder="保费结束日期" style="width:60%"
80
- @con-bulr="isShowSaleCount"
81
- v-ref:f_expiration_date
82
- v-model="model.f_expiration_date"
83
- :value.sync="model.f_expiration_date"
84
- :format="'yyyy-MM-dd HH:mm:ss'"
85
- :show-reset-button="true">
86
- </datepicker>
87
- </div>
88
- <div class="col-sm-6 form-group" :class="[$v.f_expiration_date2.required ? 'has-error' : '']" v-else="model.f_state !== '待执行'">
75
+ <div class="col-sm-6 form-group" v-if="model.f_state === '待执行'">
76
+ <input type="text" v-show="false" v-model="tmp" :value.sync='model.f_expiration_date' v-el:f_expiration_date2>
77
+ <label class="font_normal_body">&emsp;&emsp;保费结束日期</label>
78
+ <input type="text" class="input_search" style="width:60%" disabled="disabled"
79
+ :value="model.f_expiration_date"
80
+ placeholder="根据开始日期和购买年限自动计算">
81
+ </div>
82
+ <div class="col-sm-6 form-group" v-else="model.f_state !== '待执行'">
89
83
  <input type="text" v-show="false" v-model="tmp" :value.sync='model.f_expiration_date' v-validate:f_expiration_date2='{required: true }' v-el:f_expiration_date2>
90
84
  <label class="font_normal_body">&emsp;&emsp;保费结束日期</label>
91
- <datepicker id="f_expiration_date" placeholder="保费结束日期" style="width:60%"
92
- @con-bulr="isShowSaleCount"
93
- v-ref:f_expiration_date
94
- v-model="model.f_expiration_date"
95
- :value.sync="model.f_expiration_date"
96
- :format="'yyyy-MM-dd HH:mm:ss'"
97
- :show-reset-button="true">
98
- </datepicker>
85
+ <input type="text" class="input_search" style="width:60%" disabled="disabled"
86
+ :value="model.f_expiration_date"
87
+ placeholder="根据开始日期和购买年限自动计算">
99
88
  </div>
100
89
  <div class="col-sm-6 form-group" :class="[$v.f_insurance_type.required ? 'has-error' : '']">
101
90
  <label class="font_normal_body" title="参数:险种">&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;险种</label>
@@ -219,6 +208,7 @@
219
208
  insurancestate: '有效'
220
209
  },
221
210
  model: {
211
+ f_buy_date: Util.toStandardTimeString(),
222
212
  f_ins_start_date: '',
223
213
  f_receivable: 0,
224
214
  f_money: 0
@@ -287,43 +277,20 @@
287
277
  f_user_phone: this.row.f_user_phone,
288
278
  f_salecount: this.row.f_saleCount,
289
279
  f_userinfo_code: this.row.f_userinfo_code,
290
- f_ins_start_date:Util.toStandardTimeString(),
280
+ f_ins_start_date: Util.toStandardDateString(),
291
281
  f_last_insexpiration_date: this.row.f_ins_stop_date
292
282
  }
293
283
  }
294
284
  }
295
- this.model.f_buy_date = Util.toStandardTimeString()
296
- if(this.model.f_ins_stop_date && this.model.f_ins_stop_date>Util.toStandardTimeString()){
297
- this.$set('model.f_ins_start_date',this.model.f_ins_stop_date)
298
- }else{
299
- this.$set('model.f_ins_start_date',Util.toStandardTimeString())
300
- }
285
+ this.model.f_buy_date = this.model.f_buy_date || Util.toStandardTimeString()
286
+ this.$set('model.f_ins_start_date', this.getDefaultInsStartDate())
301
287
  this.model.f_salecount = 1
288
+ this.recalcExpirationDate()
302
289
  this.configMerge()
303
290
  },
304
291
  watch: {
305
292
  'model.f_ins_start_date' (val) {
306
- if (val && this.model.f_salecount) {
307
- let tx = new Date(val)
308
- let tmp = {
309
- year: tx.getFullYear(),
310
- month: tx.getMonth() + 1,
311
- day: tx.getDate()
312
- }
313
- let tmpdate = new Date((tmp.year + (this.model.f_salecount - 0)) + '-' + (tmp.month < 10 ? '0' + tmp.month : tmp.month) + '-' + (tmp.day < 10 ? '0' + tmp.day : tmp.day))
314
- let date
315
- if (tmp.month < (tmpdate.getMonth() + 1)) {
316
- date = new Date(tmpdate.getTime() - 24 * 60 * 60 * 1000 * 2)
317
- } else {
318
- date = new Date(tmpdate.getTime() - 24 * 60 * 60 * 1000)
319
- }
320
- let jt = {
321
- year: date.getFullYear(),
322
- month: date.getMonth() + 1,
323
- day: date.getDate()
324
- }
325
- this.$refs.f_expiration_date.value = jt.year + '-' + (jt.month < 10 ? '0' + jt.month : jt.month) + '-' + (jt.day < 10 ? '0' + jt.day : jt.day)
326
- }
293
+ this.recalcExpirationDate()
327
294
  },
328
295
  'model.f_money' (val) {
329
296
  if (val && (val < 0 || Math.floor(val - 0) !== (val - 0))) {
@@ -337,27 +304,10 @@
337
304
  this.model.f_salecount = 0
338
305
  this.f_salecount.dctest = false
339
306
  } else if (val && this.model.f_ins_start_date) {
340
- let tx = new Date(this.model.f_ins_start_date)
341
- let tmp = {
342
- year: tx.getFullYear(),
343
- month: tx.getMonth() + 1,
344
- day: tx.getDate()
345
- }
346
- let tmpdate = new Date((tmp.year + (val - 0)) + '-' + (tmp.month < 10 ? '0' + tmp.month : tmp.month) + '-' + (tmp.day < 10 ? '0' + tmp.day : tmp.day))
347
- let date
348
- if (tmp.month < (tmpdate.getMonth() + 1)) {
349
- date = new Date(tmpdate.getTime() - 24 * 60 * 60 * 1000 * 2)
350
- } else {
351
- date = new Date(tmpdate.getTime() - 24 * 60 * 60 * 1000)
352
- }
353
- let jt = {
354
- year: date.getFullYear(),
355
- month: date.getMonth() + 1,
356
- day: date.getDate()
357
- }
358
- this.$refs.f_expiration_date.value = jt.year + '-' + (jt.month < 10 ? '0' + jt.month : jt.month) + '-' + (jt.day < 10 ? '0' + jt.day : jt.day)
307
+ this.recalcExpirationDate()
359
308
  this.f_salecount.dctest = true
360
309
  } else {
310
+ this.model.f_expiration_date = ''
361
311
  this.f_salecount.dctest = true
362
312
  }
363
313
  },
@@ -365,7 +315,9 @@
365
315
  if (val && this.model.f_userinfo_id) {
366
316
  this.model.f_insurance_type = this.model.f_insurance_type == null ? this.config.insuranceType : this.model.f_insurance_type
367
317
  this.model.f_state = this.model.f_state == null ? this.config.insurancestate : this.model.f_state
368
- this.model.f_ins_start_date = Util.toStandardDateString()
318
+ this.model.f_ins_start_date = this.getDefaultInsStartDate()
319
+ this.model.f_salecount = 1
320
+ this.recalcExpirationDate()
369
321
  console.log('cs===================cs', this.model.f_userinfo_id, this.model.f_ins_start_date)
370
322
  }
371
323
  }
@@ -425,15 +377,65 @@
425
377
  this.$dispatch('refresh', this.row)
426
378
  this.$dispatch('close')
427
379
  },
380
+ formatYmd (date) {
381
+ let month = date.getMonth() + 1
382
+ let day = date.getDate()
383
+ return date.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)
384
+ },
385
+ parseDateOnly (val) {
386
+ if (!val) return null
387
+ let date = new Date(String(val).replace(/-/g, '/'))
388
+ if (isNaN(date.getTime())) return null
389
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate())
390
+ },
391
+ getDefaultInsStartDate () {
392
+ let today = new Date()
393
+ today.setHours(0, 0, 0, 0)
394
+ let stopDate = this.parseDateOnly(this.model.f_ins_stop_date)
395
+ if (stopDate && stopDate.getTime() > today.getTime()) {
396
+ return this.formatYmd(stopDate)
397
+ }
398
+ let tomorrow = new Date(today.getTime())
399
+ tomorrow.setDate(tomorrow.getDate() + 1)
400
+ return this.formatYmd(tomorrow)
401
+ },
402
+ recalcExpirationDate () {
403
+ let startDate = this.parseDateOnly(this.model.f_ins_start_date)
404
+ let saleCount = this.model.f_salecount - 0
405
+ if (!startDate || !saleCount || saleCount < 0) {
406
+ this.model.f_expiration_date = ''
407
+ return
408
+ }
409
+ let expirationDate = new Date((startDate.getFullYear() + saleCount) + '-' + ((startDate.getMonth() + 1) < 10 ? '0' + (startDate.getMonth() + 1) : (startDate.getMonth() + 1)) + '-' + (startDate.getDate() < 10 ? '0' + startDate.getDate() : startDate.getDate()))
410
+ this.model.f_expiration_date = this.formatYmd(expirationDate)
411
+ },
428
412
  async save () {
429
413
  let saveState = true
414
+ let startDate = this.parseDateOnly(this.model.f_ins_start_date)
415
+ let expirationDate = this.parseDateOnly(this.model.f_expiration_date)
416
+ let today = new Date()
417
+ today.setHours(0, 0, 0, 0)
418
+ let tomorrow = new Date()
419
+ tomorrow.setHours(0, 0, 0, 0)
420
+ tomorrow.setDate(tomorrow.getDate() + 1)
421
+ if (!startDate || startDate.getTime() < tomorrow.getTime()) {
422
+ this.$showAlert('保险开始日期必须在当前日期的次日及之后', 'warning', 2000)
423
+ saveState = false
424
+ }
425
+ if (saveState && (!expirationDate || expirationDate.getTime() <= today.getTime())) {
426
+ this.$showAlert('保单截止日期必须在当日之后', 'warning', 2000)
427
+ saveState = false
428
+ }
430
429
  if (this.model.f_state !== '待执行') {
431
- if (Date.parse(this.model.f_ins_start_date) > Date.parse(this.model.f_expiration_date)) {
430
+ if (saveState && startDate.getTime() > expirationDate.getTime()) {
432
431
  this.$showAlert('结束日期不能早于开始日期', 'warning', 2000)
433
432
  saveState = false
434
- } else if (this.model.f_ins_start_date !== null && this.model.f_ins_start_date !== '' && Date.parse(this.model.f_ins_stop_date) > Date.parse(this.model.f_ins_start_date)) {
435
- this.$showAlert('开始日期不能早于上期保费截止日期', 'warning', 2000)
436
- saveState = false
433
+ } else if (saveState) {
434
+ let stopDate = this.parseDateOnly(this.model.f_ins_stop_date)
435
+ if (stopDate && stopDate.getTime() > startDate.getTime()) {
436
+ this.$showAlert('开始日期不能早于上期保费截止日期', 'warning', 2000)
437
+ saveState = false
438
+ }
437
439
  }
438
440
  }
439
441
 
@@ -447,6 +449,12 @@
447
449
  }
448
450
  }
449
451
  if (saveState) {
452
+ if (startDate) {
453
+ this.model.f_ins_start_date = this.formatYmd(startDate) + ' 00:00:00'
454
+ }
455
+ if (expirationDate) {
456
+ this.model.f_expiration_date = this.formatYmd(expirationDate) + ' 00:00:00'
457
+ }
450
458
  this.model.f_total_ins_charge = this.model.f_total_ins_charge == null ? 0 : this.model.f_total_ins_charge
451
459
  this.model.f_operat_type = '保险'
452
460
  this.model.f_operator = this.operatorname[0]
@@ -165,13 +165,13 @@
165
165
  </validator>
166
166
  </article>
167
167
  <footer slot="modal-footer" class="modal-footer">
168
+ <button class="btn btn-default" @click="clean()">取消</button>
168
169
  <button class="btn btn-success" v-if="config.hasAudit && !isTodayResult" @click="auditConfirm()"
169
170
  :disabled="!$v.valid">提交审核
170
171
  </button>
171
172
  <button class="btn btn-success" v-if="!config.hasAudit || isTodayResult" @click="confirm()"
172
173
  :disabled="!$v.valid">确认
173
174
  </button>
174
- <button class="btn btn-default" @click="clean()">取消</button>
175
175
  </footer>
176
176
  </modal>
177
177
  </div>
@@ -253,6 +253,30 @@ export default {
253
253
  inputDate.getDate() === today.getDate()
254
254
  )
255
255
  },
256
+ parseDateTime (val) {
257
+ if (val == null || val === '') return null
258
+ const d = new Date(String(val).replace(/-/g, '/'))
259
+ return isNaN(d.getTime()) ? null : d
260
+ },
261
+ /** 核销期使用购买时间判断:当前操作时间已超过购买当日 17:30:00 */
262
+ needsVerificationPeriod (row) {
263
+ if (!row) return false
264
+ if (row.f_insurance_company !== '太平洋保险') return false
265
+ const buyDate = this.parseDateTime(row.f_buy_date)
266
+ if (!buyDate) return false
267
+ const now = new Date()
268
+ const verifyStart = new Date(buyDate.getFullYear(), buyDate.getMonth(), buyDate.getDate(), 17, 30, 0, 0)
269
+ return now.getTime() > verifyStart.getTime()
270
+ },
271
+ needsExtraTwoStepDialogs (row) {
272
+ return this.needsVerificationPeriod(row)
273
+ },
274
+ buildFirstWarnMessage () {
275
+ return '当前保单已进入核销期或已出单,撤销可能产生费用或合约影响,须事先与保险公司沟通确认。保险公司联系人:瞿成,联系电话:15932351515。'
276
+ },
277
+ secondWarnMessage () {
278
+ return '请确认:操作员已向保险公司咨询(或报备),已知悉撤销后果,并同意继续办理撤销。'
279
+ },
256
280
  async getAuditor () {
257
281
  await this.$GetSaleParam.initinputtor()
258
282
  this.auditor = this.$GetSaleParam.getAudit(this.$login.f.orgid)
@@ -320,17 +344,26 @@ export default {
320
344
  // 执行logic
321
345
  logicName: 'cancelInsurance'
322
346
  }
323
- this.$resetpost('api/af-revenue/logic/commonAuditLogic', param, {
324
- warnMsg: `确定要对用户${this.recordlist[0].f_user_name}进行保险冲正吗?`,
325
- resolveMsg: `提交审核完成!!`,
326
- rejectMsg: `提交审核失败!!请重试!!`
327
- }).then((res) => {
328
- this.clean()
329
- })
347
+ const postOpts = this.needsExtraTwoStepDialogs(this.obj)
348
+ ? {
349
+ resolveMsg: `提交审核完成!!`,
350
+ rejectMsg: `提交审核失败!!请重试!!`
351
+ }
352
+ : {
353
+ warnMsg: `确定要对用户${this.recordlist[0].f_user_name}进行保险冲正吗?`,
354
+ resolveMsg: `提交审核完成!!`,
355
+ rejectMsg: `提交审核失败!!请重试!!`
356
+ }
357
+ const submit = () => {
358
+ this.$resetpost('api/af-revenue/logic/commonAuditLogic', param, postOpts).then((res) => {
359
+ this.clean()
360
+ })
361
+ }
362
+ this.runTwoStepInsuranceWarnThen(this.obj, submit)
330
363
  },
331
364
  cancelinsurance (row) {
332
365
  this.show = true
333
- if (row.f_payment.indexOf('扫码枪') > -1) {
366
+ if (row.f_payment && row.f_payment.indexOf('扫码枪') > -1) {
334
367
  this.paymentShow = false
335
368
  }
336
369
  this.obj = row
@@ -342,26 +375,44 @@ export default {
342
375
  f_cancel_reason: ''
343
376
  }
344
377
  },
378
+ submitCancelInsuranceApi () {
379
+ this.obj.f_operator = this.$login.f.name
380
+ this.obj.f_operatorid = this.$login.f.id
381
+ this.obj.f_orgid = this.$login.f.orgid
382
+ this.obj.f_orgname = this.$login.f.orgs
383
+ this.obj.f_depid = this.$login.f.depids
384
+ this.obj.f_depname = this.$login.f.deps
385
+ this.obj.f_payment = this.recordlist[0].f_payment
386
+ this.obj.f_cancel_reason = this.model.f_cancel_reason
387
+ console.log(this.obj)
388
+ this.$resetpost('api/af-revenue/logic/cancelInsurance', {data: this.obj}).then(() => {
389
+ this.$dispatch('refresh')
390
+ this.clean()
391
+ this.search()
392
+ })
393
+ },
394
+ runTwoStepInsuranceWarnThen (row, nextFn) {
395
+ if (!this.needsExtraTwoStepDialogs(row)) {
396
+ nextFn()
397
+ return
398
+ }
399
+ this.$showMessage(this.buildFirstWarnMessage(), ['confirm', 'cancel']).then((res) => {
400
+ if (res !== 'confirm') return
401
+ this.$showMessage(this.secondWarnMessage(), ['confirm', 'cancel']).then((res2) => {
402
+ if (res2 === 'confirm') nextFn()
403
+ })
404
+ })
405
+ },
345
406
  // 最后一条才能冲正
346
407
  confirm () {
347
- this.$showMessage('冲正后不可恢复,确认冲正吗?', ['confirm', 'cancel']).then((res) => {
348
- if (res === 'confirm') {
349
- this.obj.f_operator = this.$login.f.name
350
- this.obj.f_operatorid = this.$login.f.id
351
- this.obj.f_orgid = this.$login.f.orgid
352
- this.obj.f_orgname = this.$login.f.orgs
353
- this.obj.f_depid = this.$login.f.depids
354
- this.obj.f_depname = this.$login.f.deps
355
- this.obj.f_payment = this.recordlist[0].f_payment
356
- this.obj.f_cancel_reason = this.model.f_cancel_reason
357
- console.log(this.obj)
358
- this.$resetpost('api/af-revenue/logic/cancelInsurance', {data: this.obj}).then(() => {
359
- this.$dispatch('refresh')
360
- this.clean()
361
- this.search()
362
- })
363
- }
364
- })
408
+ const run = () => this.submitCancelInsuranceApi()
409
+ if (this.needsExtraTwoStepDialogs(this.obj)) {
410
+ this.runTwoStepInsuranceWarnThen(this.obj, run)
411
+ } else {
412
+ this.$showMessage('冲正后不可恢复,确认冲正吗?', ['confirm', 'cancel']).then((res) => {
413
+ if (res === 'confirm') run()
414
+ })
415
+ }
365
416
  }
366
417
  },
367
418
  watch: {
@@ -43,7 +43,7 @@
43
43
  <input class="input_search" style="width:60%" type="number"
44
44
  v-model="model.f_remanent_gas"
45
45
  placeholder="补气量"
46
- :disabled="changeType == 'gasToAmount' || !$login.r.includes('换表允许修改补气数据')"
46
+ :disabled="changeType == 'gasToAmount'"
47
47
  v-validate:f_remanent_gas='{required: true, dctest: [-1, ">" ] }'>
48
48
  </div>
49
49
  <div class="col-sm-4 form-group">
@@ -59,7 +59,7 @@
59
59
  v-model="model.f_remanent_money"
60
60
  placeholder="补气金额"
61
61
  @blur="remanentChange"
62
- :disabled="changeType == 'amountToGas' || !$login.r.includes('换表允许修改补气数据') "
62
+ :disabled="changeType == 'amountToGas'"
63
63
  v-validate:f_remanent_money='{required: true, dctest: [-1, ">" ] }'>
64
64
  </div>
65
65
  </div>
@@ -70,7 +70,6 @@
70
70
  <input class="input_search" style="width:60%" type="number"
71
71
  v-model="model.f_remanent_gas"
72
72
  placeholder="补气量"
73
- :disabled="!$login.r.includes('换表允许修改补气数据')"
74
73
  v-validate:f_remanent_gas='{required: true, dctest: [-1, ">" ] }'>
75
74
  </div>
76
75
  </div>
@@ -83,7 +82,6 @@
83
82
  <input class="input_search" style="width:60%" type="number"
84
83
  v-model="model.f_remanent_money"
85
84
  placeholder="补气金额"
86
- :disabled="!$login.r.includes('换表允许修改补气数据')"
87
85
  v-validate:f_remanent_money='{required: true, dctest: [-1, ">" ] }'>
88
86
  </div>
89
87
  </div>
@@ -663,7 +661,7 @@ export default {
663
661
  data: {
664
662
  items: 'f_whether_pay',
665
663
  tablename: 't_handplan',
666
- condition: ` f_user_id = '${this.row.f_user_id}' and f_hand_state = '有效' and f_meter_state='已抄表' and f_whether_pay = '否'`,
664
+ condition: ` f_user_id = '${this.row.f_user_id}' and f_hand_state = '有效' and f_whether_pay = '否'`,
667
665
  orderitem: ' id desc'
668
666
  }
669
667
  }, {resolveMsg: null, rejectMsg: null}
@@ -23,7 +23,7 @@
23
23
  <otherinfo v-show="worktype === '其他信息'" style="height:auto" @deal-msg="dealMsg" :data="row" :card-data="cardInfo" v-ref:info></otherinfo>
24
24
  <card-list v-show="worktype === '历史操作'" :btns="operatebtn" :f_orgid="f_orgid" :userinfoid="row ? row.f_userinfo_code : ''" @list-select-oper="recordCancel"
25
25
  v-ref:card></card-list>
26
- <hand-list v-if="worktype === '历史抄表'" :f_userfiles_id="row ? row.f_userfiles_id : ''" v-ref:hand></hand-list>
26
+ <hand-list v-show="worktype === '历史抄表'" :f_userfiles_id="row ? row.f_userfiles_id : ''" v-ref:hand></hand-list>
27
27
  </div>
28
28
 
29
29
  </div>
@@ -5,7 +5,7 @@
5
5
  <p>{{warninginfo.data.msgData}}</p>
6
6
  <div style="font-size: 15px;padding: 10px">
7
7
  <span style="float: right">
8
- <button class="button_search" v-show="!warninginfo.data.state.info" @click="operational('files_complete')" style="width: max-content;">完善信息</button>
8
+ <button class="button_search" v-show="!warninginfo.data.state.info" @click="operational('files-complete')" style="width: max-content;">完善信息</button>
9
9
  <button class="button_search" v-show="warninginfo.data.state.blacklist&&!warninginfo.data.state.dibao" @click="operational('basic-living')" style="width: max-content;">低保续保</button>
10
10
  <button class="button_search" v-show="warninginfo.data.state.blacklist&&!warninginfo.data.state.dibao && warninginfo.data.state.dibaoend" @click="operational('stop-basic-living')" style="width: max-content;">停止续保</button>
11
11
  <button class="button_search" v-show="!(!warninginfo.data.state.dibao&&warninginfo.data.state.dibaoend) && warninginfo.data.canCharge" @click="success()">确认</button>