¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <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> |
| | | </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" |
| | | export default { |
| | | name: "dynamicIndex", |
| | | components:{dynamicCustom, dynamicTree, dynamicForm, dynamicTable}, |
| | | props:{ |
| | | componentVO:{ |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | inDialog: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | sourceData:{ |
| | | //èåæºæ°æ®æè
å¼¹çªæ¶æé®æå±åºåçä¸ä¸åºåé䏿°æ® |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | dataStore:{ |
| | | //å¼¹çªæ¶æé®æå±åºåé䏿°æ® |
| | | type:Array, |
| | | default: [] |
| | | }, |
| | | paramVOS:{ |
| | | type:Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <basic-container :cradStyle="cradStyle"> |
| | | <el-tabs v-if="areasData.length>1" v-model="activeName" type="card" @tab-click="tabHandleClick"> |
| | | <el-tab-pane v-for="(areaItem,index) in areasData" :key="areaItem.oid" :label="areaItem.name" :name="areasName+'-Tab-'+index"> |
| | | <el-collapse v-model="collapseActiveNames" v-if="areaItem.componentVOs.length>1"> |
| | | <el-collapse-item v-for="(componentVO,componentIndex) in areaItem.componentVOs" :name="areasName+'-collapse-'+componentIndex"> |
| | | <template slot="title"> |
| | | {{componentVO.name}} |
| | | </template> |
| | | <div class="componentVO" style="height: 60%"> |
| | | <compoent-index :key="componentVO.oid" :componentVO="componentVO" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | <div v-else class="componentVO"> |
| | | <compoent-index :key="areaItem.componentVOs[0].oid" :componentVO="areaItem.componentVOs[0]" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <div v-else> |
| | | <el-collapse v-model="collapseActiveNames" v-if="areasData[0].componentVOs.length>1"> |
| | | <el-collapse-item v-for="(componentVO,componentIndex) in areasData[0].componentVOs" :name="areasName+'-collapse-'+componentIndex"> |
| | | <template slot="title"> |
| | | {{componentVO.name}} |
| | | </template> |
| | | <div class="componentVO" style="height: 60%"> |
| | | <compoent-index :key="componentVO.oid" :componentVO="componentVO" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | <div v-else class="componentVO"> |
| | | <compoent-index :key="areasData[0].componentVOs[0].oid" :componentVO="areasData[0].componentVOs[0]" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index> |
| | | </div> |
| | | </div> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import compoentIndex from "@/components/dynamic-components/index" |
| | | export default { |
| | | name: "UIContentArea", |
| | | components:{compoentIndex}, |
| | | props:{ |
| | | inDialog: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | areasName:{ |
| | | type:String, |
| | | default:'' |
| | | }, |
| | | areasData:{ |
| | | type:Array, |
| | | default:[] |
| | | }, |
| | | sourceData:{ |
| | | //èåæºæ°æ®æè
å¼¹çªæ¶æé®æå±åºåçä¸ä¸åºåé䏿°æ® |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | dataStore:{ |
| | | //å¼¹çªæ¶æé®æå±åºåé䏿°æ® |
| | | type:Array, |
| | | default: [] |
| | | }, |
| | | paramVOS:{ |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | cradStyle:'' |
| | | }, |
| | | data(){ |
| | | return{ |
| | | activeName:this.areasName+'-Tab-0', |
| | | collapseActiveNames:[this.areasName+'-collapse-0'] |
| | | } |
| | | }, |
| | | mounted() { |
| | | console.log(this.areasData); |
| | | }, |
| | | methods:{ |
| | | tabHandleClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <!--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); |
| | | }, |
| | | } |
| | | } |
| | |
| | | "versionRule": null, |
| | | "versionSeq": 0, |
| | | "versionValue": null |
| | | }, |
| | | { |
| | | "btmname": null, |
| | | "buttons": [ |
| | | { |
| | | "actionVO": { |
| | | "actionCls": "", |
| | | "actionUsedType": "business", |
| | | "bsUrl": "null", |
| | | "createTime": "2014-03-14 15:54:05.000", |
| | | "creator": "1", |
| | | "csClass": "plm.uif.actions.client.AddSaveAction", |
| | | "description": "å建ä¿åæé®", |
| | | "id": "addsave", |
| | | "lastModifier": "1", |
| | | "lastModifyTime": "2014-03-14 15:54:05.000", |
| | | "licensors": null, |
| | | "name": "å建ä¿åæé®", |
| | | "oid": "2AAFDEE1-B760-A0AD-6C2A-CB2C0C3407A3" |
| | | }, |
| | | "areaType": "tab", |
| | | "authorization": true, |
| | | "children": null, |
| | | "createTime": "2024-03-15 10:52:57.000", |
| | | "creator": "developer", |
| | | "csUrl": "plm.uif.actions.client.AddSaveAction", |
| | | "description": "", |
| | | "displayMode": "textandimage", |
| | | "hidden": false, |
| | | "iconPath": "", |
| | | "id": "addsave", |
| | | "lastModifier": "developer", |
| | | "lastModifyTime": "2024-03-15 10:52:57.000", |
| | | "name": "æ°å¢", |
| | | "oid": "A974C16B-4751-6365-8756-C11B74AA1C53", |
| | | "orderNum": 1, |
| | | "paramVOS": { |
| | | "type": "folder" |
| | | }, |
| | | "pkComponent": "0BA77BDF-7023-AE81-4EAC-7396C56FA7C9", |
| | | "pkParentOid": "", |
| | | "url": "null" |
| | | }, |
| | | { |
| | | "actionVO": { |
| | | "actionCls": "", |
| | | "actionUsedType": "business", |
| | | "bsUrl": "null", |
| | | "createTime": "2014-03-14 15:54:05.000", |
| | | "creator": "1", |
| | | "csClass": "plm.uif.actions.client.AddSaveAction", |
| | | "description": "å建ä¿åæé®", |
| | | "id": "addsave", |
| | | "lastModifier": "1", |
| | | "lastModifyTime": "2014-03-14 15:54:05.000", |
| | | "licensors": null, |
| | | "name": "å建ä¿åæé®", |
| | | "oid": "2AAFDEE1-B760-A0AD-6C2A-CB2C0C3407A3" |
| | | }, |
| | | "areaType": "tab", |
| | | "authorization": true, |
| | | "children": null, |
| | | "createTime": "2024-03-15 10:52:57.000", |
| | | "creator": "developer", |
| | | "csUrl": "plm.uif.actions.client.AddSaveAction", |
| | | "description": "", |
| | | "displayMode": "textandimage", |
| | | "hidden": false, |
| | | "iconPath": "", |
| | | "id": "addsave", |
| | | "lastModifier": "developer", |
| | | "lastModifyTime": "2024-03-15 10:52:57.000", |
| | | "name": "æ°å¢", |
| | | "oid": "A974C16B-4751-6365-8756-C11B74AA1C53", |
| | | "orderNum": 1, |
| | | "paramVOS": { |
| | | "type": "folder" |
| | | }, |
| | | "pkComponent": "0BA77BDF-7023-AE81-4EAC-7396C56FA7C9", |
| | | "pkParentOid": "", |
| | | "url": "null" |
| | | } |
| | | ], |
| | | "checkInBy": null, |
| | | "checkInTime": null, |
| | | "checkOutBy": null, |
| | | "checkOutTime": null, |
| | | "copyFromVersion": null, |
| | | "createTime": null, |
| | | "creator": null, |
| | | "customClass": null, |
| | | "data": null, |
| | | "description": "", |
| | | "extendAttr": "", |
| | | "firstR": null, |
| | | "firstV": null, |
| | | "formDefineVO": null, |
| | | "id": null, |
| | | "lastModifier": null, |
| | | "lastModifyTime": null, |
| | | "lastR": null, |
| | | "lastV": null, |
| | | "lcStatus": null, |
| | | "lcStatusText": null, |
| | | "lctid": null, |
| | | "name": "å·¥èºè¯å®¡æ ", |
| | | "nameOid": null, |
| | | "oid": "0BA77BDF-7023-AE81-4EAC-7396C56FA7C9", |
| | | "orderNum": 2, |
| | | "owner": null, |
| | | "pkLayout": "E28B0555-FAF3-4F59-0EE8-64A30A77C9CB", |
| | | "revisionOid": null, |
| | | "revisionRule": null, |
| | | "revisionSeq": 0, |
| | | "revisionValue": null, |
| | | "secretGrade": null, |
| | | "secretGradeText": null, |
| | | "tableDefineVO": null, |
| | | "treeDefineVO": { |
| | | "btmType": "folder", |
| | | "fieldSep": ",", |
| | | "linkType": "", |
| | | "loadType": "node", |
| | | "orientation": true, |
| | | "queryTemplateName": "cardtemplateflodertree", |
| | | "rootContent": "id", |
| | | "showImage": false, |
| | | "showLinkAbs": "affiliatedfolder,material", |
| | | "treeNodeExpression": "name" |
| | | }, |
| | | "treeTableDefineVO": null, |
| | | "ts": null, |
| | | "uiComponentType": "tree", |
| | | "uiComponentTypeText": "æ ", |
| | | "uiParseClass": "", |
| | | "versionRule": null, |
| | | "versionSeq": 0, |
| | | "versionValue": null |
| | | } |
| | | ], |
| | | "copyFromVersion": null, |