厨房摄像头设置参数接口修改

This commit is contained in:
zzyuan 2025-06-23 10:10:35 +08:00
parent e3862d5792
commit f9d0ff49f9
2 changed files with 109 additions and 391 deletions

View File

@ -2,7 +2,7 @@ import request from '@/utils/request'
// ---------- 基础参数设置 ------------------
// 查询基础参数列表
// 查询基础参数列表
export function getSettingListApi(data) {
return request({
url: '/smart-canteen/kitchen_setting/list',
@ -62,7 +62,7 @@ import request from '@/utils/request'
})
}
// 重置-传感器参数metric
// 重置-传感器参数metric
export function batchResetMetricSettingApi(idStr) {
return request({
url: '/smart-canteen/kitchen_device_sensor_metric/rollback/'+idStr,
@ -72,3 +72,39 @@ import request from '@/utils/request'
}
})
}
// 摄像头参数列表-查询
export function getCameraSettingListApi(data) {
return request({
url: '/smart-canteen/kitchen_camera_setting/list',
method: 'get',
headers: {
"merchant-id":"378915229716713472",
},
params: data
})
}
// 修改摄像头参数设置(批量)
export function batchEditCameraSettingApi(data) {
return request({
url: '/smart-canteen/kitchen_camera_setting/batchEdit',
method: 'post',
headers: {
"merchant-id":"378915229716713472",
},
data: data
})
}
// 修改摄像头参数设置 (批量) (回滚)
export function batchResetCameraSettingApi(data) {
return request({
url: '/smart-canteen/kitchen_camera_setting/batchToDefault',
method: 'post',
headers: {
"merchant-id":"378915229716713472",
},
data: data
})
}

View File

