From 986aa62ed00bee39363bab41b4eeb8259d446efd Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期四, 16 一月 2025 18:20:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/views/wel/workIndex.vue |   98 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 74 insertions(+), 24 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/wel/workIndex.vue b/Source/plt-web/plt-web-ui/src/views/wel/workIndex.vue
index 69a16ca..ab52220 100644
--- a/Source/plt-web/plt-web-ui/src/views/wel/workIndex.vue
+++ b/Source/plt-web/plt-web-ui/src/views/wel/workIndex.vue
@@ -1,49 +1,99 @@
 <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.num" :xs="24">
+        <div class="basic-container">
+          <el-card class="basic-container__card" :body-style="{height:+(height*item.ratio-(item.title?78:38))+'px'}">
+            <div slot="header" class="clearfix" v-if="item.title || item.icon">
+              <span>{{item.title}}</span>
+              <icon-show :name="item.icon" style="display: inline-block"></icon-show>
+            </div>
+            <component :height="height*item.ratio" :is="item.module" :key="item.module" :title="item.title" :icon="item.icon"></component>
+          </el-card>
+        </div>
       </el-col>
     </el-row>
+    <i title="鑷畾涔夐厤缃�" class="el-icon-setting" @click="setHandler" style="position: absolute;top:60px;right:20px;font-size: 20px;cursor: pointer"></i>
+    <el-dialog
+      v-dialogDrag
+      title="鑷畾涔夐厤缃�"
+      :visible.sync="visible"
+      append-to-body="true"
+      class="avue-dialog"
+      :fullscreen="true"
+      @close="closeHandler"
+    >
+      <home-config></home-config>
+    </el-dialog>
   </div>
 </template>
 
 <script>
+import {getAllData} from "@/api/homeConfig";
+import homeConfig from './homeConfig.vue';
+import UndoTaskPortlet from './components/UndoTaskPortlet.vue';
+import taskPortlet from './components/taskPortlet.vue';
+import test from './components/test.vue';
 export default {
   name: "workIndex",
-  components:{},
+  components:{homeConfig,UndoTaskPortlet,taskPortlet,test},
   data(){
     return {
-      homeData:[{
-        component:'UndoTaskPortlet',
-        span:24
-      }]
+      height:document.body.clientHeight-115,
+      homeData:[],
+      visible: false,
     }
   },
   created() {
-    this.initData();
+    this.getList();
   },
   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);
+    getList() {
+      getAllData().then(res => {
+        const data = res.data.data;
+        if(data.length>0){
+          this.homeData = data;
+        }else {
+          this.homeData = [{
+            orderNum:1,
+            module: "UndoTaskPortlet",
+            title: "寰呭姙娴佺▼浠诲姟",
+            num:24,
+            icon: "",
+            ratio:1.00
+          }];
+        }
+      }).catch(error=>{
+        this.homeData = [{
+          orderNum:1,
+          module: "UndoTaskPortlet",
+          title: "寰呭姙娴佺▼浠诲姟",
+          num:24,
+          icon: "",
+          ratio:1.00
+        }];
       });
     },
+    setHandler(){
+      this.visible=true;
+    },
+    closeHandler(){
+      this.getList();
+      this.visible=false;
+    }
   }
 }
 </script>
 
-<style scoped>
-
+<style lang="scss" scoped>
+::v-deep {
+  .iconShow{
+    margin-left: 5px;
+    position: relative;
+    top:4px;
+  }
+  .el-col {
+    margin-bottom: 0px;
+  }
+}
 </style>

--
Gitblit v1.9.3