视频识别配置,Gll设备类

This commit is contained in:
hongchao 2025-01-03 18:13:38 +08:00
parent 3756aa4727
commit 67dda3891d
3 changed files with 487 additions and 5 deletions

View File

@ -52,3 +52,15 @@ export const editWarningApi = (data) => {
export const deleteWarningApi = (data) => {
return request.post('/base/tbWarnConfig/deleteById',data)
}
/** 查询受限空间违章类型 */
export const queryWarnSpaceTypeApi = (data) => {
return request.get('/base/tbWarnConfig/getWarnSpaceType', {
params: data
})
}
//保存
export function saveWarnSpaceTypeApi(data) {
return request.post('/base/tbWarnConfig/saveWarnSpaceType',data)
}

View File

@ -341,6 +341,72 @@
</el-form-item>
</el-form>
<!-- 表单 7 -->
<el-form
label-width="160px"
size="medium"
ref="projectParamsRef7"
:model="projectParams7"
:rules="projectParams7Rules"
v-if="formCount === 137"
>
<el-form-item label="配置名称" prop="configName" required>
<el-input :maxlength="50" v-model="projectParams7.configName" placeholder="请输入" />
</el-form-item>
<el-form-item label="温度阈值(°C)" required>
<el-col :span="11">
<el-form-item prop="configVal1Min">
<el-input :maxlength="50" v-model="projectParams7.configVal1Min" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col style="display: flex; justify-content: center" class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="configVal1Max">
<el-input :maxlength="50" v-model="projectParams7.configVal1Max" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="局部放电阈值(pC)" required>
<el-col :span="11">
<el-form-item prop="configVal2Min">
<el-input :maxlength="50" v-model="projectParams7.configVal2Min" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col style="display: flex; justify-content: center" class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="configVal2Max">
<el-input :maxlength="50" v-model="projectParams7.configVal2Max" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="微水阈值(ppm)" required>
<el-col :span="11">
<el-form-item prop="configVal3Min">
<el-input :maxlength="50" v-model="projectParams7.configVal3Min" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col style="display: flex; justify-content: center" class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="configVal3Max">
<el-input :maxlength="50" v-model="projectParams7.configVal3Max" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="气压(kPa)" required>
<el-col :span="11">
<el-form-item prop="configVal4Min">
<el-input :maxlength="50" v-model="projectParams7.configVal4Min" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col style="display: flex; justify-content: center" class="line" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="configVal4Max">
<el-input :maxlength="50" v-model="projectParams7.configVal4Max" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form-item>
</el-form>
<!-- 新增-按钮群 -->
<div
v-if="subSort === 1"
@ -419,6 +485,9 @@ export default {
case 134:
Object.assign(this.projectParams6, this.editParams)
break;
case 137:
Object.assign(this.projectParams7, this.editParams)
break;
}
this.subSort = 2
} else {
@ -486,6 +555,17 @@ export default {
configVal3Max: undefined, // max
configVal4Min: undefined, // min
configVal4Max: undefined, // max
},
projectParams7: {
configName: undefined, //
configVal1Min: undefined, // min
configVal1Max: undefined, // max
configVal2Min: undefined, // min
configVal2Max: undefined, // max
configVal3Min: undefined, // min
configVal3Max: undefined, // max
configVal4Min: undefined, // min
configVal4Max: undefined, // max
},
//
projectParams1Rules: {
@ -1926,6 +2006,293 @@ export default {
}
],
},
projectParams7Rules: {
configName: [
{
required: true,
message: '请输入配置名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
configVal1Min: [
{
required: true,
message: '请输入测量阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const valueTemp = parseFloat(value);
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal1Max: [
{
required: true,
message: '请输入测量阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
const valueTemp = parseFloat(value);
if(valueTemp<this.projectParams4.configVal4Min){
return callback(new Error('不可小于最小值'));
}
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal2Min: [
{
required: true,
message: '请输入变化阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const valueTemp = parseFloat(value);
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal2Max: [
{
required: true,
message: '请输入变化阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
const valueTemp = parseFloat(value);
if(valueTemp<this.projectParams4.configVal4Min){
return callback(new Error('不可小于最小值'));
}
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal3Min: [
{
required: true,
message: '请输入累加阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const valueTemp = parseFloat(value);
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal3Max: [
{
required: true,
message: '请输入累加阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
const valueTemp = parseFloat(value);
if(valueTemp<this.projectParams4.configVal4Min){
return callback(new Error('不可小于最小值'));
}
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal4Min: [
{
required: true,
message: '请输入基础沉降阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const valueTemp = parseFloat(value);
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
configVal4Max: [
{
required: true,
message: '请输入基础沉降阈值',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
const valueTemp = parseFloat(value);
if(valueTemp<this.projectParams4.configVal4Min){
return callback(new Error('不可小于最小值'));
}
if (value === '' || value === null) {
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
const regexTwo = /^(0|[1-9]\d*)(\.\d{0,2})?$/;
if(!regexTwo.test(value)){
return callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
}
if(valueTemp.toString().includes('.')==true){
if (valueTemp < 0 ||valueTemp.toString().split(".")[1].length>2) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}else{
if (valueTemp < 0 ) {
callback(new Error('请输入大于零的数据且小数点后最多保留两位'));
} else {
callback();
}
}
trigger: 'blur'
}
}
],
},
//
projRange: [],
@ -2020,6 +2387,15 @@ export default {
}
})
break;
case 137:
this.$refs.projectParamsRef7.validate(valid => {
if(valid) {
this.projectParams7.configuType = this.formCount
console.log(this.projectParams7, 'form7')
this.handleAdd(this.projectParams7)
}
})
break;
}
},
async handleAdd(param) {
@ -2086,6 +2462,15 @@ export default {
}
})
break;
case 137:
this.$refs.projectParamsRef7.validate(valid => {
if(valid) {
this.projectParams7.configuType = this.formCount
console.log(this.projectParams7, 'form7')
this.handleEdit(this.projectParams7)
}
})
break;
}
},
async handleEdit(param) {

View File

@ -20,6 +20,7 @@
@transIdList="getIdList"
:show-right-tools="false"
style="flex: 1"
v-if="currentLefIndex!=135"
>
<template slot="btn" slot-scope="{ queryParams }">
<el-button type="primary" @click="handleAddData()" icon="el-icon-plus" size="mini"
@ -51,6 +52,28 @@
</template>-->
</TableModel>
<el-card style="width: 400px;" v-if="currentLefIndex==135">
<el-table
:data="tableList"
stripe
ref="multipleTable"
style="width: 100%"
:row-key="row=>row.id"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column prop="warnType" label="智能识别名称" align="center"/>
</el-table>
<div style="display: flex; justify-content: flex-end; margin-top: 10px;">
<el-button
type="primary"
plain
size="mini"
@click="handleSave"
>保存</el-button>
</div>
</el-card>
<!-- 新增以及修改时的弹框 -->
<DialogModel
:dialogConfig="dialogConfig"
@ -74,7 +97,9 @@ import { commonMixin } from '../mixins/common'
import {
queryWarningListApi,
queryLefSelApi,
deleteWarningApi
deleteWarningApi,
queryWarnSpaceTypeApi,
saveWarnSpaceTypeApi,
} from '@/api/base/warning'
import FormWarning from './components/form-warning.vue'
export default {
@ -142,20 +167,67 @@ export default {
{ t_props: 'configVal4Str', t_label: '基础沉降阈值' },
]
break;
case 137:
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;
}
this.$refs.tableRef.queryTableList({
configuType: v.dictCode
})
if(v.dictCode == 135){
this.queryWarnSpaceTypeList()
}
},
handExport(){
},
async queryWarnSpaceTypeList(){
let res = await queryWarnSpaceTypeApi({
id: 135
})
this.tableList = res.data
// this.selectedRows = this.tableList.filter(row => row.isCheck === 1);
this.tableList.forEach(row => {
if(row.isCheck === 1){
this.$nextTick(() => {
this.$refs.multipleTable.toggleRowSelection(row)
})
}
});
console.log('3333333',this.selectedRows)
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
//
handleSave() {
let ids = this.ids
this.$modal.confirm('是否确认保存?').then(function() {
return saveWarnSpaceTypeApi({ids});
}).then(() => {
this.queryWarnSpaceTypeList()
this.$modal.msgSuccess("保存成功");
}).catch(() => {});
},
},
mixins: [commonMixin],
components: {
FormWarning
},
created() {
queryLefSelApi({
dictType: 'dev_type'
}).then(res => {
@ -166,8 +238,13 @@ export default {
/* this.sendRigCode = {
configuType: this.currentLefIndex
} */
this.lefSelList = res.data.slice(0, 4).concat(res.data.slice(-2));
}).catch(err => {})
// this.lefSelList = res.data.slice(0, 4).concat(res.data.slice(-2));
this.lefSelList = res.data.filter(item => {
return item.dictCode != 123 && item.dictCode != 124 && item.dictCode!= 136
})
}).catch(err => { })
},
data() {
return {
@ -185,7 +262,15 @@ export default {
editDialogTitle: '修改配置',
lefSelList: [],
currentLefIndex: undefined,
sendRigCode: undefined
sendRigCode: undefined,
//
ids: [],
selectedRows: [],
//
single: true,
//
multiple: true,
tableList: [],
}
},
}