|
@@ -3,9 +3,9 @@
|
|
<div class="page-side">
|
|
<div class="page-side">
|
|
<el-card class="box-card" style="height: 100%;min-width:180px;">
|
|
<el-card class="box-card" style="height: 100%;min-width:180px;">
|
|
<template #header>
|
|
<template #header>
|
|
- <div class="card-header" :class="{'side-item-active':activeItemIdx==-1}" @click="handleParamSelect(crtWell,-1)">
|
|
|
|
- <span>{{crtWell.wellName}}</span>
|
|
|
|
-
|
|
|
|
|
|
+ <div class="card-header" :class="{'side-item-active':activeItemIdx==-1}">
|
|
|
|
+ <span @click="handleParamSelect(crtWell,-1)">{{crtWell.wellName}}</span>
|
|
|
|
+ <el-icon title="以模板方式设置" @click="showTmpWin"><CopyDocument /></el-icon>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<el-scrollbar>
|
|
<el-scrollbar>
|
|
@@ -79,18 +79,23 @@
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <el-dialog v-model="dialogCtr.show" :title="dialogCtr.title" :close-on-click-modal="false"
|
|
|
|
+ :destroy-on-close="true">
|
|
|
|
+ <component :is="dialogCtr.subComp" :context="dialogCtr.context" @success="dialogSuccessHandle"/>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
- import {reactive,ref,toRaw,onMounted,watch} from 'vue'
|
|
|
|
|
|
+ import {reactive,ref,toRaw,onMounted,watch,markRaw} from 'vue'
|
|
import { storeToRefs } from 'pinia'
|
|
import { storeToRefs } from 'pinia'
|
|
import { useHomeStore } from "../../store/home.js"
|
|
import { useHomeStore } from "../../store/home.js"
|
|
import alarmDefineAPI from "../../api/alarmDefine.js"
|
|
import alarmDefineAPI from "../../api/alarmDefine.js"
|
|
import {ElMessageBox,ElMessage} from 'element-plus'
|
|
import {ElMessageBox,ElMessage} from 'element-plus'
|
|
import CondExpressGroup from '@/components/CondExpressGroup.vue'
|
|
import CondExpressGroup from '@/components/CondExpressGroup.vue'
|
|
|
|
|
|
-
|
|
|
|
|
|
+ import AlarmTempSelector from './AlarmTempSelector.vue'
|
|
|
|
|
|
const activeItemIdx=ref(null)
|
|
const activeItemIdx=ref(null)
|
|
|
|
|
|
@@ -119,6 +124,33 @@
|
|
const rules =reactive({
|
|
const rules =reactive({
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+ //弹窗动态组件配置
|
|
|
|
+ const dialogCtr=reactive({
|
|
|
|
+ subComp:markRaw(AlarmTempSelector),
|
|
|
|
+ show:false,
|
|
|
|
+ title:'选择报警设置模板',
|
|
|
|
+ context:null
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ const showTmpWin=()=>{
|
|
|
|
+ if(!crtWell.wellId){
|
|
|
|
+ ElMessage.error('没未选择井')
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ let {wellId,wellName}=crtWell
|
|
|
|
+ dialogCtr.context={wellId,wellName}
|
|
|
|
+ dialogCtr.show=true
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const dialogSuccessHandle=()=>{
|
|
|
|
+ dialogCtr.show=false
|
|
|
|
+ ElMessageBox.alert('通过模板设置报警成功,但需手动保存一次(同井任意一报警)来生效','报警设置成功',{
|
|
|
|
+ confirmButtonText: '确认'
|
|
|
|
+ })
|
|
|
|
+ loadAlarmDefine(crtAlarmHolderId)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
const store=useHomeStore()
|
|
const store=useHomeStore()
|
|
const {currentTreeNode} = storeToRefs(store)
|
|
const {currentTreeNode} = storeToRefs(store)
|
|
|
|
|
|
@@ -299,6 +331,9 @@
|
|
height:18px;
|
|
height:18px;
|
|
padding:5px 5px;
|
|
padding:5px 5px;
|
|
border-left:4px solid #ffffff;
|
|
border-left:4px solid #ffffff;
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ align-items: center;
|
|
}
|
|
}
|
|
.page-side .card-header:hover{
|
|
.page-side .card-header:hover{
|
|
|
|
|