|
|
|
@ -22,15 +22,14 @@ |
|
|
|
|
</el-row> |
|
|
|
|
<div class="dev_control_table"> |
|
|
|
|
<el-table :data="data.timingList" height="500px"> |
|
|
|
|
<el-table-column label="序号" align="center" prop="sceneId" width="50"/> |
|
|
|
|
<el-table-column label="序号" align="center" width="50" type="index"/> |
|
|
|
|
<el-table-column label="策略名称" align="center" prop="sceneName" width="200"/> |
|
|
|
|
<el-table-column label="设备名称" align="center" prop="deviceName"/> |
|
|
|
|
<el-table-column label="监测位置" align="center" prop="sceneContext"/> |
|
|
|
|
<el-table-column label="温度" align="center" prop="sceneValue"/> |
|
|
|
|
<el-table-column label="策略描述" align="center" prop="sceneRemark"/> |
|
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime"/> |
|
|
|
|
<!-- <el-table-column label="温度" align="center" prop="sceneValue"/>--> |
|
|
|
|
<el-table-column label="操作" align="center" prop="handle"> |
|
|
|
|
<template v-slot="scope"> |
|
|
|
|
<el-button type="primary" size="small" icon="Edit" v-hasPermi="['system:cl:edit']" @click="handleXg(scope.row.sceneId,scope.row.sceneName, |
|
|
|
|
scope.row.deviceId,scope.row.sceneValue,scope.row.sceneContext)">修改</el-button> |
|
|
|
|
<el-button type="primary" size="small" icon="Edit" v-hasPermi="['system:cl:edit']" @click="handleXg(scope.row)">修改</el-button> |
|
|
|
|
<el-button type="danger" size="small" :icon="Delete" @click="handleDel(scope.row.sceneId)">删除</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
@ -61,13 +60,18 @@ |
|
|
|
|
<el-input v-model="timingForm.sceneName" placeholder="请输入策略名称" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="24"> |
|
|
|
|
<el-form-item label="策略描述:" prop="sceneRemark" > |
|
|
|
|
<el-input v-model="timingForm.sceneRemark" placeholder="请输入策略描述" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-checkbox :indeterminate="data.isIndeterminate" v-model="data.checkAll" @change="handleCheckAllChange">全选</el-checkbox> |
|
|
|
|
<div style="margin: 15px 0;"></div> |
|
|
|
|
<el-checkbox-group v-model="data.checkedSblb" @change="handleCheckedCitiesChange"> |
|
|
|
|
<el-checkbox v-for="item in data.sblb" :label="item.deviceId" :key="item.deviceId" style="margin-bottom: 10px">{{item.deviceName}} |
|
|
|
|
<el-input placeholder="进水温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input placeholder="出水温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input placeholder="温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input v-model="item.intemp" placeholder="进水温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input v-model="item.outtemp" placeholder="出水温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input v-model="item.temp" placeholder="温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
</el-checkbox> |
|
|
|
|
</el-checkbox-group> |
|
|
|
|
<!-- <el-col :span="12">--> |
|
|
|
@ -120,13 +124,27 @@ |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="24"> |
|
|
|
|
<el-form-item label="设备列表:" > |
|
|
|
|
<el-select v-model="timingForm1.deviceId" placeholder="设备列表"> |
|
|
|
|
<el-option v-for="item in data.sblb" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
<el-form-item label="策略描述:" prop="sceneRemark" > |
|
|
|
|
<el-input v-model="timingForm1.sceneRemark" placeholder="请输入策略描述" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-checkbox :indeterminate="data.isIndeterminate1" v-model="data.checkAll1" @change="handleCheckAllChange1">全选</el-checkbox> |
|
|
|
|
<div style="margin: 15px 0;"></div> |
|
|
|
|
<el-checkbox-group v-model="data.checkedSblb1" @change="handleCheckedCitiesChange1"> |
|
|
|
|
<el-checkbox v-for="item in data.sblb" :label="item.deviceId" :key="item.deviceId" style="margin-bottom: 10px">{{item.deviceName}} |
|
|
|
|
<el-input v-model="item.intemp" placeholder="进水温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input v-model="item.outtemp" placeholder="出水温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
<el-input v-model="item.temp" placeholder="温度" style="width: 120px ;margin: 10px"/> |
|
|
|
|
</el-checkbox> |
|
|
|
|
</el-checkbox-group> |
|
|
|
|
<!-- <el-col :span="24">--> |
|
|
|
|
<!-- <el-form-item label="设备列表:" >--> |
|
|
|
|
<!-- <el-select v-model="timingForm1.deviceId" placeholder="设备列表">--> |
|
|
|
|
<!-- <el-option v-for="item in data.sblb" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId">--> |
|
|
|
|
<!-- </el-option>--> |
|
|
|
|
<!-- </el-select>--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
<!-- <el-col :span="12">--> |
|
|
|
|
<!-- <el-form-item label="进水温度:" prop="intemp" >--> |
|
|
|
|
<!-- <el-input v-model="timingForm1.intemp" placeholder="进水温度" />--> |
|
|
|
@ -137,11 +155,11 @@ |
|
|
|
|
<!-- <el-input v-model="timingForm1.outtemp" placeholder="出水温度" />--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
<el-col :span="13"> |
|
|
|
|
<el-form-item label="温度值:" prop="temp"> |
|
|
|
|
<el-input v-model="timingForm1.temp" placeholder="温度" maxlength="11" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<!-- <el-col :span="13">--> |
|
|
|
|
<!-- <el-form-item label="温度值:" prop="temp">--> |
|
|
|
|
<!-- <el-input v-model="timingForm1.temp" placeholder="温度" maxlength="11" />--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
<template #footer> |
|
|
|
@ -197,15 +215,22 @@ onMounted(()=>{ |
|
|
|
|
const data = reactive({ |
|
|
|
|
checkAll: false, |
|
|
|
|
checkedSblb: [], |
|
|
|
|
checkAll1: false, |
|
|
|
|
checkedSblb1: [], |
|
|
|
|
sblb: [], |
|
|
|
|
AllName:[], |
|
|
|
|
isIndeterminate: false, |
|
|
|
|
isIndeterminate1: false, |
|
|
|
|
total:'', |
|
|
|
|
timingList:[], |
|
|
|
|
queryParams: '', |
|
|
|
|
sceneCode:0, |
|
|
|
|
dateRange:[], |
|
|
|
|
postData:[], |
|
|
|
|
}); |
|
|
|
|
// const wat = watch(()=> data.sblb,(val) =>{ |
|
|
|
|
// console.log(val) |
|
|
|
|
// }) |
|
|
|
|
//改变 |
|
|
|
|
function changeSl(){ |
|
|
|
|
console.log(data.sceneCode) |
|
|
|
@ -251,7 +276,17 @@ function handleCheckedCitiesChange(value) { |
|
|
|
|
let checkedCount = value.length; |
|
|
|
|
data.checkAll = checkedCount === data.sblb.length; |
|
|
|
|
data.isIndeterminate = checkedCount > 0 && checkedCount < data.sblb.length; |
|
|
|
|
console.log(data.checkedSblb) |
|
|
|
|
} |
|
|
|
|
function handleCheckAllChange1(val) { |
|
|
|
|
data.checkedSblb1 = val ? data.AllName : []; |
|
|
|
|
data.isIndeterminate1 = false; |
|
|
|
|
console.log(data.checkedSblb1) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleCheckedCitiesChange1(value) { |
|
|
|
|
let checkedCount = value.length; |
|
|
|
|
data.checkAll1 = checkedCount === data.sblb.length; |
|
|
|
|
data.isIndeterminate1 = checkedCount > 0 && checkedCount < data.sblb.length; |
|
|
|
|
} |
|
|
|
|
/** 数据表格处理 */ |
|
|
|
|
|
|
|
|
@ -298,19 +333,17 @@ const title1= ref(); |
|
|
|
|
const activeName = ref('1') |
|
|
|
|
const timingForm = reactive({ |
|
|
|
|
sceneName:'', |
|
|
|
|
sceneCode:'', |
|
|
|
|
deviceId:'', |
|
|
|
|
temp:'', |
|
|
|
|
intemp:'', |
|
|
|
|
outtemp:'' |
|
|
|
|
sceneRemark:'', |
|
|
|
|
deviceVos:[] |
|
|
|
|
}) |
|
|
|
|
const timingForm1 = reactive({ |
|
|
|
|
sceneName:'', |
|
|
|
|
sceneCode:'', |
|
|
|
|
deviceId:'', |
|
|
|
|
temp:'', |
|
|
|
|
intemp:'', |
|
|
|
|
outtemp:'' |
|
|
|
|
sceneRemark:'', |
|
|
|
|
deviceVos:[] |
|
|
|
|
// deviceId:'', |
|
|
|
|
// temp:'', |
|
|
|
|
// intemp:'', |
|
|
|
|
// outtemp:'' |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
// const watchTime = watch(()=> timingForm.executeTime, (val) => { |
|
|
|
@ -329,8 +362,29 @@ function handleAdd() { |
|
|
|
|
title.value = "新增策略"; |
|
|
|
|
}; |
|
|
|
|
function submitForm() { |
|
|
|
|
open.value = false; |
|
|
|
|
let tempCheckedSblb = []; |
|
|
|
|
data.checkedSblb.forEach(item => { |
|
|
|
|
let tempItem = { |
|
|
|
|
deviceId: item, |
|
|
|
|
intemp: '', |
|
|
|
|
outtemp: '', |
|
|
|
|
temp: '' |
|
|
|
|
}; |
|
|
|
|
// 根据 item 从 data.sblb 中找到对应的设备信息 |
|
|
|
|
let deviceInfo = data.sblb.find(sblbItem => sblbItem.deviceId === item); |
|
|
|
|
if (deviceInfo) { |
|
|
|
|
tempItem.intemp = deviceInfo.intemp; |
|
|
|
|
tempItem.outtemp = deviceInfo.outtemp; |
|
|
|
|
tempItem.temp = deviceInfo.temp; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
tempCheckedSblb.push(tempItem); |
|
|
|
|
timingForm.deviceVos=tempCheckedSblb |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
console.log(timingForm) |
|
|
|
|
open.value = false; |
|
|
|
|
|
|
|
|
|
postNew(timingForm).then((res)=>{ |
|
|
|
|
console.log(res) |
|
|
|
|
ElMessage({type:"success",message:'新增成功!'}) |
|
|
|
@ -339,51 +393,83 @@ function submitForm() { |
|
|
|
|
console.log(res) |
|
|
|
|
data.queryParams=res.data |
|
|
|
|
}) |
|
|
|
|
timingForm.sceneCode='', |
|
|
|
|
timingForm.sceneName='', |
|
|
|
|
timingForm.deviceId='', |
|
|
|
|
timingForm.temp='', |
|
|
|
|
timingForm.intemp='', |
|
|
|
|
timingForm.outtemp='' |
|
|
|
|
timingForm.sceneRemark='', |
|
|
|
|
timingForm.deviceVos=[] |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
function cancel() { |
|
|
|
|
open.value = false; |
|
|
|
|
timingForm.sceneCode='', |
|
|
|
|
data.checkedSblb=[]; |
|
|
|
|
timingForm.sceneName='', |
|
|
|
|
timingForm.deviceId='', |
|
|
|
|
timingForm.temp='', |
|
|
|
|
timingForm.intemp='', |
|
|
|
|
timingForm.outtemp='' |
|
|
|
|
timingForm.sceneRemark='', |
|
|
|
|
timingForm.deviceVos=[] |
|
|
|
|
}; |
|
|
|
|
function handleXg(sceneId,sceneName,deviceId,sceneValue,sceneContext) { |
|
|
|
|
function handleXg(dat) { |
|
|
|
|
open1.value = true; |
|
|
|
|
title1.value = "修改策略"; |
|
|
|
|
console.log(sceneId) |
|
|
|
|
timingForm1.sceneId=sceneId |
|
|
|
|
timingForm1.sceneName=sceneName |
|
|
|
|
timingForm1.deviceId=deviceId |
|
|
|
|
timingForm1.temp=sceneValue |
|
|
|
|
// if(sceneContext=='出水温度'){ |
|
|
|
|
// timingForm1.outtemp=sceneValue |
|
|
|
|
// }else if (sceneContext=='进水温度'){ |
|
|
|
|
// timingForm1.intemp=sceneValue |
|
|
|
|
// }else{ |
|
|
|
|
// timingForm1.temp=sceneValue |
|
|
|
|
// } |
|
|
|
|
console.log(dat) |
|
|
|
|
var arr = [] |
|
|
|
|
for(let i in dat.deviceVos){ |
|
|
|
|
arr.push(dat.deviceVos[i].deviceId) |
|
|
|
|
} |
|
|
|
|
data.checkedSblb1=arr |
|
|
|
|
for (let i = 0;i < data.sblb.length ;i++ ){ |
|
|
|
|
var deviceId = data.sblb[i].deviceId |
|
|
|
|
for (let j = 0;j < dat.deviceVos.length ;j++ ) { |
|
|
|
|
if ( deviceId === dat.deviceVos[j].deviceId){ |
|
|
|
|
console.log("data.sblb[i].intemp " + data.sblb[i].intemp); |
|
|
|
|
console.log("b.intemp " + dat.deviceVos[j].intemp); |
|
|
|
|
data.sblb[i].intemp = dat.deviceVos[j].intemp; |
|
|
|
|
data.sblb[i].outtemp = dat.deviceVos[j].outtemp; |
|
|
|
|
data.sblb[i].temp = dat.deviceVos[j].temp; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
console.log("---------------------------------") |
|
|
|
|
console.log(data.sblb) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
timingForm1.sceneName=dat.sceneName |
|
|
|
|
timingForm1.sceneRemark=dat.sceneRemark |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
function submitForm1() { |
|
|
|
|
open1.value = false; |
|
|
|
|
console.log(timingForm1) |
|
|
|
|
postXg({ |
|
|
|
|
'sceneId':timingForm1.sceneId, |
|
|
|
|
'sceneValue':timingForm1.temp |
|
|
|
|
}).then((res)=>{ |
|
|
|
|
console.log(res) |
|
|
|
|
ElMessage({type:"success",message:'修改成功!'}) |
|
|
|
|
handleQuery() |
|
|
|
|
}) |
|
|
|
|
let tempCheckedSblb = []; |
|
|
|
|
data.checkedSblb1.forEach(item => { |
|
|
|
|
let tempItem = { |
|
|
|
|
deviceId: item, |
|
|
|
|
deviceName: '', |
|
|
|
|
intemp: '', |
|
|
|
|
outtemp: '', |
|
|
|
|
temp: '' |
|
|
|
|
}; |
|
|
|
|
// 根据 item 从 data.sblb 中找到对应的设备信息 |
|
|
|
|
let deviceInfo = data.sblb.find(sblbItem => sblbItem.deviceId === item); |
|
|
|
|
if (deviceInfo) { |
|
|
|
|
tempItem.deviceName = deviceInfo.deviceName; |
|
|
|
|
tempItem.intemp = deviceInfo.intemp; |
|
|
|
|
tempItem.outtemp = deviceInfo.outtemp; |
|
|
|
|
tempItem.temp = deviceInfo.temp; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
tempCheckedSblb.push(tempItem); |
|
|
|
|
data.postData=tempCheckedSblb |
|
|
|
|
}); |
|
|
|
|
console.log(tempCheckedSblb) |
|
|
|
|
|
|
|
|
|
// open1.value = false; |
|
|
|
|
// console.log(timingForm1) |
|
|
|
|
// postXg({ |
|
|
|
|
// 'sceneId':timingForm1.sceneId, |
|
|
|
|
// 'sceneValue':timingForm1.temp |
|
|
|
|
// }).then((res)=>{ |
|
|
|
|
// console.log(res) |
|
|
|
|
// ElMessage({type:"success",message:'修改成功!'}) |
|
|
|
|
// handleQuery() |
|
|
|
|
// }) |
|
|
|
|
}; |
|
|
|
|
function cancel1() { |
|
|
|
|
open1.value = false; |
|
|
|
|