策略模板时间冲突校验

This commit is contained in:
白菜
2025-07-13 17:40:24 +08:00
parent d0a31f9ee8
commit c0bed77a5d

View File

@ -41,8 +41,8 @@
start: '00:00',
step: '01:00',
end: '23:00',
minTime: formInline.startTime
}">
<!-- minTime: formInline.startTime-->
</el-time-select>
</el-form-item>
<el-form-item label="冲放功率" prop="chargeDischargePower">
@ -174,7 +174,7 @@ export default {
},
watch: {
"formInline.startTime":{
handler(newVal,oldVal){
handler(newVal){
if(newVal && this.formInline.endTime){
const endTime = parseInt((this.formInline.endTime).split(':')[0] || 0)
const startTime =parseInt(newVal.split(':')[0])
@ -248,12 +248,34 @@ export default {
this.$nextTick(() => {this.cancelAddTime()})
})
},
deleteRow(index, table){
deleteRow(index){
this.tableData.splice(index,1)
},
saveDialog() {
this.$refs.addTempForm.validate(valid => {
if (!valid) return
//校验时间选择范围是否冲突
let status = true
this.tableData.forEach((outer,outerIndex)=>{
const {startTime, endTime}=outer
const outerStart = parseInt(startTime),outerEnd = parseInt(endTime)
if(outerStart>outerEnd){
status = false
}else{
this.tableData.forEach((inner,innerIndex)=>{
if(innerIndex !== outerIndex){
const {startTime:innerStartTime, endTime:innerEndTime}=inner
const innerStart = parseInt(innerStartTime),innerEnd = parseInt(innerEndTime)
if((innerStart<outerStart && innerEnd>outerEnd) || !((innerStart<outerStart && innerEnd<=outerStart) || (innerStart>=outerEnd && innerEnd>outerEnd))){
status=false
}
}
})
}
})
if(!status){
return this.$message.error('时间选择范围冲突');
}
const {templateName,sdcLimit,sdcDown,sdcUp} = this.formData
const {siteId,updateStrategyId} =this.$home
const {tableData} = this
@ -273,7 +295,6 @@ export default {
}
})
}
})
},
closeDialog(){