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