bonus-ui/src/views/base/warning/index.vue

228 lines
6.4 KiB
Vue
Raw Normal View History

2024-11-11 18:08:12 +08:00
<template>
<!-- 工程管理页面 -->
<div class="app-container" style="display: flex">
<div class="sel-ops">
<div
:class="['single-opt', { isActive: item.dictCode === currentLefIndex }]"
v-for="item in lefSelList"
:key="item.dictCode"
@click="selChange(item)"
>
{{ item.dictLabel }}
</div>
</div>
<!-- 表格 -->
<TableModel
:formLabel="formLabel"
:columnsList="columnsList"
:request-api="queryWarningListApi"
ref="tableRef"
@transIdList="getIdList"
:show-right-tools="false"
style="flex: 1"
>
<template slot="btn" slot-scope="{ queryParams }">
<el-button type="primary" @click="handleAddData()" icon="el-icon-plus" size="mini"
>新增配置</el-button>
<el-button type="warning" @click="handleExportData(
exportList,
'base/tbWarnConfig/export',
'预警配置',
queryParams)" icon="el-icon-plus" size="mini"
>导出数据</el-button
>
</template>
<template slot="handle" slot-scope="{ data }">
<el-button
type="primary"
size="mini"
@click="handleEditData(data)"
>编辑</el-button
>
<el-button
type="danger"
size="mini"
@click="handleDeleteData({'id':data.id}, deleteWarningApi)"
>删除</el-button
>
</template>
<!-- <template slot="isMatch" slot-scope="{ data }">
{{ data.proId == null ? '不匹配' : '匹配' }}
</template>-->
</TableModel>
<!-- 新增以及修改时的弹框 -->
<DialogModel
:dialogConfig="dialogConfig"
@closeDialogOuter="closeDialogOuter"
>
<template slot="outerContent">
<!-- 新增以及修改数据的表单组件 -->
<FormWarning
:editParams="editParams"
@closeDialog="closeDialog"
:form-count="currentLefIndex"
/>
</template>
</DialogModel>
</div>
</template>
<script>
import { formLabel, columnsList, dialogConfig, queryProvinces } from './config'
import { commonMixin } from '../mixins/common'
import {
queryWarningListApi,
queryLefSelApi,
deleteWarningApi
} from '@/api/base/warning'
import FormWarning from './components/form-warning.vue'
export default {
name: 'ProjectDepart',
methods: {
queryWarningListApi,
deleteWarningApi,
getIdList(idList) {
this.exportList = []
idList.forEach(item => {
this.exportList.push(item.id)
})
},
selChange(v) {
console.log(v)
this.currentLefIndex = v.dictCode
switch (v.dictCode) {
case 116:
this.columnsList = [
{ t_props: 'configName', t_label: '配置名称', },
{ t_props: 'configVal1Str', t_label: '温度阈值' },
{ t_props: 'configVal2Str', t_label: '湿度阈值' },
{ t_props: 'configVal3Str', t_label: '噪声', },
{ t_props: 'configVal4Str', t_label: 'PM2.5', },
{ t_props: 'configVal5Str', t_label: 'PM10', },
{ t_props: 'configVal6Str', t_label: '风速', },
]
break;
case 117:
this.columnsList = [
{ t_props: 'configName', t_label: '配置名称', },
{ t_props: 'configVal1Str', t_label: '倾角阈值' },
]
break;
case 118:
this.columnsList = [
{ t_props: 'configName', t_label: '配置名称', },
{ t_props: 'configVal1Str', t_label: '拉力阈值' },
]
break;
case 119:
this.columnsList = [
{ t_props: 'configName', t_label: '配置名称', },
{ t_props: 'configVal1Str', t_label: '含氧量阈值' },
{ t_props: 'configVal2Str', t_label: '一氧化碳阈值' },
{ t_props: 'configVal3Str', t_label: '可燃气体阈值' },
{ t_props: 'configVal4Str', t_label: '硫化氢阈值' },
]
break;
2024-12-31 14:56:38 +08:00
case 133:
this.columnsList = [
{ t_props: 'configName', t_label: '配置名称', },
{ t_props: 'configVal1Str', t_label: '测量阈值' },
{ t_props: 'configVal2Str', t_label: '变化阈值' },
{ t_props: 'configVal3Str', t_label: '累加阈值' },
{ t_props: 'configVal4Str', t_label: '基础沉降阈值' },
]
break;
case 134:
this.columnsList = [
{ t_props: 'configName', t_label: '配置名称', },
{ t_props: 'configVal1Str', t_label: '测量阈值' },
{ t_props: 'configVal2Str', t_label: '变化阈值' },
{ t_props: 'configVal3Str', t_label: '累加阈值' },
{ t_props: 'configVal4Str', t_label: '基础沉降阈值' },
]
break;
2024-11-11 18:08:12 +08:00
}
this.$refs.tableRef.queryTableList({
configuType: v.dictCode
})
},
handExport(){
}
},
mixins: [commonMixin],
components: {
FormWarning
},
created() {
queryLefSelApi({
dictType: 'dev_type'
}).then(res => {
this.currentLefIndex = res.data[0].dictCode
this.$refs.tableRef.queryTableList({
configuType: this.currentLefIndex
})
/* this.sendRigCode = {
configuType: this.currentLefIndex
} */
2024-12-31 14:56:38 +08:00
this.lefSelList = res.data.slice(0, 4).concat(res.data.slice(-2));
2024-11-11 18:08:12 +08:00
}).catch(err => {})
},
data() {
return {
// 搜索区表单配置项
formLabel,
// 表格导出id列表
exportList: [],
// 列表区配置项
columnsList,
// 弹框区配置项
dialogConfig,
// 新建时弹框标题
addDialogTitle: '新建配置',
// 修改时弹框标题
editDialogTitle: '修改配置',
lefSelList: [],
currentLefIndex: undefined,
sendRigCode: undefined
}
},
}
</script>
<style lang="scss" scoped>
.sel-ops{
width: 16%;
height: 100%;
margin-right: 20px;
.single-opt{
box-sizing: border-box;
padding: 10px 0;
display: flex;
justify-content: center;
align-items: center;
border: 2px solid #C1C1C0;
margin-bottom: 8px;
border-radius: 10px;
font-size: 14px;
cursor: pointer;
}
.isActive{
border: none;
background-color: #1890FF;
color: #fff;
}
}
</style>