houyaf 3 år sedan
förälder
incheckning
d4b825dcc9
3 ändrade filer med 41 tillägg och 58 borttagningar
  1. 1 1
      src/api/model/modelApi.ts
  2. 2 0
      src/views/biz/object/index.vue
  3. 38 57
      src/views/database/data/index.vue

+ 1 - 1
src/api/model/modelApi.ts

@@ -29,7 +29,7 @@ export function getModelById(modelId: number) {
  * 获取模型树视图
  * @returns
  */
-export function getModelData() {
+export function getModelTreeData() {
   return apiRequest({
     url: '/model/data',
     method: 'GET',

+ 2 - 0
src/views/biz/object/index.vue

@@ -157,6 +157,8 @@ function goBack() {
   margin: 0 10px;
 }
 
+.el-description_label
+
 .cell-item {
   display: flex;
   align-items: center;

+ 38 - 57
src/views/database/data/index.vue

@@ -4,13 +4,7 @@ meta:
 </route>
 
 <script lang="ts" setup>
-import { getModelByList } from '@/api/model/modelApi'
-import { getObjectByList } from '@/api/model/modelObjectApi'
-import useSettingsStore from '@/store/modules/settings'
-
-const settingsStore = useSettingsStore()
-const router = useRouter()
-const tabbar = useTabbar()
+import { getModelTreeData } from '@/api/model/modelApi'
 
 interface TreeNode {
   label: string
@@ -19,20 +13,12 @@ interface TreeNode {
   children?: TreeNode[]
 }
 
-interface Object {
-  modelId: number
-  objectId: number
-  objectTitle: string
-  objectCode: string
-  comment: string
-}
-
 const state = reactive({
   loading: false,
   keywords: '',
   treeData: [] as TreeNode[],
+  curModelId: 0,
   curObjectId: 0,
-  objectList: [] as Object[],
   dialogState: 1,
   search: {
     keywords: '',
@@ -40,69 +26,49 @@ const state = reactive({
 })
 
 const leftTreeRef = ref()
-const modelRef = ref()
-const getObjectList = async () => {
-  const curModelId = state.curObjectId
-  if (curModelId > 0) {
-    state.loading = true
-    const { data } = await getObjectByList({})
-    state.objectList = data
-    state.loading = false
-  }
-}
-
-const getObjectData = () => {
-
-}
-
-const getModelList = async () => {
-  const { data } = await getModelByList('')
-  const models: TreeNode[] = []
-  data.forEach((item: any) => {
-    models.push({
-      label: item.modelTitle,
-      value: item.modelId,
-      isLeaf: false,
-    })
-  })
-
-  state.treeData = models
+const getTreeData = async () => {
+  state.loading = true
+  const { data } = await getModelTreeData()
+  state.treeData = data
+  state.loading = false
 
   if (data && data.length > 0) {
-    state.curObjectId = data[0].value
-    nextTick(() => {
-      leftTreeRef.value.setCurrentKey(data[0].value)
-    })
-    await getObjectData()
+    const firstModel = data[0]
+    state.curModelId = firstModel.value
+    if (firstModel.children && firstModel.children.size > 0) {
+      const firstObject = firstModel.children[0]
+      nextTick(() => {
+        // leftTreeRef.value.setCurrentKey(firstObject.value)
+      })
+    }
   }
 }
 
 onMounted(() => {
-  getModelList()
+  getTreeData()
 })
 
 // 对象选择
 const onTreeNodeClick = (node: TreeNode) => {
   if (node.isLeaf) {
     state.curObjectId = node.value
-    getObjectData()
+  }
+  else {
+    state.curModelId = node.value
   }
 }
 
 const objectTableRef = ref()
-const objectRef = ref()
 
 // 检索对象
 const onSearch = () => {
-  getObjectData()
 }
 </script>
 
 <template>
   <div class="absolute-container">
     <tool-header title="数据仓库">
-      <template #right>
-      </template>
+      <template #right />
     </tool-header>
     <div class="page-main">
       <LayoutContainer left-side-width="250px" hide-left-side-toggle>
@@ -115,6 +81,9 @@ const onSearch = () => {
                     <el-icon v-if="data.isLeaf" size="16px" style="margin-right: 5px;">
                       <svg-icon name="uim:box" />
                     </el-icon>
+                    <el-icon v-else size="16px" style="margin-right: 5px;">
+                      <svg-icon name="bx:bxs-component" />
+                    </el-icon>
                     <div class="text">
                       {{ data.label }}
                     </div>
@@ -142,9 +111,17 @@ const onSearch = () => {
           <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" width="200" />
+            <el-table-column prop="objectTitle" label="名称" header-align="center" align="center" width="200">
+              <template #default="scope">
+                <span>{{ scope.row.objectTitle }}</span>
+              </template>
+            </el-table-column>
 
-            <el-table-column prop="objectCode" label="代码" header-align="center" align="center" width="150" />
+            <el-table-column prop="objectCode" label="代码" header-align="center" align="center" width="150">
+              <template #default="scope">
+                <span>{{ scope.row.objectCode }}</span>
+              </template>
+            </el-table-column>
 
             <el-table-column prop="objectType" label="类型" header-align="center" align="center" width="150">
               <template #default="scope">
@@ -153,7 +130,11 @@ const onSearch = () => {
               </template>
             </el-table-column>
 
-            <el-table-column prop="comment" label="说明" header-align="center" align="left" />
+            <el-table-column prop="comment" label="说明" header-align="center" align="left">
+              <template #default="scope">
+                <span>{{ scope.row.comment }}</span>
+              </template>
+            </el-table-column>
           </el-table>
         </div>
       </LayoutContainer>