Commit 8933b8af authored by 胡占生's avatar 胡占生 🇨🇳

feat: 算法场景 新增页面 算法模块配置

parent 80fc9287
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="baseList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="baseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" /> <el-table-column label="主键id" align="center" prop="id" />
<el-table-column label="场景名称" align="center" prop="sceneName" /> <el-table-column label="场景名称" align="center" prop="sceneName" />
...@@ -113,22 +113,105 @@ ...@@ -113,22 +113,105 @@
/> />
<!-- 添加或修改算法场景对话框 --> <!-- 添加或修改算法场景对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-form-item label="场景名" prop="sceneName"> <el-form-item label="场景名" prop="sceneName">
<el-input v-model="form.sceneName" placeholder="请输入场景名" /> <el-input v-model="form.sceneName" placeholder="请输入场景名" />
</el-form-item> </el-form-item>
<el-form-item label="算法id" prop="algorithmId"> <el-form-item label="场景算法" prop="algorithmId">
<el-input v-model="form.algorithmId" placeholder="请输入算法id" /> <el-input v-model="form.algorithmId" placeholder="请输入场景算法" />
</el-form-item> </el-form-item>
<el-form-item label="处理的预警类型" prop="alarmTypes"> <el-form-item label="分流预警类型" prop="alarmTypes">
<el-input v-model="form.alarmTypes" placeholder="请输入处理的预警类型" /> <el-input v-model="form.alarmTypes" placeholder="请输入处理的分流预警类型" />
</el-form-item> </el-form-item>
<el-form-item label="每秒帧数" prop="frameSecond"> <el-form-item label="每秒帧数" prop="frameSecond">
<el-input v-model="form.frameSecond" placeholder="请输入每秒帧数" /> <el-input v-model="form.frameSecond" placeholder="请输入每秒帧数" />
</el-form-item> </el-form-item>
<el-form-item label="摄像头id列表" prop="cameraIdList"> <el-form-item label="算法块配置" prop="cameraIdList">
<el-input v-model="form.cameraIdList" placeholder="请输入摄像头id列表" /> <el-input v-model="form.cameraIdList" placeholder="请输入算法块配置" />
</el-form-item>
<el-form-item label="算法块" prop="algorithmList">
<el-table v-loading="loading" :data="algorithmList" >
<el-table-column label="算法块名称" align="center" prop="sceneName">
<template slot-scope="scope">
<div>
<el-select :disabled="!scope.row.isEdit" v-model="scope.row.sceneName" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</template>
</el-table-column>
<el-table-column label="算法块配置" align="center" prop="algConfig" >
<template slot-scope="scope">
<div v-if="!scope.row.isEdit">{{ scope.row.algConfig }}</div>
<div v-else>
<el-popover
placement="top"
width="160"
v-model="visible">
<div>
<el-table :show-header="false" :data="scope.row.algConfig">
<el-table-column label="算法块名称" align="center" prop="variableKey">
<template slot-scope="scopes">
<div>
{{'每秒'+scopes.row.variableValue+''}} <el-input v-model="scopes.row.variableKey"></el-input>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="visible = false">取消</el-button>
<el-button type="primary" size="mini" @click="visible = false">确定</el-button>
</div>
<el-button slot="reference">算法块配置</el-button>
</el-popover>
</div>
</template>
</el-table-column>
<el-table-column label="排序" align="center" prop="sort" >
<template slot-scope="scope">
<div v-if="!scope.row.isEdit">{{ scope.row.sort }}</div>
<div v-else>
<el-input v-model="scope.row.sort"></el-input>
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
v-if="!scope.row.isEdit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleAlgUpdate(scope.row)"
v-hasPermi="['system:base:edit']"
>修改</el-button>
<el-button
v-if="scope.row.isEdit"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleAlgSave(scope.row)"
v-hasPermi="['system:base:edit']"
>保存</el-button>
<el-button
v-if="scope.row.isEdit"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleAlgDelete(scope.$index,scope.row)"
v-hasPermi="['system:base:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-button style="width: 100%;" type="primary" plain @click="algAdd">+新增算法块</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -147,12 +230,29 @@ ...@@ -147,12 +230,29 @@
dicts: ['sys_normal_disable'], dicts: ['sys_normal_disable'],
data() { data() {
return { return {
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
ids: [], ids: [],
// 非单个禁用 // 非单个禁用
single: true, single: true,
visible: false,
// 非多个禁用 // 非多个禁用
multiple: true, multiple: true,
// 显示搜索条件 // 显示搜索条件
...@@ -161,6 +261,8 @@ ...@@ -161,6 +261,8 @@
total: 0, total: 0,
// 算法场景表格数据 // 算法场景表格数据
baseList: [], baseList: [],
// 算法块表格数据
algorithmList: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -247,6 +349,33 @@ ...@@ -247,6 +349,33 @@
this.title = "修改算法场景"; this.title = "修改算法场景";
}); });
}, },
handleAlgUpdate(row) {
row.isEdit=true
},
handleAlgSave(row) {
row.isEdit=false
},
handleAlgDelete(index,row) {
this.algorithmList.splice(index, 1)
},
algAdd(){
this.algorithmList.push({
sceneName:'',
algConfig:[
{
variableKey:"frame",
variableValue:"5",
},
{
variableKey:"frame",
variableValue:"4",
},
],
sort:'',
isEdit:true,
})
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment