|
|
@@ -29,7 +29,7 @@
|
|
|
<div class="camera-list">
|
|
|
<!-- :data-source="props.addCameraType === 'complete' ? cameraCompleted : cameraIncompleted" -->
|
|
|
<BasicTable
|
|
|
- :columns="columns"
|
|
|
+ :columns="getColumns(flattendWorkspaces)"
|
|
|
:data-source="cameraShareList"
|
|
|
:row-key="(row) => row.cameraIp"
|
|
|
:action-column="actionColumn"
|
|
|
@@ -48,23 +48,20 @@
|
|
|
class="add-popover"
|
|
|
v-model="shareEditedPopover"
|
|
|
:edit-data="handleEditData"
|
|
|
- @update-data="updateData"
|
|
|
/>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
- import { h, reactive, ref, onMounted } from 'vue';
|
|
|
- import { columns } from '../sharedColumns';
|
|
|
+ import { h, reactive, ref, onMounted, watch, onBeforeMount } from 'vue';
|
|
|
+ import { getColumns } from '../sharedColumns';
|
|
|
import editIcon from '@/assets/images/table/table-edit.png';
|
|
|
import deleteIcon from '@/assets/images/table/table-delete.png';
|
|
|
- import { CameraSharedItem } from '../constant';
|
|
|
import { BasicColumn, TableActionIconsWords, BasicTable } from '@/components/Table';
|
|
|
import CameraEditshared from '../components/CameraEditshared.vue';
|
|
|
- import useCameraShared from '../stores/useSharedCamera';
|
|
|
- import { storeToRefs } from 'pinia';
|
|
|
import useCameraShare from '../stores/useCameraShare';
|
|
|
- // import { onMounted } from 'vue';
|
|
|
+ import useSceneInfos from '@/hooks/useSceneInfos';
|
|
|
+ import { CameraShareType } from '@/api/camera/camera-share';
|
|
|
|
|
|
const useShare = useCameraShare();
|
|
|
const {
|
|
|
@@ -72,45 +69,49 @@
|
|
|
queryName,
|
|
|
queryAccount,
|
|
|
isAddState,
|
|
|
- queryCameraId,
|
|
|
+ queryToTenantId,
|
|
|
conditionSearch,
|
|
|
handleDel,
|
|
|
- handleAdd,
|
|
|
handleEdit,
|
|
|
} = useShare;
|
|
|
|
|
|
- // const CameraShared = useCameraShared();
|
|
|
- // const { queryName, queryAccount, cameraCompleted, cameraIncompleted } = storeToRefs(CameraShared);
|
|
|
- // const { handleAdd, handleDelete, resetSearch } = CameraShared;
|
|
|
+ const sceneInfos = useSceneInfos();
|
|
|
+ const { flattendWorkspaces, getScenesTree } = sceneInfos;
|
|
|
|
|
|
const props = defineProps<{ addCameraType: string }>();
|
|
|
onMounted(() => {
|
|
|
isAddState.value = props.addCameraType === 'incomplete' ? false : true;
|
|
|
+ console.log('isAddState', isAddState.value);
|
|
|
+ queryToTenantId.value = -10;
|
|
|
conditionSearch();
|
|
|
+ console.log(cameraShareList.value);
|
|
|
});
|
|
|
|
|
|
const shareEditedPopover = ref<boolean>(false);
|
|
|
|
|
|
- const handleEditData = ref<CameraSharedItem>({} as CameraSharedItem);
|
|
|
+ const handleEditData = ref<CameraShareType>({} as CameraShareType);
|
|
|
|
|
|
const handleEditDetail = (row) => {
|
|
|
shareEditedPopover.value = true;
|
|
|
+ row.cameraWorkspaceName = flattendWorkspaces.value?.find(
|
|
|
+ (item) => item.id === Number(row.cameraWorkspace),
|
|
|
+ )?.code;
|
|
|
handleEditData.value = row;
|
|
|
};
|
|
|
|
|
|
- const updateData = (data) => {
|
|
|
- // if (props.addCameraType === 'complete') {
|
|
|
- // const indexToEdit = cameraIncompleted.value.findIndex(
|
|
|
- // (item) => item.cameraIp === data.cameraIp,
|
|
|
- // );
|
|
|
- // cameraIncompleted.value[indexToEdit] = data;
|
|
|
- // } else {
|
|
|
- // const indexToEdit = cameraCompleted.value.findIndex(
|
|
|
- // (item) => item.cameraIp === data.cameraIp,
|
|
|
- // );
|
|
|
- // cameraCompleted.value[indexToEdit] = data;
|
|
|
- // }
|
|
|
- };
|
|
|
+ // const updateData = (_data) => {
|
|
|
+ // // if (props.addCameraType === 'complete') {
|
|
|
+ // // const indexToEdit = cameraIncompleted.value.findIndex(
|
|
|
+ // // (item) => item.cameraIp === data.cameraIp,
|
|
|
+ // // );
|
|
|
+ // // cameraIncompleted.value[indexToEdit] = data;
|
|
|
+ // // } else {
|
|
|
+ // // const indexToEdit = cameraCompleted.value.findIndex(
|
|
|
+ // // (item) => item.cameraIp === data.cameraIp,
|
|
|
+ // // );
|
|
|
+ // // cameraCompleted.value[indexToEdit] = data;
|
|
|
+ // // }
|
|
|
+ // };
|
|
|
|
|
|
//添加按钮
|
|
|
const handleChangeAdd = (row) => {
|
|
|
@@ -122,6 +123,7 @@
|
|
|
};
|
|
|
|
|
|
const handleDelete = (row) => {
|
|
|
+ console.log('row', row);
|
|
|
handleDel(row.id);
|
|
|
};
|
|
|
|
|
|
@@ -142,7 +144,6 @@
|
|
|
{
|
|
|
label: '添加',
|
|
|
type: 'words' + props.addCameraType,
|
|
|
- // onClick: handleAdd.bind(null, record.row, props.addCameraType),
|
|
|
onClick: handleChangeAdd.bind(null, record.row),
|
|
|
},
|
|
|
{
|
|
|
@@ -155,7 +156,7 @@
|
|
|
label: '删除',
|
|
|
type: 'img',
|
|
|
icon: deleteIcon,
|
|
|
- onClick: handleDelete.bind(null, record.row, props.addCameraType),
|
|
|
+ onClick: handleDelete.bind(null, record.row),
|
|
|
},
|
|
|
],
|
|
|
});
|
|
|
@@ -170,8 +171,22 @@
|
|
|
//重置
|
|
|
const resetSearch = () => {
|
|
|
queryName.value = '';
|
|
|
- queryAccount.value = undefined;
|
|
|
+ queryAccount.value = '';
|
|
|
};
|
|
|
+
|
|
|
+ watch(
|
|
|
+ () => props.addCameraType,
|
|
|
+ (_val) => {
|
|
|
+ resetSearch();
|
|
|
+ isAddState.value = props.addCameraType === 'incomplete' ? false : true;
|
|
|
+ console.log('isAddState', isAddState.value);
|
|
|
+ conditionSearch();
|
|
|
+ },
|
|
|
+ );
|
|
|
+
|
|
|
+ onBeforeMount(() => {
|
|
|
+ getScenesTree({ level: 3, valueKey: 'code', labelKey: 'name', disabled: true });
|
|
|
+ });
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|