wangting
2024-12-19 acecd2af0d71d980c741936637f29f008adaf88f
Source/plt-web/plt-web-ui/src/views/wel/workIndex.vue
@@ -1,22 +1,35 @@
<template>
  <div>
    <el-row>
      <el-col v-for="item in homeData" :span="item.span">
        <component :is="item.currentComponent" :key="item.component"></component>
      <el-col v-for="item in homeData" :span="item.span" :xs="24">
        <component :height="height*item.height" :is="item.component" :key="item.component" :title="item.title" :icon="item.icon"></component>
      </el-col>
    </el-row>
  </div>
</template>
<script>
import UndoTaskPortlet from './components/UndoTaskPortlet.vue';
import taskPortlet from './components/taskPortlet.vue';
import test from './components/test.vue';
export default {
  name: "workIndex",
  components:{},
  components:{UndoTaskPortlet,taskPortlet,test},
  data(){
    return {
      height:document.body.clientHeight-115,
      homeData:[{
        component:'UndoTaskPortlet',
        span:24
        height:0.4,
        span:16
      },{
        component:'taskPortlet',
        height:0.3,
        span:5
      },{
        component:'test',
        height:0.6,
        span:12
      }]
    }
  },
@@ -25,20 +38,6 @@
  },
  methods:{
    initData() {
      this.homeData.map(item => {
        this.loadCompoent(item);
        return item;
      })
    },
    loadCompoent(item){
      // 动态导入组件
      import(`@/views/wel/components/${item.component}.vue`).then((module) => {
        // 成功导入后,将组件注册到Vue实例中
        item.currentComponent = module.default;
      }).catch((error) => {
        // 处理导入失败的情况
        console.log('组件加载失败:', error);
      });
    },
  }
}