| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- 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<workspaceAddDatas, workShopTempleteType>,
- labelModuleListType
- > {
- parent?: sceneListType<
- getListWorkshop<workspaceAddDatas, workShopTempleteType>,
- 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,
- }
|