|
|
@@ -29,7 +29,7 @@
|
|
|
<div class="camera-list">
|
|
|
<BasicTable
|
|
|
:columns="columns"
|
|
|
- :data-source="props.addCameraType === 'complete' ? cameraCompleted : cameraInCompleted"
|
|
|
+ :data-source="props.addCameraType === 'complete' ? cameraCompleted : cameraIncompleted"
|
|
|
:row-key="(row) => row.cameraIp"
|
|
|
:action-column="actionColumn"
|
|
|
:tableSetting="{
|
|
|
@@ -53,98 +53,42 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
- import { h, onMounted, reactive, ref, computed } from 'vue';
|
|
|
+ import { h, reactive, ref } from 'vue';
|
|
|
import { columns } from '../sharedColumns';
|
|
|
import editIcon from '@/assets/images/table/table-edit.png';
|
|
|
import deleteIcon from '@/assets/images/table/table-delete.png';
|
|
|
- import { queryTypeSelect, protocalTypeSelect, CameraSharedItem } from '../constant';
|
|
|
- import useCameraOverview from '../stores/useCameraOverview';
|
|
|
- import useSceneInfos from '@/hooks/useSceneInfos';
|
|
|
- import { storeToRefs } from 'pinia';
|
|
|
- import { BasicColumn, TableActionIcons, BasicTable } from '@/components/Table';
|
|
|
- import { Plus } from '@element-plus/icons-vue';
|
|
|
+ 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';
|
|
|
|
|
|
- const props = defineProps<{ addCameraType: string }>();
|
|
|
+ const CameraShared = useCameraShared();
|
|
|
+ const { queryName, queryAccount, cameraCompleted, cameraIncompleted } = storeToRefs(CameraShared);
|
|
|
+ const { handleAdd, handleDelete, resetSearch } = CameraShared;
|
|
|
|
|
|
- const cameraCompleted = ref<CameraSharedItem[]>([
|
|
|
- {
|
|
|
- cameraIp: '11133',
|
|
|
- cameraType: 'haikang',
|
|
|
- cameraPort: '11',
|
|
|
- companyAccount: 111,
|
|
|
- companyName: '1111',
|
|
|
- code: '3',
|
|
|
- workshopName: '222',
|
|
|
- workspaceName: '2233',
|
|
|
- shareState: 'complete',
|
|
|
- password: '11',
|
|
|
- username: '22',
|
|
|
- },
|
|
|
- ]);
|
|
|
- const cameraInCompleted = ref<CameraSharedItem[]>([
|
|
|
- {
|
|
|
- cameraIp: '111',
|
|
|
- cameraType: 'haikang',
|
|
|
- cameraPort: '11',
|
|
|
- companyAccount: 111,
|
|
|
- companyName: '1111',
|
|
|
- code: '1',
|
|
|
- workshopName: '222',
|
|
|
- workspaceName: '2233',
|
|
|
- shareState: 'incomplete',
|
|
|
- password: '11',
|
|
|
- username: '22',
|
|
|
- },
|
|
|
- {
|
|
|
- cameraIp: '11122',
|
|
|
- cameraType: 'haikang',
|
|
|
- cameraPort: '11',
|
|
|
- companyAccount: 111,
|
|
|
- companyName: '1111',
|
|
|
- code: '2',
|
|
|
- workshopName: '222',
|
|
|
- workspaceName: '2233',
|
|
|
- shareState: 'incomplete',
|
|
|
- password: '11',
|
|
|
- username: '22',
|
|
|
- },
|
|
|
- ]);
|
|
|
+ const props = defineProps<{ addCameraType: string }>();
|
|
|
|
|
|
- const queryName = ref<string>();
|
|
|
- const queryAccount = ref<string>();
|
|
|
const shareEditedPopover = ref<boolean>(false);
|
|
|
|
|
|
- const handleAdd = (row) => {
|
|
|
- if (props.addCameraType === 'complete') return;
|
|
|
- const currentData = cameraInCompleted.value.find((item) => (item.cameraIp = row.cameraIp));
|
|
|
- const indexToRemove = cameraInCompleted.value.findIndex(
|
|
|
- (item) => item.cameraIp === row.cameraIp,
|
|
|
- );
|
|
|
- if (indexToRemove !== -1) {
|
|
|
- cameraInCompleted.value.splice(indexToRemove, 1);
|
|
|
- }
|
|
|
- if (currentData) {
|
|
|
- cameraCompleted.value.push(currentData!);
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
const handleEditData = ref<CameraSharedItem>({} as CameraSharedItem);
|
|
|
+
|
|
|
const handleEdit = (row) => {
|
|
|
shareEditedPopover.value = true;
|
|
|
handleEditData.value = row;
|
|
|
};
|
|
|
- const handleDelete = (_row) => {};
|
|
|
|
|
|
const updateData = (data) => {
|
|
|
- console.log(data);
|
|
|
if (props.addCameraType === 'complete') {
|
|
|
- // const currentData = cameraCompleted.value.find((item) => (item.cameraIp = data.cameraIp));
|
|
|
- const indexToRemove = cameraInCompleted.value.findIndex(
|
|
|
- (item) => item.cameraIp === row.cameraIp,
|
|
|
+ const indexToEdit = cameraIncompleted.value.findIndex(
|
|
|
+ (item) => item.cameraIp === data.cameraIp,
|
|
|
);
|
|
|
- currentData = data;
|
|
|
+ cameraIncompleted.value[indexToEdit] = data;
|
|
|
} else {
|
|
|
+ const indexToEdit = cameraCompleted.value.findIndex(
|
|
|
+ (item) => item.cameraIp === data.cameraIp,
|
|
|
+ );
|
|
|
+ cameraCompleted.value[indexToEdit] = data;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
@@ -156,7 +100,7 @@
|
|
|
key: 'action',
|
|
|
fixed: 'right',
|
|
|
render(record) {
|
|
|
- return h(TableActionIcons as any, {
|
|
|
+ return h(TableActionIconsWords as any, {
|
|
|
space: 20,
|
|
|
color: '#629bf9',
|
|
|
style: 'img',
|
|
|
@@ -164,18 +108,20 @@
|
|
|
actionIcons: [
|
|
|
{
|
|
|
label: '添加',
|
|
|
- icon: Plus,
|
|
|
- onClick: handleAdd.bind(null, record.row),
|
|
|
+ type: 'words',
|
|
|
+ onClick: handleAdd.bind(null, record.row, props.addCameraType),
|
|
|
},
|
|
|
{
|
|
|
label: '编辑',
|
|
|
+ type: 'img',
|
|
|
icon: editIcon,
|
|
|
onClick: handleEdit.bind(null, record.row),
|
|
|
},
|
|
|
{
|
|
|
label: '删除',
|
|
|
+ type: 'img',
|
|
|
icon: deleteIcon,
|
|
|
- onClick: handleDelete.bind(null, record.row),
|
|
|
+ onClick: handleDelete.bind(null, record.row, props.addCameraType),
|
|
|
},
|
|
|
],
|
|
|
});
|
|
|
@@ -183,18 +129,6 @@
|
|
|
});
|
|
|
|
|
|
const queryCameraItems = () => {};
|
|
|
-
|
|
|
- // 重置查询条件
|
|
|
- const resetSearch = () => {
|
|
|
- queryName.value = '';
|
|
|
- queryAccount.value = '';
|
|
|
- // queryCameraType.value = '';
|
|
|
- // queryWorkSpace.value = '';
|
|
|
- };
|
|
|
-
|
|
|
- // onMounted(() => {
|
|
|
- // getScenesTree({ level: 3, valueKey: 'code', labelKey: 'name' });
|
|
|
- // });
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|