@ -44,177 +44,43 @@
</div>
<div class="item" >
<div style="width: 60%;height: auto;border: 1px solid #e0e0e0;">
<div class="item-th" style="background: #e0e0e0;">
<div style="width: 25%;text-align: center;">违规类型</div>
<div style="width: 40%;text-align: center;">抓拍时间</div>
<div style="width: 35%;text-align: center;">抓拍频率</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
未带厨师帽:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList1" style="width: 100%;"
<div style="width: 80%;height: auto;border: 1px solid #e0e0e0;">
<el-table v-loading="loading" :data="tableList">
<el-table-column label="违规类型" align="center" prop="itemDescription" :show-overflow-tooltip="true" />
<el-table-column label="抓拍时间" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-time-picker
is-range v-model="scope.row.timeList" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
@change="changeOrderTimeList(scope.row)"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_without_hat_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
未带口罩:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList2" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_without_mask_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
未穿厨师服:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList3" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_without_uniform_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
未戴手套:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList4" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_without_glove_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
抽烟:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList5" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_smoking_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
打电话:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList6" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_calling_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
垃圾桶未加盖:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList7" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_trash_no_cover_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
发现老鼠:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList8" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_found_mouse_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
动火离人:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList9" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_fire_without_staff_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
<div class="item-th">
<div style="width: 25%;text-align: center;">
未授权人员闯入:
</div>
<div style="width: 40%;text-align: center;">
<el-time-picker
is-range v-model="timeList10" style="width: 100%;"
range-separator="至" format="HH:mm:ss" value-format="HH:mm:ss"
start-placeholder="00:00:00" end-placeholder="23:59:59"
placeholder="选择时间范围"></el-time-picker>
</div>
<div style="width: 35%;text-align: center;">
<el-input v-model="camera_capture_unauthorized_entry_frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</div>
</div>
</div>
<div style="width: 30%;display: flex;padding-left: 40px;align-self: self-end;">
<el-button type="primary" @click="save4">保存</el-button>
<el-button type="info" @click="reset4">恢复默认</el-button>
</template>
</el-table-column>
<el-table-column label="抓拍频率" align="center" prop="frequency" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.frequency" style="width: 60%;" maxlength="9"
auto-complete="off" placeholder="60"></el-input><span class="item-unit"></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
type="primary"
@click="save42(scope.row)"
>保存</el-button>
<el-button
type="info"
@click="reset42(scope.row)"
>恢复默认</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- <div style="width: 30%;display: flex;padding-left: 40px;align-self: self-end;">
<el-button type="primary" @click="save42">保存</el-button>
<el-button type="info" @click="reset42">恢复默认</el-button>
</div> -->
</div>
</div>
@ -222,8 +88,7 @@
</template>
<script>
import { getSettingListApi,batchEditSettingApi,batchResetSettingApi,getMetricSettingListApi,batchEditMetricSettingApi,batchResetMetricSettingApi } from "@/api/kitchen/setting.js";
import { getSettingListApi,batchEditSettingApi,batchResetSettingApi,getCameraSettingListApi,batchEditCameraSettingApi,batchResetCameraSettingApi } from "@/api/kitchen/setting.js";
export default {
name: "",
dicts: [],
@ -232,6 +97,8 @@ export default {
//
camera_real_name_capture:1,
camera_face_recognition_similarity:null,
loading:false,
tableList:[],
timeList1:[],
camera_capture_without_hat_frequency:null,
timeList2:[],
@ -262,12 +129,10 @@ export default {
},
mounted(){
this.query4()
this.query41()
this.query42()
},
methods: {
methods: {
changeSwitch(e){
console.log(e)
let param = [
@ -275,20 +140,24 @@ export default {
]
batchEditSettingApi(param).then(response => {
this.$message.success("修改成功");
getSettingListApi({"itemName": "camera_real_name_capture"}).then(response => {
this.camera_real_name_capture = response.rows[0].itemValue
});
this.query41()
});
},
query41(){
getSettingListApi({"itemName": "camera_real_name_capture"}).then(response => {
this.camera_real_name_capture = response.rows[0].itemValue
});
getSettingListApi({"itemName": "camera_face_recognition_similarity"}).then(response => {
this.camera_face_recognition_similarity = response.rows[0].itemValue
});
},
save41(){
let param = [
{"itemName": "camera_face_recognition_similarity","itemValue":this.camera_face_recognition_similarity}
]
batchEditSettingApi(param).then(response => {
this.$message.success("保存成功");
getSettingListApi({"itemName": "camera_face_recognition_similarity"}).then(response => {
this.camera_face_recognition_similarity = response.rows[0].itemValue
});
this.query41()
});
},
reset41(){
@ -297,223 +166,36 @@ export default {
]
batchResetSettingApi(param).then(response => {
this.$message.success("恢复成功");
getSettingListApi({"itemName": "camera_face_recognition_similarity"}).then(response => {
this.camera_face_recognition_similarity = response.rows[0].itemValue
});
this.query41()
});
},
query4(){
getSettingListApi({"itemName": "camera_real_name_capture"}).then(response => {
this.camera_real_name_capture = response.rows[0].itemValue
});
getSettingListApi({"itemName": "camera_face_recognition_similarity"}).then(response => {
this.camera_face_recognition_similarity = response.rows[0].itemValue
});
//1
this.timeList1 = []
getSettingListApi({"itemName": "camera_capture_without_hat_start_time"}).then(response => {
this.timeList1[0]=response.rows[0].itemValue;
getSettingListApi({"itemName": "camera_capture_without_hat_end_time"}).then(response => {
this.timeList1.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_without_hat_frequency"}).then(response => {
this.camera_capture_without_hat_frequency = response.rows[0].itemValue
});
//2
this.timeList2 = []
getSettingListApi({"itemName": "camera_capture_without_mask_start_time"}).then(response => {
this.timeList2[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_without_mask_end_time"}).then(response => {
this.timeList2.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_without_mask_frequency"}).then(response => {
this.camera_capture_without_mask_frequency = response.rows[0].itemValue
});
//3
this.timeList3 = []
getSettingListApi({"itemName": "camera_capture_without_uniform_start_time"}).then(response => {
this.timeList3[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_without_uniform_end_time"}).then(response => {
this.timeList3.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_without_uniform_frequency"}).then(response => {
this.camera_capture_without_uniform_frequency = response.rows[0].itemValue
});
//4
this.timeList4 = []
getSettingListApi({"itemName": "camera_capture_without_glove_start_time"}).then(response => {
this.timeList4[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_without_glove_end_time"}).then(response => {
this.timeList4.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_without_glove_frequency"}).then(response => {
this.camera_capture_without_glove_frequency = response.rows[0].itemValue
});
//5
this.timeList5 = []
getSettingListApi({"itemName": "camera_capture_smoking_start_time"}).then(response => {
this.timeList5[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_smoking_end_time"}).then(response => {
this.timeList5.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_smoking_frequency"}).then(response => {
this.camera_capture_smoking_frequency = response.rows[0].itemValue
});
//6
this.timeList6 = []
getSettingListApi({"itemName": "camera_capture_calling_start_time"}).then(response => {
this.timeList6[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_calling_end_time"}).then(response => {
this.timeList6.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_calling_frequency"}).then(response => {
this.camera_capture_calling_frequency = response.rows[0].itemValue
});
//7
this.timeList7 = []
getSettingListApi({"itemName": "camera_capture_trash_no_cover_start_time"}).then(response => {
this.timeList7[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_trash_no_cover_end_time"}).then(response => {
this.timeList7.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_trash_no_cover_frequency"}).then(response => {
this.camera_capture_trash_no_cover_frequency = response.rows[0].itemValue
});
//8
this.timeList8 = []
getSettingListApi({"itemName": "camera_capture_found_mouse_start_time"}).then(response => {
this.timeList8[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_found_mouse_end_time"}).then(response => {
this.timeList8.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_found_mouse_frequency"}).then(response => {
this.camera_capture_found_mouse_frequency = response.rows[0].itemValue
});
//9
this.timeList9 = []
getSettingListApi({"itemName": "camera_capture_fire_without_staff_start_time"}).then(response => {
this.timeList9[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_fire_without_staff_end_time"}).then(response => {
this.timeList9.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_fire_without_staff_frequency"}).then(response => {
this.camera_capture_fire_without_staff_frequency = response.rows[0].itemValue
});
//10
this.timeList10 = []
getSettingListApi({"itemName": "camera_capture_unauthorized_entry_start_time"}).then(response => {
this.timeList10[0]=response.rows[0].itemValue
getSettingListApi({"itemName": "camera_capture_unauthorized_entry_end_time"}).then(response => {
this.timeList10.push(response.rows[0].itemValue)
});
});
getSettingListApi({"itemName": "camera_capture_unauthorized_entry_frequency"}).then(response => {
this.camera_capture_unauthorized_entry_frequency = response.rows[0].itemValue
query42(){
this.loading=true;
getCameraSettingListApi().then(response => {
this.tableList = response.rows;
this.tableList.forEach(item=>{
this.$set(item,"timeList",[item.startTime,item.endTime])
})
this.loading=false
});
},
save4(){
let param = [
//1
{"itemName": "camera_capture_without_hat_start_time","itemValue":this.timeList1[0]},
{"itemName": "camera_capture_without_hat_end_time","itemValue":this.timeList1[1]},
{"itemName": "camera_capture_without_hat_frequency","itemValue":this.camera_capture_without_hat_frequency},
//2
{"itemName": "camera_capture_without_mask_start_time","itemValue":this.timeList2[0]},
{"itemName": "camera_capture_without_mask_end_time","itemValue":this.timeList2[1]},
{"itemName": "camera_capture_without_mask_frequency","itemValue":this.camera_capture_without_mask_frequency},
//3
{"itemName": "camera_capture_without_uniform_start_time","itemValue":this.timeList3[0]},
{"itemName": "camera_capture_without_uniform_end_time","itemValue":this.timeList3[1]},
{"itemName": "camera_capture_without_uniform_frequency","itemValue":this.camera_capture_without_uniform_frequency},
//4
{"itemName": "camera_capture_without_glove_start_time","itemValue":this.timeList4[0]},
{"itemName": "camera_capture_without_glove_end_time","itemValue":this.timeList4[1]},
{"itemName": "camera_capture_without_glove_frequency","itemValue":this.camera_capture_without_glove_frequency},
//5
{"itemName": "camera_capture_smoking_start_time","itemValue":this.timeList5[0]},
{"itemName": "camera_capture_smoking_end_time","itemValue":this.timeList5[1]},
{"itemName": "camera_capture_smoking_frequency","itemValue":this.camera_capture_smoking_frequency},
//6
{"itemName": "camera_capture_calling_start_time","itemValue":this.timeList6[0]},
{"itemName": "camera_capture_calling_end_time","itemValue":this.timeList6[1]},
{"itemName": "camera_capture_calling_frequency","itemValue":this.camera_capture_calling_frequency},
//7
{"itemName": "camera_capture_trash_no_cover_start_time","itemValue":this.timeList7[0]},
{"itemName": "camera_capture_trash_no_cover_end_time","itemValue":this.timeList7[1]},
{"itemName": "camera_capture_trash_no_cover_frequency","itemValue":this.camera_capture_trash_no_cover_frequency},
//8
{"itemName": "camera_capture_found_mouse_start_time","itemValue":this.timeList8[0]},
{"itemName": "camera_capture_found_mouse_end_time","itemValue":this.timeList8[1]},
{"itemName": "camera_capture_found_mouse_frequency","itemValue":this.camera_capture_found_mouse_frequency},
//9
{"itemName": "camera_capture_fire_without_staff_start_time","itemValue":this.timeList9[0]},
{"itemName": "camera_capture_fire_without_staff_end_time","itemValue":this.timeList9[1]},
{"itemName": "camera_capture_fire_without_staff_frequency","itemValue":this.camera_capture_fire_without_staff_frequency},
//10
{"itemName": "camera_capture_unauthorized_entry_start_time","itemValue":this.timeList10[0]},
{"itemName": "camera_capture_unauthorized_entry_end_time","itemValue":this.timeList10[1]},
{"itemName": "camera_capture_unauthorized_entry_frequency","itemValue":this.camera_capture_unauthorized_entry_frequency}
]
batchEditSettingApi(param).then(response => {
changeOrderTimeList(row){
console.log(row)
row.startTime = row.timeList[0]
row.endTime = row.timeList[1]
},
save42(row){
let param = [row]
batchEditCameraSettingApi(param).then(response => {
this.$message.success("保存成功");
this.query4()
this.query42()
});
},
reset4(){
let param = [
//1
{"itemName": "camera_capture_without_hat_start_time"},
{"itemName": "camera_capture_without_hat_end_time"},
{"itemName": "camera_capture_without_hat_frequency"},
//2
{"itemName": "camera_capture_without_mask_start_time"},
{"itemName": "camera_capture_without_mask_end_time"},
{"itemName": "camera_capture_without_mask_frequency"},
//3
{"itemName": "camera_capture_without_uniform_start_time"},
{"itemName": "camera_capture_without_uniform_end_time"},
{"itemName": "camera_capture_without_uniform_frequency"},
//4
{"itemName": "camera_capture_without_glove_start_time"},
{"itemName": "camera_capture_without_glove_end_time"},
{"itemName": "camera_capture_without_glove_frequency"},
//5
{"itemName": "camera_capture_smoking_start_time"},
{"itemName": "camera_capture_smoking_end_time"},
{"itemName": "camera_capture_smoking_frequency"},
//6
{"itemName": "camera_capture_calling_start_time"},
{"itemName": "camera_capture_calling_end_time"},
{"itemName": "camera_capture_calling_frequency"},
//7
{"itemName": "camera_capture_trash_no_cover_start_time"},
{"itemName": "camera_capture_trash_no_cover_end_time"},
{"itemName": "camera_capture_trash_no_cover_frequency"},
//8
{"itemName": "camera_capture_found_mouse_start_time"},
{"itemName": "camera_capture_found_mouse_end_time"},
{"itemName": "camera_capture_found_mouse_frequency"},
//9
{"itemName": "camera_capture_fire_without_staff_start_time"},
{"itemName": "camera_capture_fire_without_staff_end_time"},
{"itemName": "camera_capture_fire_without_staff_frequency"},
//10
{"itemName": "camera_capture_unauthorized_entry_start_time"},
{"itemName": "camera_capture_unauthorized_entry_end_time"},
{"itemName": "camera_capture_unauthorized_entry_frequency"}
]
batchResetSettingApi(param).then(response => {
reset42(row){
let param = [{"itemName":row.itemName}]
batchResetCameraSettingApi(param).then(response => {
this.$message.success("恢复成功");
this.query4()
this.query42()
});
},