import { ref } from 'vue'; import { sceneListType, getListWorkshop, workspaceAddDatas, labelModuleListType, } from '@/api/scene/sceneOperate'; import { workShopTempleteType } from '@/api/scene/secene-templet'; export const colomns = [ { label: '场景名称', prop: 'name', width: 300 }, { label: '场景标签', prop: 'companyLabelId', width: 300 }, { label: '代码', prop: 'code' }, ]; interface DataSourceUser extends sceneListType< getListWorkshop, labelModuleListType > { parent?: sceneListType< getListWorkshop, labelModuleListType > | null; } export const dataSourceWithParent = (d: DataSourceUser[], parent: DataSourceUser | null) => { d.forEach((item, _index) => { item.parent = parent; if (item.children && item.children?.length > 0) { dataSourceWithParent(item.children, item); } }); return d; }; export const options = [ { value: 'Option1', label: 'Option1', }, { value: 'Option2', label: 'Option2', }, ]; //用于新增数据 export const updateData = (data, targetId, newAdd) => { for (let i = 0; i < data.length; i++) { const currentItem = data[i]; if (currentItem.id === targetId) { if (!currentItem.children) { currentItem.children = []; } currentItem.children.push(newAdd); return true; // 表示已经找到并修改 } // 如果有子项,递归查找 if (currentItem.children && currentItem.children.length > 0) { const found = updateData(currentItem.children, targetId, newAdd); if (found) { return true; // 如果在子项中找到目标项,停止继续查找 } } } return false; // 表示未找到目标项 }; //判断该条数据的层级 export const findItemLevel = (data, targetId, targetName, currentLevel = 0) => { for (let i = 0; i < data.length; i++) { console.log('i', i); const item = data[i]; if (item.id === targetId && item.name === targetName) { return currentLevel; } if (item.children && item.children.length > 0) { const childLevel = findItemLevel(item.children, targetId, targetName, currentLevel + 1); if (childLevel !== -1) { return childLevel; } } } return -1; }; //删除行 export const deleteTableRow = (dataSource, targetId) => { const deleteRecursive = (data) => { for (let i = 0; i < data.length; i++) { const currentItem = data[i]; if (currentItem.id === targetId) { // 删除当前项 data.splice(i, 1); return true; } // 如果有子项,递归查找 if (currentItem.children && currentItem.children.length > 0) { const found = deleteRecursive(currentItem.children); if (found) { return true; // 如果在子项中找到目标项,停止继续查找 } } } return false; // 表示未找到目标项 }; // 从顶层开始递归删除 deleteRecursive(dataSource); }; //行的编辑提交功能 export const editTableRow = ( dataSource, targetId, level, name, newName, newCode, newStatus, newLeader = '', newTemplete = '', newTag = 0, newToptag = [] as unknown as string[], ) => { const editTRecursive = (data) => { for (let i = 0; i < data.length; i++) { const currentItem = data[i]; if (currentItem.id === targetId) { // 修改 currentItem.name = newName; currentItem.code = newCode; currentItem.status = newStatus; if (level === 0) { currentItem.Toptag = newToptag; } else if (level === 1) { currentItem.companyLabelId = newTag; currentItem.templete = newTemplete; } else if (level === 2) { currentItem.leader = newLeader; } return true; } // 如果有子项,递归查找 if (currentItem.children && currentItem.children.length > 0) { const found = editTRecursive(currentItem.children); if (found) { return true; // 如果在子项中找到目标项,停止继续查找 } } } return false; // 表示未找到目标项 }; editTRecursive(dataSource); }; // export const convertArray = (inputArray) => { // return inputArray.map((item) => { // const [start, end] = item.split('-'); // console.log(start, end); // return { tag: start, templete: end }; // }); // }; export enum ENABLED { FALSE = 1, TRUE = 0, }