| | |
| | | <!--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> |
| | |
| | | </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, |
| | |
| | | centerAreas:[], |
| | | southAreas:[] |
| | | }, |
| | | northActiveName: 'northTab0', |
| | | westActiveName: 'westTab0', |
| | | centerActiveName: 'centerTab0', |
| | | southActiveName: 'southTab0', |
| | | uiDefineVO: uiDefineVOData |
| | | } |
| | | }, |
| | |
| | | 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); |
| | | }, |
| | | } |
| | | } |