From 2b41a4b9cdfec111fd641ed6ebbfc27d9fefffb0 Mon Sep 17 00:00:00 2001 From: wangsongsole Date: Wed, 3 Aug 2022 11:22:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=8B=E5=87=8F=E9=87=91=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/knockGold/index.jsx | 38 +++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/components/knockGold/index.jsx b/src/components/knockGold/index.jsx index 99b0b1ea..1652822d 100644 --- a/src/components/knockGold/index.jsx +++ b/src/components/knockGold/index.jsx @@ -430,6 +430,25 @@ export default class addKnockGold extends Component { } } } + + /* 处理时间交集 */ + detectTimeConflict(arr) { + for (var i = 0; i < arr.length; i++) { + var d1 = arr[i][0] + var d2 = arr[i][1] + for (var j = i + 1; j < arr.length; j++) { + // j=i+1:使其不要与自身比较 + var t1 = arr[j][0] + var t2 = arr[j][1] + if ((d1 >= t1 && d1 < t2) || (d1 < t1 && d2 > t1)) { + return true + } else { + return false + } + } + } + } + /* 数据转换统一处理函数 */ transformDataCode() { const transformData = {} @@ -580,6 +599,19 @@ export default class addKnockGold extends Component { } } + if (this.detectTimeConflict(this.state.model.ruleDate)) { + Notify.error('有效期内,规则时间存在交集') + return false + } + if (this.detectTimeConflict(this.state.model.irregularDate)) { + Notify.error('有效期内,不规则日期存在交集') + return false + } + if (this.detectTimeConflict(this.state.model.irregularTime)) { + Notify.error('有效期内,不规则时间存在交集') + return false + } + const limitBit = /^-?\d+\.?\d{0,2}$/ if ( !limitBit.test(this.state.model.denomination) || @@ -1068,7 +1100,7 @@ export default class addKnockGold extends Component { this.onHandleChange(value, 'timer') }} width='240px' - disabledDate={this.onDisabledRange} + disabledTime={this.onDisabledRange} /> { @@ -1230,7 +1262,7 @@ export default class addKnockGold extends Component { this.onHandleChange(model, 'ruleDate') }} width={158} - disabledDate={this.onDisabledRange} + disabledTime={this.onDisabledRange} /> {this.addOrMoveFunction( index, @@ -1308,7 +1340,7 @@ export default class addKnockGold extends Component { this.onHandleChange(model, 'irregularTime') }} width={158} - disabledDate={this.onDisabledRange} + disabledTime={this.onDisabledRange} /> {this.addOrMoveFunction( index,