|
@@ -0,0 +1,115 @@
|
|
|
+<template>
|
|
|
+ <div class="qpage">
|
|
|
+ <el-form :inline="true" :model="queryForm" class="query-form-inline" label-width="auto">
|
|
|
+ <el-form-item label="当前井">
|
|
|
+ {{$attrs['context']['wellName']}}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="报警模板">
|
|
|
+ <el-select v-model="queryForm.tmpId" @change="queryHandle">
|
|
|
+ <el-option v-for="(tmp,index) in tmpList" :key="index" :label="tmp.tmpName" :value="tmp.tmpId"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="usAlarmTmp">应用模板</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <div class="qpage-body" style="height:calc(100vh - 360px);">
|
|
|
+ <CrudTable
|
|
|
+ ref="crudTable"
|
|
|
+ page-info-opts="total, prev, pager, next,sizes"
|
|
|
+ url="/base/alarmdefine/queryByTmpId"
|
|
|
+ :pageSize="20"
|
|
|
+ :autoLoad="false"
|
|
|
+ >
|
|
|
+
|
|
|
+ <template #tabColumns={indexGenerate}>
|
|
|
+ <el-table-column type="index" :index="indexGenerate" label="序号" width="60" align="center"/>
|
|
|
+ <el-table-column prop="alarmSource" label="报警源" width="120" />
|
|
|
+ <el-table-column prop="expressDesc" label="报警条件" width="220" />
|
|
|
+ <el-table-column prop="alarmModeName" label="报警方式" width="100" />
|
|
|
+ <el-table-column prop="alarmGradeName" label="报警等级" width="90" />
|
|
|
+ <el-table-column prop="usingIf" label="状态" width="80">
|
|
|
+ <template #default="scope">
|
|
|
+ <div>{{scope.row.usingIf?'启用':'禁用'}}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </CrudTable>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+ import {reactive,ref,onMounted,useAttrs} from 'vue'
|
|
|
+ import CrudTable from "../../components/crudtable/CrudTable.vue"
|
|
|
+ import {ElMessageBox,ElMessage} from 'element-plus'
|
|
|
+ import api from "../../api/alarmTemplate.js"
|
|
|
+ import alarmDefineAPI from "../../api/alarmDefine.js"
|
|
|
+
|
|
|
+ const emit=defineEmits(['success'])
|
|
|
+
|
|
|
+ const crudTable=ref(null)
|
|
|
+
|
|
|
+ let attrs = useAttrs()
|
|
|
+
|
|
|
+ const isQuerying=ref(false)
|
|
|
+
|
|
|
+
|
|
|
+ const queryForm = reactive({
|
|
|
+ tmpId:null
|
|
|
+ })
|
|
|
+
|
|
|
+ const tmpList=ref([])
|
|
|
+
|
|
|
+ const queryHandle=()=>{
|
|
|
+ isQuerying.value=true
|
|
|
+ crudTable.value.query(queryForm).then(resp=>{
|
|
|
+ isQuerying.value=false
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ const usAlarmTmp=()=>{
|
|
|
+ let tmpId=queryForm.tmpId,wellId=attrs['context']['wellId']
|
|
|
+ if(tmpId==null || wellId==null){
|
|
|
+ ElMessage.error('缺少井号或模板号')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ alarmDefineAPI.transFromTmp(wellId,tmpId).then(resp=>{
|
|
|
+ if(resp.code!=0){
|
|
|
+ ElMessage.error(resp.msg || '操作失败')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ emit('success')
|
|
|
+ }).catch(err=>{
|
|
|
+ console.log(err)
|
|
|
+ ElMessage.error('操作出现错误')
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ onMounted(()=>{
|
|
|
+ loadTmp()
|
|
|
+ })
|
|
|
+
|
|
|
+ const loadTmp=()=>{
|
|
|
+ api.loadAllTemplate().then(resp=>{
|
|
|
+ if(resp.code!=0){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tmpList.value=resp.data
|
|
|
+ queryForm.tmpId=resp.data[0].tmpId
|
|
|
+ queryHandle()
|
|
|
+ }).catch(err=>{
|
|
|
+ console.log(err)
|
|
|
+ })
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+ @import url('../../assets/css/qpage.css');
|
|
|
+</style>
|