|
|
@@ -7,7 +7,6 @@ meta:
|
|
|
import { getModelByList } from '@/api/model/modelApi'
|
|
|
import { getObjectByList } from '@/api/model/objectApi'
|
|
|
import { getObjectOAMByList } from '@/api/model/objectOAMApi'
|
|
|
-import { createAtu } from '@/api/paas/apiTransUnitApi'
|
|
|
|
|
|
interface TreeNode {
|
|
|
label: string
|
|
|
@@ -47,6 +46,7 @@ const state = reactive({
|
|
|
objectId: 0,
|
|
|
oamId: 1,
|
|
|
},
|
|
|
+ objectOAMDetail: {},
|
|
|
})
|
|
|
|
|
|
const leftTreeRef = ref()
|
|
|
@@ -124,9 +124,10 @@ const onObjectOAMSel = async (row: { modelId: any; objectId: any; oamId: any })
|
|
|
state.formData.modelId = row.modelId
|
|
|
state.formData.objectId = row.objectId
|
|
|
state.formData.oamId = row.oamId
|
|
|
- await createAtu(state.formData)
|
|
|
- emit('onSuccess')
|
|
|
- dialogVisible.value = false
|
|
|
+ state.objectOAMDetail = row
|
|
|
+ // await createAtu(state.formData)
|
|
|
+ // emit('onSuccess')
|
|
|
+ // dialogVisible.value = false
|
|
|
}
|
|
|
|
|
|
// 点击选择
|
|
|
@@ -141,98 +142,89 @@ defineExpose({
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <el-drawer v-model="dialogVisible" :title="state.title" size="55%">
|
|
|
- <div class="absolute-container">
|
|
|
- <div class="page-main">
|
|
|
- <LayoutContainer left-side-width="200px" hide-left-side-toggle>
|
|
|
- <template #leftSide>
|
|
|
- <el-scrollbar class="tree">
|
|
|
- <ElTree ref="leftTreeRef" :data="state.models" default-expand-all node-key="modelId" @node-click="onTreeNodeClick">
|
|
|
- <template #default="{ node, data }">
|
|
|
- <div class="custom-tree-node">
|
|
|
- <div class="label" :title="node.label">
|
|
|
- <el-icon v-if="data.isLeaf" size="16px" style="margin-right: 5px;">
|
|
|
- <svg-icon name="uim:box" />
|
|
|
- </el-icon>
|
|
|
- <div class="text">
|
|
|
- {{ data.label }}
|
|
|
- </div>
|
|
|
+ <el-drawer v-model="dialogVisible" :title="state.title" size="100%">
|
|
|
+ <el-row :gutter="10" style="height:100%">
|
|
|
+ <el-col :xs="24" :span="5" class="small-row">
|
|
|
+ <el-card style="height:100%">
|
|
|
+ <el-scrollbar class="tree">
|
|
|
+ <ElTree ref="leftTreeRef" :data="state.models" default-expand-all node-key="modelId" @node-click="onTreeNodeClick">
|
|
|
+ <template #default="{ node, data }">
|
|
|
+ <div class="custom-tree-node">
|
|
|
+ <div class="label" :title="node.label">
|
|
|
+ <el-icon v-if="data.isLeaf" size="16px" style="margin-right: 5px;">
|
|
|
+ <svg-icon name="uim:box" />
|
|
|
+ </el-icon>
|
|
|
+ <div class="text">
|
|
|
+ {{ data.label }}
|
|
|
</div>
|
|
|
</div>
|
|
|
- </template>
|
|
|
- </ElTree>
|
|
|
- </el-scrollbar>
|
|
|
- </template>
|
|
|
- <div class="container">
|
|
|
- <el-table ref="objectTableRef" v-loading="state.loading" class="list-table" :data="state.objectList" border stripe highlight-current-row height="100%">
|
|
|
- <el-table-column type="index" label="序号" header-align="center" align="center" width="70" />
|
|
|
- <el-table-column prop="objectTitle" label="名称" header-align="center" align="center" minwidth="200" />
|
|
|
- <el-table-column prop="objectCode" label="代码" header-align="center" align="center" minwidth="150" />
|
|
|
- <el-table-column prop="objectType" label="类型" header-align="center" align="center" minwidth="150">
|
|
|
- <template #default="scope">
|
|
|
- <span v-if="scope.row.objectType === 1">实体对象</span>
|
|
|
- <span v-else>视图对象</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="comment" label="说明" header-align="center" align="left" />
|
|
|
- <el-table-column label="操作" header-align="center" align="center" width="100">
|
|
|
- <template #default="scope">
|
|
|
- <el-button type="primary" size="small" plain @click="onObjectSel(scope.row)">
|
|
|
- 选择
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
-
|
|
|
- <template #rightSide >
|
|
|
- <el-table ref="objectOAMTableRef" v-loading="state.loading" class="list-table" :data="state.objectOAMList" border stripe highlight-current-row height="100%">
|
|
|
- <el-table-column type="index" label="序号" header-align="center" align="center" width="70" />
|
|
|
- <el-table-column prop="oamTitle" label="名称" header-align="center" align="center" minwidth="200" />
|
|
|
- <el-table-column prop="oamType" label="类型" header-align="center" align="center" minwidth="150" />
|
|
|
- <el-table-column prop="oamDesc" label="说明" header-align="center" align="left" />
|
|
|
- <el-table-column label="操作" header-align="center" align="center" width="100">
|
|
|
- <template #default="scope">
|
|
|
- <el-button type="primary" size="small" plain @click="onObjectOAMSel(scope.row)">
|
|
|
- 选择
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </template>
|
|
|
- </LayoutContainer>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </ElTree>
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :span="5" class="objectListtable lg-row">
|
|
|
+ <el-card style="height:100%">
|
|
|
+ <el-table
|
|
|
+ v-if="state.objectList && state.objectList.length > 0"
|
|
|
+ ref="objectTableRef"
|
|
|
+ v-loading="state.loading"
|
|
|
+ class="list-table"
|
|
|
+ :data="state.objectList" border :show-header="false"
|
|
|
+ stripe highlight-current-row height="100%" @row-click="onObjectSel"
|
|
|
+ >
|
|
|
+ <el-table-column prop="objectTitle" label="名称" header-align="center" align="center" minwidth="200" />
|
|
|
+ <el-table-column prop="objectCode" label="代码" header-align="center" align="center" minwidth="150" />
|
|
|
+ <el-table-column prop="objectType" label="类型" header-align="center" align="center" minwidth="150">
|
|
|
+ <template #default="scope">
|
|
|
+ <span v-if="scope.row.objectType === 1">实体对象</span>
|
|
|
+ <span v-else>视图对象</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="comment" label="说明" header-align="center" align="left" />
|
|
|
+ </el-table>
|
|
|
+ <el-Empty v-else />
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :span="5" class="objectOAMTableRef small-row">
|
|
|
+ <el-card style="height:100%">
|
|
|
+ <el-table
|
|
|
+ v-if="state.objectOAMList && state.objectOAMList.length > 0"
|
|
|
+ ref="objectOAMTableRef"
|
|
|
+ v-loading="state.loading"
|
|
|
+ class="list-table"
|
|
|
+ :data="state.objectOAMList"
|
|
|
+ border :show-header="false"
|
|
|
+ stripe highlight-current-row height="100%" @row-click="onObjectOAMSel"
|
|
|
+ >
|
|
|
+ <el-table-column prop="oamTitle" label="名称" header-align="center" align="center" minwidth="200" />
|
|
|
+ <el-table-column prop="oamType" label="类型" header-align="center" align="center" minwidth="150" />
|
|
|
+ <el-table-column prop="oamDesc" label="说明" header-align="center" align="left" />
|
|
|
+ </el-table>
|
|
|
+ <el-Empty v-else />
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :span="9" class="objectOAMTableRef">
|
|
|
+ <el-card style="height:100%">
|
|
|
+ <ul v-if="state.objectOAMDetail" class="result-container">
|
|
|
+ <li v-for="(value, key) in state.objectOAMDetail" :key="key">
|
|
|
+ <h3> {{ key }}</h3>
|
|
|
+ <p>{{ value }}</p>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <el-Empty v-else />
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-drawer>
|
|
|
</template>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.container {
|
|
|
- height: 100%;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
-}
|
|
|
-
|
|
|
-.absolute-container {
|
|
|
- :deep(.left-side) {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- height: 100%;
|
|
|
-
|
|
|
- .btns {
|
|
|
- display: inline-flex;
|
|
|
- width: 100%;
|
|
|
- margin-bottom: var(--container-padding);
|
|
|
-
|
|
|
- .add {
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .tree {
|
|
|
+:deep(.tree)
|
|
|
+ {
|
|
|
flex: 1;
|
|
|
overflow-y: auto;
|
|
|
-
|
|
|
.el-tree {
|
|
|
.el-tree-node__content {
|
|
|
height: 40px;
|
|
|
@@ -282,6 +274,4 @@ defineExpose({
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-}
|
|
|
</style>
|