From 5b8030f47d66a13ffe11e26ed3ac4cdd7d85e24f Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 15 三月 2024 15:35:00 +0800 Subject: [PATCH] UI上下文展示引擎 --- Source/ProjectWeb/src/views/base/UIContentVIewer.vue | 142 +++++++++++------------------------------------ 1 files changed, 34 insertions(+), 108 deletions(-) diff --git a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue index 55372b6..3bc7c5c 100644 --- a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue +++ b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue @@ -2,94 +2,45 @@ <!--UI涓婁笅鏂囩殑灞曠ず鍣�--> <div style="height:calc(100% - 4px) "> <el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0"> - <basic-container> - <el-tabs v-if="uiDefineVO.northAreas.length>1" v-model="northActiveName" type="card" @tab-click="northHandleClick"> - <el-tab-pane v-for="(areaItem,index) in uiDefineVO.northAreas" :key="areaItem.oid" :label="areaItem.name" :name="'northTab'+index"> - <div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-custom> - </div> - </el-tab-pane> - </el-tabs> - <div v-else> - <div class="componentVO" v-for="(componentVO,index) in uiDefineVO.northAreas[0].componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-custom> - </div> - </div> - </basic-container> + <UIContentArea :key="'northArea-'+uiDefineVO.oid" areas-name="northArea" + :areasData="uiDefineVO.northAreas" + :inDialog="inDialog" + :sourceData="sourceData" + :dataStore="dataStore" + :paramVOS="paramVOS"> + </UIContentArea> </el-header> <el-container :style="'height: '+(uiDefineVO.northAreas && uiDefineVO.northAreas.length>0?'calc(100% - 70px)':'100%')"> <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" width="320px" height="100%"> - <basic-container cradStyle="height:100%"> - <el-tabs v-if="uiDefineVO.westAreas.length>1" v-model="westActiveName" type="card" @tab-click="westHandleClick"> - <el-tab-pane v-for="(areaItem,index) in uiDefineVO.westAreas" :key="areaItem.oid" :label="areaItem.name" :name="'westTab'+index"> - <div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-custom> - </div> - </el-tab-pane> - </el-tabs> - <div v-else> - <div class="componentVO" v-for="(componentVO,index) in uiDefineVO.westAreas[0].componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-custom> - </div> - </div> - </basic-container> + <UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea" + cradStyle="height:100%" + :areasData="uiDefineVO.westAreas" + :inDialog="inDialog" + :sourceData="sourceData" + :dataStore="dataStore" + :paramVOS="paramVOS"> + </UIContentArea> </el-aside> <el-container> <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" style="min-height: calc(100% - 310px)"> - <basic-container cradStyle="height:100%"> - <el-tabs v-if="uiDefineVO.centerAreas.length>1" v-model="centerActiveName" type="card" @tab-click="centerHandleClick"> - <el-tab-pane v-for="(areaItem,index) in uiDefineVO.centerAreas" :key="areaItem.oid" :label="areaItem.name" :name="'centerTab'+index"> - <div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-custom> - </div> - </el-tab-pane> - </el-tabs> - <div v-else> - <div class="componentVO" v-for="(componentVO,index) in uiDefineVO.centerAreas[0].componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-custom> - </div> - </div> - </basic-container> + <UIContentArea :key="'centerArea-'+uiDefineVO.oid" areas-name="centerArea" + cradStyle="height:100%" + :areasData="uiDefineVO.centerAreas" + :inDialog="inDialog" + :sourceData="checkedData.westAreas[0]" + :dataStore="checkedData.centerAreas[0]" + :paramVOS="paramVOS"> + </UIContentArea> </el-main> <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="500px" style="max-height: 300px"> - <basic-container cradStyle="height:100%"> - <el-tabs v-if="uiDefineVO.southAreas.length>1" v-model="southActiveName" type="card" @tab-click="southHandleClick"> - <el-tab-pane v-for="(areaItem,index) in uiDefineVO.southAreas" :key="areaItem.oid" :label="areaItem.name" :name="'southTab'+index"> - <div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-custom> - </div> - </el-tab-pane> - </el-tabs> - <div v-else> - <div class="componentVO" v-for="(componentVO,index) in uiDefineVO.southAreas[0].componentVOs" > - <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-table> - <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-form> - <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-custom> - </div> - </div> - </basic-container> + <UIContentArea :key="'southArea-'+uiDefineVO.oid" areas-name="southArea" + cradStyle="height:100%" + :areasData="uiDefineVO.southAreas" + :inDialog="inDialog" + :sourceData="checkedData.centerAreas[0]" + :dataStore="checkedData.southAreas[0]" + :paramVOS="paramVOS"> + </UIContentArea> </el-footer> </el-container> </el-container> @@ -97,18 +48,12 @@ </template> <script> -import dynamicTable from "@/components/dynamic-components/dynamic-table" -import dynamicForm from "@/components/dynamic-components/dynamic-form" -import dynamicTree from "@/components/dynamic-components/dynamic-tree" -import dynamicCustom from "@/components/dynamic-components/dynamic-custom" - +import UIContentArea from "@/views/base/UIContentArea" import {uiDefineVOData} from "@/views/base/uiDefineVO" -import DynamicForm from "@/components/dynamic-components/dynamic-form"; -import DynamicTree from "@/components/dynamic-components/dynamic-tree"; -import DynamicCustom from "@/components/dynamic-components/dynamic-custom"; export default { - components:{DynamicCustom, DynamicTree, DynamicForm, dynamicTable}, + name: "UIContentViewer", + components:{UIContentArea}, props:{ inDialog: { type: Boolean, @@ -139,10 +84,6 @@ centerAreas:[], southAreas:[] }, - northActiveName: 'northTab0', - westActiveName: 'westTab0', - centerActiveName: 'centerTab0', - southActiveName: 'southTab0', uiDefineVO: uiDefineVOData } }, @@ -156,23 +97,8 @@ initUI(){ }, - showContent(){ - - }, initContent(){ - }, - northHandleClick(tab, event) { - console.log(tab, event); - }, - westHandleClick(tab, event) { - console.log(tab, event); - }, - centerHandleClick(tab, event) { - console.log(tab, event); - }, - southHandleClick(tab, event) { - console.log(tab, event); }, } } -- Gitblit v1.9.3