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.
- package/CHANGELOG.md +37 -0
- package/build/dev-server.js +1 -1
- package/package.json +3 -3
- package/src/filiale/jinhong/InsuranceAdd.vue +86 -78
- package/src/filiale/jinhong/InsuranceRecord.vue +78 -27
- package/src/filiale/liaoyuan/ChangeMeter.vue +3 -5
- package/src/filiale/liaoyuan/ChargeManage.vue +1 -1
- package/src/filiale/liaoyuan/ChargeModal.vue +1 -1
- package/src/filiale/liaoyuan/FileManage/MeterinfoTest.vue +34 -34
- package/src/filiale/liaoyuan/FileManage/UserEssentialInfoTest.vue +22 -23
- package/src/filiale/liaoyuan/FileManage/UserGeneralInfoTest.vue +1 -1
- package/src/filiale/liaoyuan/FileUserFiles.vue +2 -2
- package/src/filiale/liaoyuan/HandManager.vue +6 -13
- package/src/filiale/liaoyuan/MeterBookAdd.vue +1 -1
- package/src/filiale/liaoyuan/MeterBookUser.vue +2 -2
- package/src/filiale/liaoyuan/NewPriceAdjustment.vue +1 -1
- package/src/filiale/liaoyuan/Overduetax.vue +1 -1
- package/src/filiale/liaoyuan/PriceAdjustment.vue +1 -1
- package/src/filiale/liaoyuan/UserBaseInfoNew.vue +2 -2
- package/src/filiale/liaoyuan/sale.js +1 -4
- package/src/main.js +1 -1
- package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
- package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/5.2.1/gc.properties +0 -0
- package/.gradle/8.10/checksums/checksums.lock +0 -0
- package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
- package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
- package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
- package/.gradle/8.10/fileChanges/last-build.bin +0 -0
- package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
- package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
- package/.gradle/8.10/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/.gradle/file-system.probe +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/src/filiale/liaoyuan/InputtorSummary.vue +0 -237
- 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
|
- 洪雅 机表收费 页面中 实欠气费 改为 用气金额
|
package/build/dev-server.js
CHANGED
|
@@ -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://
|
|
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.
|
|
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.
|
|
30
|
+
"vue-client": "1.26.7",
|
|
31
31
|
"less-loader": "^2.2.3",
|
|
32
|
-
"system-clients": "
|
|
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"
|
|
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"
|
|
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
|
|
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"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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">  保费结束日期</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">  保费结束日期</label>
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
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="参数:险种">      险种</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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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 (
|
|
430
|
+
if (saveState && startDate.getTime() > expirationDate.getTime()) {
|
|
432
431
|
this.$showAlert('结束日期不能早于开始日期', 'warning', 2000)
|
|
433
432
|
saveState = false
|
|
434
|
-
} else if (
|
|
435
|
-
this
|
|
436
|
-
|
|
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
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
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
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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'
|
|
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'
|
|
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
|
|
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-
|
|
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('
|
|
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>
|