Commit dd1ec57f by 陈岩

feat: 抓拍修正

1 parent 14c2ded6
window._serverHost = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://store.keliuyun.com/' : window.location.host window._serverHost = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://wenan-poc.efivestar.com/' : window.location.host
window._baseUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://store.keliuyun.com/tool/' : `${window.location.origin}/btool/` window._baseUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://wenan-poc.efivestar.com/tool/' : `${window.location.origin}/btool/`
window._reportUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://store.keliuyun.com/report/' : `${window.location.origin}/report/` window._reportUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://wenan-poc.efivestar.com/report/' : `${window.location.origin}/report/`
window._baseImgUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://store.keliuyun.com/images/' : `${window.location.origin}/images/` window._baseImgUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'https://wenan-poc.efivestar.com/images/' : `${window.location.origin}/images/`
window._matchHost = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'http://192.168.1.64:6689/' : window.location.host window._matchHost = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? 'http://192.168.1.64:6689/' : window.location.host
window._socketUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? `wss://${window._serverHost}/btool/` : `wss://${window._serverHost}/btool/` window._socketUrl = ['localhost', '192.168.1.120'].includes(window.location.hostname) ? `wss://${window._serverHost}/btool/` : `wss://${window._serverHost}/btool/`
const log = console.log.bind(console) const log = console.log.bind(console)
\ No newline at end of file \ No newline at end of file
...@@ -192,6 +192,10 @@ ...@@ -192,6 +192,10 @@
<a-form-item style="padding: 5px 0"> <a-form-item style="padding: 5px 0">
<a-button type="primary" @click="updatePersonInfoByGroup">类型修正</a-button> <a-button type="primary" @click="updatePersonInfoByGroup">类型修正</a-button>
</a-form-item> </a-form-item>
<a-form-item style="padding: 5px 0">
<a-button type="primary" @click="updatePersonInfoByCluster">抓拍修正</a-button>
</a-form-item>
<!-- <a-form-item style="padding: 5px 0"> <!-- <a-form-item style="padding: 5px 0">
<a-button type="primary" @click="addOneCaptureData">添加抓拍记录</a-button> <a-button type="primary" @click="addOneCaptureData">添加抓拍记录</a-button>
</a-form-item> --> </a-form-item> -->
...@@ -320,6 +324,9 @@ ...@@ -320,6 +324,9 @@
<singleImgComparisonDialog ref="singleImgComparisonRef"></singleImgComparisonDialog> <singleImgComparisonDialog ref="singleImgComparisonRef"></singleImgComparisonDialog>
<PersonGroupEditor ref='personGroupEditorRef' @refresh="handleEditorRefresh" /> <PersonGroupEditor ref='personGroupEditorRef' @refresh="handleEditorRefresh" />
<!-- 抓拍修正 -->
<PersonClusterEditor :person-type-list="personTypeList" ref='personClusterEditorRef' @refresh="handleEditorRefresh" />
<UploadGroupDataEditor ref='uploadGroupDataEditorRef' @refresh="handleEditorRefresh" /> <UploadGroupDataEditor ref='uploadGroupDataEditorRef' @refresh="handleEditorRefresh" />
<PersonGroupMover ref='personGroupMoverRef' :data-params="currentSearchCondition" :data-list="dataList" @refresh="handleRefresh" /> <PersonGroupMover ref='personGroupMoverRef' :data-params="currentSearchCondition" :data-list="dataList" @refresh="handleRefresh" />
<AddPersonnelPool ref='personnelPoolRef' :data-params="currentSearchCondition" @refresh="handleRefresh" /> <AddPersonnelPool ref='personnelPoolRef' :data-params="currentSearchCondition" @refresh="handleRefresh" />
...@@ -341,6 +348,8 @@ import PersonnelDialog from "../../ComparisonCapturedPictures/PersonnelDialog.vu ...@@ -341,6 +348,8 @@ import PersonnelDialog from "../../ComparisonCapturedPictures/PersonnelDialog.vu
import DetailDialogComparison from "../../ComparisonCapturedPictures/DetailDialogComparisonNew.vue"; import DetailDialogComparison from "../../ComparisonCapturedPictures/DetailDialogComparisonNew.vue";
import singleImgComparisonDialog from "../singleImgComparisonDialog.vue"; import singleImgComparisonDialog from "../singleImgComparisonDialog.vue";
import PersonGroupEditor from "./PersonGroupEditor.vue"; import PersonGroupEditor from "./PersonGroupEditor.vue";
import PersonClusterEditor from "./PersonClusterEditor.vue";
import UploadGroupDataEditor from "./UploadGroupDataEditor.vue"; import UploadGroupDataEditor from "./UploadGroupDataEditor.vue";
import PersonGroupDialog from "./PersonGroupDialog.vue"; import PersonGroupDialog from "./PersonGroupDialog.vue";
import PersonGroupMover from "./PersonGroupMover.vue"; import PersonGroupMover from "./PersonGroupMover.vue";
...@@ -352,6 +361,7 @@ export default { ...@@ -352,6 +361,7 @@ export default {
components:{ components:{
AddEditSnapshotClusterDialog, AddEditSnapshotClusterDialog,
PersonGroupEditor, PersonGroupEditor,
PersonClusterEditor,
UploadGroupDataEditor, UploadGroupDataEditor,
PersonGroupDialog, PersonGroupDialog,
PersonGroupMover, PersonGroupMover,
...@@ -989,6 +999,23 @@ export default { ...@@ -989,6 +999,23 @@ export default {
} }
} }
// 人员抓拍修正
const personClusterEditorRef = ref();
// const isShowGroupEditor = ref(false)
const updatePersonInfoByCluster = function() {
if(currentItemId.value) {
personClusterEditorRef.value?.initDialog(currobj.value);
}else{
ElMessage(
{
message: `请选择聚类图片`,
type: 'warning'
}
)
return
}
}
// 上传数据 // 上传数据
const uploadGroupDataEditorRef = ref(); const uploadGroupDataEditorRef = ref();
const uploadGroupData = function(data) { const uploadGroupData = function(data) {
...@@ -1469,6 +1496,7 @@ export default { ...@@ -1469,6 +1496,7 @@ export default {
formatGender, formatGender,
downloadTrajectoryFile, downloadTrajectoryFile,
clickSearch, clickSearch,
updatePersonInfoByCluster,
handleRefresh, handleRefresh,
handleEditorRefresh, handleEditorRefresh,
currentSearchCondition, currentSearchCondition,
...@@ -1477,6 +1505,7 @@ export default { ...@@ -1477,6 +1505,7 @@ export default {
DetailDialogRef, DetailDialogRef,
personnelDialogRef, personnelDialogRef,
personGroupDialogRef, personGroupDialogRef,
personClusterEditorRef,
personGroupEditorRef, personGroupEditorRef,
uploadGroupDataEditorRef, uploadGroupDataEditorRef,
DetailDialogComparisonRef, DetailDialogComparisonRef,
......
...@@ -172,6 +172,18 @@ class ClusterResultApi { ...@@ -172,6 +172,18 @@ class ClusterResultApi {
} }
) )
} }
// 人员抓拍修正
updateClusterPerson(data) {
return axiosInstance.request(
{
method: 'POST',
url: `/faceRecognitions/updateRecordOrg`,
data: data
}
)
}
// 多选删除 // 多选删除
deletePerson(data) { deletePerson(data) {
return axiosInstance.request( return axiosInstance.request(
...@@ -232,6 +244,15 @@ class ClusterResultApi { ...@@ -232,6 +244,15 @@ class ClusterResultApi {
} }
) )
} }
getChannelSerielNumApi() {
return axiosInstance.request(
{
method: 'GET',
url: `/faceRecognitions/getAllChannel`,
}
)
}
//
// 搜索左侧图片列表 // 搜索左侧图片列表
getAllfacePic(data) { getAllfacePic(data) {
return axiosInstance.request( return axiosInstance.request(
......
<template>
<a-modal
title="抓拍修正"
v-if="isVisible"
v-model:visible="isVisible"
width="400px"
height="50%"
class="detail-modal"
>
<a-form :model="formData">
<a-form-item label="年龄">
<a-input-number
v-model:value="formData.age"
:min="1"
:max="200"
style="width: 100%"
/>
</a-form-item>
<a-form-item label="性别">
<a-select v-model:value="formData.gender" :allowClear="true">
<a-select-option :value="0"></a-select-option>
<a-select-option :value="1"></a-select-option>
</a-select>
</a-form-item>
<a-form-item label="方向">
<a-select
v-model:value="formData.direction"
>
<a-select-option :value="1"></a-select-option>
<a-select-option :value="-1"></a-select-option>
<a-select-option :value="0">横穿</a-select-option>
<a-select-option :value="2">过店</a-select-option>
<a-select-option :value="4">从左到右</a-select-option>
<a-select-option :value="5">从右到左</a-select-option>
<a-select-option :value="7">关注</a-select-option>
<a-select-option :value="8">触达</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="类型">
<a-select
v-model:value="formData.type"
:options="personTypeList"
optionFilterProp="label"
:allowClear="true"
></a-select>
</a-form-item>
<a-form-item label="通道">
<a-select v-model:value="formData.channelSerialnum" :allowClear="true" show-search>
<a-select-option v-for="item in serielList" :key="item.serialnum" :value="item.serialnum">{{ item.serialnum }}</a-select-option>
</a-select>
</a-form-item>
</a-form>
<template #footer>
<a-button type="primary" @click="onSave">保存</a-button>
<a-button @click="onCancel">关闭</a-button>
</template>
</a-modal>
</template>
<script>
import { ref } from "vue";
import clusterResultApi from "@/views/SnapshotCluster/ClusterResult/ClusterResultApi";
import { ElMessage } from "element-plus";
export default {
name: "PersonClusterEditor",
props: {
personTypeList: {
type: Array,
default: () => [],
},
},
setup(props, { emit }) {
const isVisible = ref(false);
// 表单
const formData = ref({});
const initDialog = (data) => {
console.log("initDialog", data);
getChannelSerielList()
formData.value = {
mallId: data.mall_id,
age: data.age,
gender: data.gender,
type: data.person_type,
countdate: data.counttime,
direction: data.direction,
channelSerialnum: data.channel_serialnum,
unid: data.person_unid,
};
isVisible.value = true;
};
const serielList = ref([])
const getChannelSerielList = () => {
clusterResultApi.getChannelSerielNumApi().then((r) => {
if (r.msg_code == 200) {
serielList.value = r.data || []
} else {
ElMessage({
message: `获取通道列表失败`,
type: "error",
});
}
});
};
const onCancel = () => {
isVisible.value = false;
};
const onSave = () => {
clusterResultApi.updateClusterPerson(formData.value).then((r) => {
if (r.msg_code == 200) {
ElMessage({
message: `保存成功`,
type: "success",
});
// 刷新列表
emit("refresh");
onCancel();
} else {
ElMessage({
message: `保存失败`,
type: "error",
});
}
});
};
return {
isVisible,
formData,
onSave,
serielList,
onCancel,
initDialog
};
},
};
</script>
<style lang="less" scoped></style>
...@@ -265,10 +265,11 @@ export default { ...@@ -265,10 +265,11 @@ export default {
addGroupLoading.value = false addGroupLoading.value = false
}) })
}else{ }else{
// 新增处理
const param = { const param = {
dstPersonUnid:personUnid.value, dstPersonUnid:personUnid.value,
srcPersonUnid, srcPersonUnid,
countdate:formData.value.date, countDate:formData.value.date,
} }
clusterResultApi.updateRecognitionApi(param).then((r) => { clusterResultApi.updateRecognitionApi(param).then((r) => {
if(r.msg_code === 200) { if(r.msg_code === 200) {
......
...@@ -70,7 +70,7 @@ module.exports = { ...@@ -70,7 +70,7 @@ module.exports = {
} }
}, },
'/': { '/': {
target: 'https://store.keliuyun.com/btool/', target: 'https://wenan-poc.efivestar.com/btool/',
// target: 'http://117.133.143.116:33333/btool/', // target: 'http://117.133.143.116:33333/btool/',
changeOrigin: true changeOrigin: true
}, },
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!