|
|
@@ -44,46 +44,38 @@
|
|
|
<div v-if="disableDepartmentEdit">
|
|
|
<!-- 上飞定制的抽屉表单 -->
|
|
|
<!-- 公司 -->
|
|
|
- <CompanyDrawer_shangfei
|
|
|
+ <!-- <CompanyDrawer_shangfei
|
|
|
v-if="showDrawer === DrawerType.company"
|
|
|
- :comEdit="comEdit"
|
|
|
- :sceneList="sceneList"
|
|
|
- :templateList="templateList"
|
|
|
:detail="detail"
|
|
|
@on-ok="subCompany"
|
|
|
@on-close="handleUpdateTableCom"
|
|
|
- />
|
|
|
+ /> -->
|
|
|
<!-- 车间 -->
|
|
|
- <WorkshopDrawer_shangfei
|
|
|
+ <!-- <WorkshopDrawer_shangfei
|
|
|
v-if="showDrawer === DrawerType.workshop"
|
|
|
- :workshopTemplateList="workshopTemplateList"
|
|
|
:detail="detail"
|
|
|
@on-close="handleUpdataWorkshopTab"
|
|
|
@on-ok="subWorkshop"
|
|
|
- />
|
|
|
+ /> -->
|
|
|
<!-- 工位 -->
|
|
|
- <WorkspaceDrawer_shangfei
|
|
|
+ <!-- <WorkspaceDrawer_shangfei
|
|
|
v-if="showDrawer === DrawerType.workspace"
|
|
|
:detail="detail"
|
|
|
@on-close="handleUpdataWorkspaceTab"
|
|
|
@on-ok="subWorkspace"
|
|
|
- />
|
|
|
+ /> -->
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<!-- 其他项目的抽屉表单 -->
|
|
|
<!-- 公司 -->
|
|
|
<CompanyDrawer
|
|
|
v-if="showDrawer === DrawerType.company"
|
|
|
- :comEdit="comEdit"
|
|
|
- :sceneList="sceneList"
|
|
|
- :templateList="templateList"
|
|
|
:detail="detail"
|
|
|
@on-ok="subCompany"
|
|
|
@on-close="handleUpdateTableCom" />
|
|
|
<!-- 车间 -->
|
|
|
<WorkshopDrawer
|
|
|
v-if="showDrawer === DrawerType.workshop"
|
|
|
- :workshopTemplateList="workshopTemplateList"
|
|
|
:detail="detail"
|
|
|
@on-close="handleUpdataWorkshopTab"
|
|
|
@on-ok="subWorkshop" />
|
|
|
@@ -102,7 +94,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
- import { ref, onMounted, reactive, h, computed, Ref } from 'vue';
|
|
|
+ import { ref, onMounted, reactive, h, Ref } from 'vue';
|
|
|
import { Plus } from '@element-plus/icons-vue';
|
|
|
import { BasicTable, BasicColumn } from '@/components/Table';
|
|
|
import ActionColomn from './components/ActionColomns.vue';
|
|
|
@@ -112,7 +104,7 @@
|
|
|
import WorkshopDrawer_shangfei from './components/WorkshopDrawer-shangfei.vue';
|
|
|
import WorkspaceDrawer from './components/WorkspaceDrawer.vue';
|
|
|
import WorkspaceDrawer_shangfei from './components/WorkspaceDrawer-shangfei.vue';
|
|
|
- import { DATA_LEVEL, DrawerType, ENABLED } from '@/types/scene/constant.ts';
|
|
|
+ import { DrawerType, IS_DISABLED } from '@/types/scene/constant.ts';
|
|
|
import SceneDialog from './components/SceneDialog.vue';
|
|
|
import {
|
|
|
colomns,
|
|
|
@@ -122,12 +114,12 @@
|
|
|
// flattenCodes,
|
|
|
// getParent,
|
|
|
} from './hook/use-table-method';
|
|
|
- // import {
|
|
|
- // delCompany,
|
|
|
- // delWorkshop,
|
|
|
- // delWorkspace,
|
|
|
- // updateComShopSpaceTreeSort,
|
|
|
- // } from '@/api/scene/scene';
|
|
|
+ import {
|
|
|
+ delCompany,
|
|
|
+ delWorkshop,
|
|
|
+ delWorkspace,
|
|
|
+ // updateComShopSpaceTreeSort,
|
|
|
+ } from '@/api/scene/scene';
|
|
|
import {
|
|
|
// ComAddDatas,
|
|
|
// WorkshopAddDatas,
|
|
|
@@ -137,10 +129,11 @@
|
|
|
UseWorkspaceType,
|
|
|
} from '@/types/scene/type.ts';
|
|
|
import useComTree from './store/use-com-tree';
|
|
|
- import useSceneTemplete from './hook/use-sence-templete';
|
|
|
+ // import useSceneTemplete from './hook/use-sence-templete';
|
|
|
import { storeToRefs } from 'pinia';
|
|
|
// import { ElMessageBox } from 'element-plus';
|
|
|
import { useGlobSetting } from '@/hooks/setting';
|
|
|
+ import { ElMessageBox } from 'element-plus';
|
|
|
|
|
|
// 此处获取了全局变量,关系到用不用sf定制的组件
|
|
|
const globSetting = useGlobSetting();
|
|
|
@@ -151,8 +144,8 @@
|
|
|
const { comTreeData } = storeToRefs(comTree);
|
|
|
|
|
|
const { getComTreeDetail } = comTree;
|
|
|
- const useSceneTempleteDetail = useSceneTemplete();
|
|
|
- const { sceneList, templateList, workshopTemplateList } = useSceneTempleteDetail;
|
|
|
+ // const useSceneTempleteDetail = useSceneTemplete();
|
|
|
+ // const { sceneList, templateList, workshopTemplateList } = useSceneTempleteDetail;
|
|
|
const expendRowKeys = ref(['']);
|
|
|
|
|
|
const showDrawer = ref<DrawerType | null>(null);
|
|
|
@@ -179,9 +172,7 @@
|
|
|
};
|
|
|
|
|
|
// 判断是否为公司编辑
|
|
|
- const comEdit = ref<boolean>(false);
|
|
|
-
|
|
|
- // const level = ref<number>();
|
|
|
+ // const comEdit = ref<boolean>(false);
|
|
|
|
|
|
onMounted(() => {
|
|
|
//获取公司树数据
|
|
|
@@ -197,7 +188,7 @@
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * 新建公司时的表单初始化
|
|
|
+ * 表格外新建公司时的表单初始化
|
|
|
* @modifications
|
|
|
* - 2025-01-09: Yunfeng
|
|
|
* - V4-平台权限重构
|
|
|
@@ -205,21 +196,12 @@
|
|
|
const companyAdd = () => {
|
|
|
showDrawer.value = DrawerType.company;
|
|
|
detail.value = {
|
|
|
- seniorScene: '顶级场景',
|
|
|
- selectItems: [{ tag: '', template: '' }],
|
|
|
- addEnable: ENABLED.TRUE,
|
|
|
+ isDisabled: IS_DISABLED.FALSE,
|
|
|
name: '',
|
|
|
- code: '',
|
|
|
+ // orderNum: comTreeData.value.length,
|
|
|
};
|
|
|
- comEdit.value = false;
|
|
|
};
|
|
|
|
|
|
- // 用于新增场景
|
|
|
- // const selectItems = ref([{ tag: '', template: '' }] as { tag: string; template: string }[]);
|
|
|
- // const allCodes = computed(() => {
|
|
|
- // return flattenCodes(comTreeData.value);
|
|
|
- // });
|
|
|
-
|
|
|
//新增车间
|
|
|
const subWorkshop = () => {
|
|
|
getComTreeDetail();
|
|
|
@@ -260,8 +242,7 @@
|
|
|
dialogVisible.value = true;
|
|
|
};
|
|
|
|
|
|
- //公司,车间,工位的模板数据
|
|
|
- // const editedItem: Ref<(ComAddDatas & WorkshopAddDatas & WorkspaceAddDatas) | undefined> = ref();
|
|
|
+ // 公司,车间,工位的模板数据
|
|
|
const editedItem: Ref<
|
|
|
(UseComType<undefined> & UseWorkshopType<undefined> & UseWorkspaceType) | undefined
|
|
|
> = ref();
|
|
|
@@ -269,20 +250,102 @@
|
|
|
//点击所有添加和编辑时显示的数据内容
|
|
|
const detail = ref({});
|
|
|
|
|
|
- // 点击添加时
|
|
|
+ // 点击添加下一级时
|
|
|
const handleAdd = (row) => {
|
|
|
- console.log(row);
|
|
|
+ editedItem.value = { ...row }; // 将当前行的内容拷贝到 editedItem 中
|
|
|
+ if (editedItem.value?.nodeType === DrawerType.company) {
|
|
|
+ // 如果当前层级为公司级,应传入车间表单
|
|
|
+ showDrawer.value = DrawerType.workshop;
|
|
|
+ detail.value = {
|
|
|
+ // 车间表单需提交:车间名称,所属公司,状态
|
|
|
+ // 因为是添加车间所以没有id
|
|
|
+ name: '',
|
|
|
+ seniorScene: editedItem.value?.name,
|
|
|
+ isDisabled: IS_DISABLED.FALSE,
|
|
|
+ companyId: editedItem.value?.id,
|
|
|
+ // orderNum: editedItem.value?.children?.length,
|
|
|
+ };
|
|
|
+ } else if (editedItem.value?.nodeType === DrawerType.workshop) {
|
|
|
+ // 当前层级为车间级,应传入工位表单
|
|
|
+ showDrawer.value = DrawerType.workspace;
|
|
|
+ detail.value = {
|
|
|
+ // 工位表单需提交:工位名称,所属车间,负责人,状态
|
|
|
+ name: '',
|
|
|
+ seniorScene: editedItem.value?.name,
|
|
|
+ principal: '',
|
|
|
+ isDisabled: IS_DISABLED.FALSE,
|
|
|
+ workshopId: editedItem.value?.id,
|
|
|
+ // orderNum: editedItem.value?.children?.length,
|
|
|
+ };
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
// 点击编辑时
|
|
|
const handleEdit = (row) => {
|
|
|
- editedItem.value = { ...row }; // 将当前行的内容拷贝到 editedItem 中,以便编辑
|
|
|
- console.log(row);
|
|
|
+ editedItem.value = { ...row }; // 将当前行的内容拷贝到 editedItem 中
|
|
|
+ // 如果当前层级为什么级去什么表单
|
|
|
+ showDrawer.value = editedItem.value!.nodeType;
|
|
|
+ if (editedItem.value?.nodeType === DrawerType.company) {
|
|
|
+ // 公司表单初始值
|
|
|
+ detail.value = {
|
|
|
+ id: editedItem.value.id,
|
|
|
+ name: editedItem.value.name,
|
|
|
+ regionCode: editedItem.value.regionCode,
|
|
|
+ isDisabled: editedItem.value.isDisabled,
|
|
|
+ thumbnail: editedItem.value.thumbnail,
|
|
|
+ };
|
|
|
+ } else if (editedItem.value?.nodeType === DrawerType.workshop) {
|
|
|
+ // 车间表单初始值
|
|
|
+ detail.value = {
|
|
|
+ id: editedItem.value.id,
|
|
|
+ name: editedItem.value.name,
|
|
|
+ seniorScene: comTreeData.value.find((it) => it.id === editedItem.value?.companyId)!.name,
|
|
|
+ isDisabled: editedItem.value.isDisabled,
|
|
|
+ };
|
|
|
+ } else if (editedItem.value?.nodeType === DrawerType.workspace) {
|
|
|
+ // 工位表单初始值
|
|
|
+ detail.value = {
|
|
|
+ id: editedItem.value.id,
|
|
|
+ name: editedItem.value.name,
|
|
|
+ seniorScene: comTreeData.value
|
|
|
+ .find((it) => it.id === editedItem.value?.companyId)!
|
|
|
+ .children!.find((it) => it.id === editedItem.value?.workshopId)!.name,
|
|
|
+ principal: editedItem.value.principalName,
|
|
|
+ isDisabled: editedItem.value.isDisabled,
|
|
|
+ };
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
// 点击删除时
|
|
|
const handleDelete = (row) => {
|
|
|
- console.log(row);
|
|
|
+ if (row.children?.length > 0) {
|
|
|
+ ElMessageBox.confirm('存在下级场景,无法删除该场景', '无法删除该条信息', {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'error',
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ElMessageBox.confirm('确认要删除该场景吗', {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ if (row.nodeType === DrawerType.company) {
|
|
|
+ return delCompany(row.id);
|
|
|
+ } else if (row.nodeType === DrawerType.workshop) {
|
|
|
+ return delWorkshop(row.id);
|
|
|
+ } else {
|
|
|
+ return delWorkspace(row.id);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ console.log('删除失败');
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ getComTreeDetail();
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
// 点击上移时
|
|
|
@@ -295,151 +358,6 @@
|
|
|
console.log(row);
|
|
|
};
|
|
|
|
|
|
- //页面设置函数 Deprecated in V4
|
|
|
- // const handleConfig = (row) => {
|
|
|
- // router.push({
|
|
|
- // path: '/page-config/config',
|
|
|
- // query: { companyId: row.id },
|
|
|
- // });
|
|
|
- // };
|
|
|
-
|
|
|
- // TODO 处理添加
|
|
|
- // const handleAdd = (row) => {
|
|
|
- // editedItem.value = { ...row }; // 将当前行的内容拷贝到 editedItem 中,以便编辑
|
|
|
- // //得出当前的数据的层级
|
|
|
- // level.value = findItemLevel(comTreeData.value, row.id, row.name);
|
|
|
- // if ((expendRowKeys.value[0] = row.name)) {
|
|
|
- // expendRowKeys.value[0] = '';
|
|
|
- // }
|
|
|
- // expendRowKeys.value[0] = row.name;
|
|
|
- // if (level.value === DATA_LEVEL.company) {
|
|
|
- // showDrawer.value = DrawerType.workshop;
|
|
|
- // detail.value = {
|
|
|
- // id: editedItem.value?.id,
|
|
|
- // seniorScene: editedItem.value?.name,
|
|
|
- // tagList: row?.labelList,
|
|
|
- // addEnable: ENABLED.TRUE,
|
|
|
- // name: '',
|
|
|
- // code: '',
|
|
|
- // tagWorkshop: null,
|
|
|
- // templateWorkshop: null,
|
|
|
- // };
|
|
|
- // } else if (level.value === DATA_LEVEL.workshop) {
|
|
|
- // detail.value = {
|
|
|
- // id: editedItem.value?.id,
|
|
|
- // seniorScene: editedItem.value?.name,
|
|
|
- // addEnable: ENABLED.TRUE,
|
|
|
- // name: '',
|
|
|
- // code: '',
|
|
|
- // principal: '',
|
|
|
- // };
|
|
|
- // if (disableDepartmentEdit) detail.value['workshopCode'] = editedItem.value?.code;
|
|
|
- // showDrawer.value = DrawerType.workspace;
|
|
|
- // }
|
|
|
- // };
|
|
|
-
|
|
|
- // TODO 在这里实现删除行的函数
|
|
|
- // const handleDelete = (row: Recordable) => {
|
|
|
- // level.value = findItemLevel(comTreeData.value, row.id, row.name);
|
|
|
- // if (row.children?.length > 0) {
|
|
|
- // ElMessageBox.confirm('存在下级场景,无法删除该场景', '无法删除该条信息', {
|
|
|
- // confirmButtonText: '确认',
|
|
|
- // cancelButtonText: '取消',
|
|
|
- // type: 'error',
|
|
|
- // })
|
|
|
- // .then(() => {
|
|
|
- // console.log('存在子集');
|
|
|
- // })
|
|
|
- // .catch(() => {
|
|
|
- // console.log('取消删除物件');
|
|
|
- // });
|
|
|
- // } else {
|
|
|
- // ElMessageBox.confirm('确认要删除该场景吗', {
|
|
|
- // confirmButtonText: '确认',
|
|
|
- // cancelButtonText: '取消',
|
|
|
- // type: 'warning',
|
|
|
- // })
|
|
|
- // .then(() => {
|
|
|
- // //删除接口的调用
|
|
|
- // if (level.value === DATA_LEVEL.company) {
|
|
|
- // return delCompany(row.id);
|
|
|
- // } else if (level.value === DATA_LEVEL.workshop) {
|
|
|
- // return delWorkshop(row.id);
|
|
|
- // } else {
|
|
|
- // return delWorkspace(row.id);
|
|
|
- // }
|
|
|
- // })
|
|
|
- // .catch(() => {
|
|
|
- // console.log('取消删除物件');
|
|
|
- // })
|
|
|
- // .finally(() => {
|
|
|
- // getComTreeDetail();
|
|
|
- // });
|
|
|
- // }
|
|
|
- // };
|
|
|
-
|
|
|
- /**
|
|
|
- * TODO
|
|
|
- * 处理公司/车间/工位编辑表单数据的初始化
|
|
|
- * @modifications
|
|
|
- * - 2025-01-09: Yunfeng
|
|
|
- * - V4-平台权限重构
|
|
|
- */
|
|
|
- // const handleEdit = (row) => {
|
|
|
- // editedItem.value = { ...row }; // 将当前行的内容拷贝到 editedItem 中,以便编辑
|
|
|
- // level.value = findItemLevel(comTreeData.value, row.id, row.name);
|
|
|
- // if (level.value === DATA_LEVEL.company) {
|
|
|
- // showDrawer.value = DrawerType.company;
|
|
|
- // comEdit.value = true;
|
|
|
- // //复原公司选择的场景集合
|
|
|
- // if (row.labelList && Array.isArray(row.labelList)) {
|
|
|
- // selectItems.value = row.labelList.map((item, index) => ({
|
|
|
- // tag: item.id,
|
|
|
- // template: row.moduleList[index]?.id,
|
|
|
- // }));
|
|
|
- // }
|
|
|
- // detail.value = {
|
|
|
- // id: editedItem.value?.id,
|
|
|
- // name: editedItem.value!.name,
|
|
|
- // code: editedItem.value!.code,
|
|
|
- // seniorScene: '顶级场景',
|
|
|
- // addEnable: editedItem.value!.status,
|
|
|
- // selectItems: selectItems.value,
|
|
|
- // remark: editedItem.value?.remark,
|
|
|
- // longitude: editedItem.value?.longitude!,
|
|
|
- // latitude: editedItem.value?.latitude!,
|
|
|
- // regionCode: editedItem.value?.regionCode,
|
|
|
- // thumbnail: editedItem.value?.thumbnail,
|
|
|
- // };
|
|
|
- // } else if (level.value === DATA_LEVEL.workshop && 'companyId' in editedItem.value!) {
|
|
|
- // showDrawer.value = DrawerType.workshop;
|
|
|
- // detail.value = {
|
|
|
- // id: editedItem.value.id,
|
|
|
- // name: editedItem.value.name,
|
|
|
- // code: editedItem.value.code,
|
|
|
- // seniorScene: editedItem.value.parent?.name || '',
|
|
|
- // tagWorkshop: editedItem.value.sceneLabelId,
|
|
|
- // templateWorkshop: editedItem.value.workshopModule?.id,
|
|
|
- // addEnable: editedItem.value.status,
|
|
|
- // tagList: editedItem.value.parent?.labelList || [],
|
|
|
- // companyId: editedItem.value.companyId,
|
|
|
- // };
|
|
|
- // } else if (level.value === DATA_LEVEL.workspace && 'workshopId' in editedItem.value!) {
|
|
|
- // detail.value = {
|
|
|
- // id: editedItem.value.id,
|
|
|
- // name: editedItem.value.name,
|
|
|
- // code: editedItem.value.code,
|
|
|
- // seniorScene: editedItem.value.parent?.name || '',
|
|
|
- // principal: editedItem.value.principal,
|
|
|
- // addEnable: editedItem.value.status,
|
|
|
- // };
|
|
|
-
|
|
|
- // showDrawer.value = DrawerType.workspace;
|
|
|
- // }
|
|
|
- // };
|
|
|
-
|
|
|
- //编辑时的提交按钮功能
|
|
|
-
|
|
|
//编辑公司的提交按钮
|
|
|
const subCompany = () => {
|
|
|
getComTreeDetail();
|