Commit 50c4f0d5 by 李乾广

store聚类结果 增加 添加人员库 功能

1 parent 26a93a49
<template>
<a-modal
title="添加人员库"
v-if='isVisible'
v-model:visible="isVisible"
width="520px"
height='50%'
class="detail-modal"
>
<a-form :model="formData">
<a-form-item label="人员类型">
<a-select v-model:value="formData.personType" showSearch placeholder="请选择">
<a-select-option
v-for="(item,index) in showDataList"
:key="index"
:value="item.id"
>{{item.name}}</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 { ElMessage } from "element-plus";
import clusterResultApi from './ClusterResultApi'
import moment from 'moment'
export default {
name: 'PersonGroupEditor',
props: {
dataParams: {
type: Object,
default: null,
},
},
setup(props, { emit }) {
const isVisible = ref(false);
// 表单
function getInitialFormData() {
return {
personType: '',
countdate:'',
unids:[],
}
}
const formData = ref(getInitialFormData())
const initDialog = (selectedList) => {
// console.log('initDialog', selectedList)
formData.value = getInitialFormData()
formData.value.unids = selectedList.map(item => item.unid)
formData.value.countdate = selectedList.length > 0 ? moment(selectedList[0].counttime).format('YYYY-MM-DD 00:00:00') : ''
isVisible.value = true;
getDataList()
};
const showDataList = ref([])
const getDataList = () => {
clusterResultApi.getPersonPoolType(props.dataParams).then(r => {
// console.log('getPersonPoolType', r)
showDataList.value = r.data
})
}
const onCancel = () => {
isVisible.value = false;
};
const onSave = () => {
const params = {
unids: formData.value.unids,
personType: formData.value.personType,
countdate: formData.value.countdate,
mallId: props.dataParams.plaza_id,
}
clusterResultApi.addPerson(params).then(
(r) => {
if(r.msg_code==200){
ElMessage({
message: `保存成功`,
type: 'success'
})
// 刷新列表
emit('refresh')
onCancel()
} else {
ElMessage({
message: `保存失败`,
type: 'error'
})
}
}
)
};
return {
isVisible,
formData,
onSave,
onCancel,
initDialog,
showDataList,
};
},
};
</script>
<style lang="less" scoped>
</style>
......@@ -200,6 +200,7 @@
>
<el-button type="text" :disabled="!isMultipleOperation">添加店员库</el-button>
</a-popconfirm>
<el-button type="text" :disabled="!isMultipleOperation" @click="addPersonnelPool(person)">添加人员库</el-button>
<a-popconfirm
title="将彻底删除,您确认吗?"
ok-text="是"
......@@ -291,6 +292,7 @@
<PersonGroupEditor ref='personGroupEditorRef' @refresh="handleEditorRefresh" />
<UploadGroupDataEditor ref='uploadGroupDataEditorRef' @refresh="handleEditorRefresh" />
<PersonGroupMover ref='personGroupMoverRef' :data-params="currentSearchCondition" :data-list="dataList" @refresh="handleRefresh" />
<AddPersonnelPool ref='personnelPoolRef' :data-params="currentSearchCondition" @refresh="handleRefresh" />
<PersonGroupDialog ref='personGroupDialogRef' :query-form="queryForm" @refresh="handleRefresh" />
</template>
......@@ -310,6 +312,7 @@ import PersonGroupEditor from "./PersonGroupEditor.vue";
import UploadGroupDataEditor from "./UploadGroupDataEditor.vue";
import PersonGroupDialog from "./PersonGroupDialog.vue";
import PersonGroupMover from "./PersonGroupMover.vue";
import AddPersonnelPool from "./AddPersonnelPool.vue";
export default {
components:{
......@@ -317,6 +320,7 @@ export default {
UploadGroupDataEditor,
PersonGroupDialog,
PersonGroupMover,
AddPersonnelPool,
// imgDialog
DetailDialog,
PersonnelDialog,
......@@ -1004,6 +1008,19 @@ export default {
}
)
}
// 添加人员库
const personnelPoolRef = ref();
const addPersonnelPool = () => {
console.log('addPersonnelPool')
if (selectedPersonList.value.length < 1) {
ElMessage({
message: `至少选择一条数据`,
type: 'error'
})
return
}
personnelPoolRef.value.initDialog(selectedPersonList.value);
}
// 移动人员
const personGroupMoverRef = ref();
const movePersonRecord = () => {
......@@ -1287,6 +1304,7 @@ export default {
updatePersonInfoByGroup,
uploadGroupData,
deletePersonRecord,
addPersonnelPool,
movePersonRecord,
searchPersonInfoByGroup,
toggleImageDisplayType,
......@@ -1312,6 +1330,7 @@ export default {
DetailDialogComparisonRef,
singleImgComparisonRef,
personGroupMoverRef,
personnelPoolRef,
reqPersonType,
isMultipleOperation,
......
......@@ -90,6 +90,30 @@ class ClusterResultApi {
}
)
}
// 查询集团级人员类型
getPersonPoolType(data) {
return axiosInstance.request(
{
method: 'GET',
url: `/persontype/getPersonPoolType`,
params: filterEmptyValueInObject(
{
plaza_id: data.plaza_id,
},
)
}
)
}
// 添加人员库
addPerson(data) {
return axiosInstance.request(
{
method: 'POST',
url: `/faceRecognitions/addPerson`,
data: data
}
)
}
getGateList(data) {
return axiosInstance.request(
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!