diff --git a/src/views/ems/dzjk/clpz/xftg/AddTemplate.vue b/src/views/ems/dzjk/clpz/xftg/AddTemplate.vue index 4acb3f2..3daea59 100644 --- a/src/views/ems/dzjk/clpz/xftg/AddTemplate.vue +++ b/src/views/ems/dzjk/clpz/xftg/AddTemplate.vue @@ -41,8 +41,8 @@ start: '00:00', step: '01:00', end: '23:00', + minTime: formInline.startTime }"> - @@ -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,32 +248,53 @@ 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 - const {templateName,sdcLimit,sdcDown,sdcUp} = this.formData - const {siteId,updateStrategyId} =this.$home - const {tableData} = this - if(this.mode==='edit'){ - editStrategyTemp({siteId,strategyId:updateStrategyId,templateId:this.editTempId,templateName,sdcLimit,sdcDown,sdcUp,timeConfigList:tableData}).then(response=>{ - if(response?.code === 200){ - this.closeDialog() - this.$emit('update') - this.$emit('updateTimeSetting') + //校验时间选择范围是否冲突 + 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((innerStartouterEnd) || !((innerStart=outerEnd && innerEnd>outerEnd))){ + status=false + } + } + }) } }) - }else{ - addStrategyTemp({siteId,strategyId:updateStrategyId,templateName,sdcLimit,sdcDown,sdcUp,timeConfigList:tableData}).then(response=>{ - if(response?.code === 200){ - this.closeDialog() - this.$emit('update') - } - }) - } - + if(!status){ + return this.$message.error('时间选择范围冲突'); + } + const {templateName,sdcLimit,sdcDown,sdcUp} = this.formData + const {siteId,updateStrategyId} =this.$home + const {tableData} = this + if(this.mode==='edit'){ + editStrategyTemp({siteId,strategyId:updateStrategyId,templateId:this.editTempId,templateName,sdcLimit,sdcDown,sdcUp,timeConfigList:tableData}).then(response=>{ + if(response?.code === 200){ + this.closeDialog() + this.$emit('update') + this.$emit('updateTimeSetting') + } + }) + }else{ + addStrategyTemp({siteId,strategyId:updateStrategyId,templateName,sdcLimit,sdcDown,sdcUp,timeConfigList:tableData}).then(response=>{ + if(response?.code === 200){ + this.closeDialog() + this.$emit('update') + } + }) + } }) }, closeDialog(){