wangting
2024-03-15 00c38a06a71962d37a23c8fcd35dcef979df57a5
UI上下文展示引擎
已修改7个文件
154 ■■■■ 文件已修改
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/components/dynamic-components/index.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/views/base/UIContentArea.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/views/base/UIContentVIewer.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -7,11 +7,23 @@
  name: "dynamic-custom",
  props:{
    componentVO:{
      type: Object,
      default: {},
      type:Object,
      default: {}
    },
    inDialog: {
      type: Boolean,
      default: false
    },
    areasName:{
      type:String,
      default:''
    },
    sourceData:{
      //上一区域选中数据
      //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据
      type:Object,
      default: {}
    },
    paramVOS:{
      type:Object,
      default: {}
    }
Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -10,6 +10,27 @@
export default {
  name: "dynamic-form",
  props:{
    componentVO:{
      type:Object,
      default: {}
    },
    inDialog: {
      type: Boolean,
      default: false
    },
    areasName:{
      type:String,
      default:''
    },
    sourceData:{
      //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据
      type:Object,
      default: {}
    },
    paramVOS:{
      type:Object,
      default: {}
    },
    visible:{
      type: Boolean,
      default: false,
Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -23,6 +23,29 @@
<script>
export default {
  name: "dynamic-table",
  props:{
    componentVO:{
      type:Object,
      default: {}
    },
    inDialog: {
      type: Boolean,
      default: false
    },
    areasName:{
      type:String,
      default:''//westArea导航区
    },
    sourceData:{
      //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据
      type:Object,
      default: {}
    },
    paramVOS:{
      type:Object,
      default: {}
    }
  },
  data() {
    return {
      form: {},
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -9,11 +9,23 @@
  name: "dynamic-tree",
  props:{
    componentVO:{
      type: Object,
      default: {},
      type:Object,
      default: {}
    },
    inDialog: {
      type: Boolean,
      default: false
    },
    areasName:{
      type:String,
      default:''
    },
    sourceData:{
      //上一区域选中数据
      //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据
      type:Object,
      default: {}
    },
    paramVOS:{
      type:Object,
      default: {}
    }
Source/ProjectWeb/src/components/dynamic-components/index.vue
@@ -1,9 +1,36 @@
<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>
    <dynamic-table v-if="componentVO.uiComponentType=='table'"
                   :inDialog="inDialog"
                   :componentVO="componentVO"
                   :sourceData="sourceData"
                   :areasName="areasName"
                   :paramVOS="paramVOS">
    </dynamic-table>
    <dynamic-form v-else-if="componentVO.uiComponentType=='form'"
                  :inDialog="inDialog"
                  :componentVO="componentVO"
                  :sourceData="sourceData"
                  :areasName="areasName"
                  :paramVOS="paramVOS">
    </dynamic-form>
    <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'"
                  :inDialog="inDialog"
                  :componentVO="componentVO"
                  :sourceData="sourceData"
                  :areasName="areasName"
                  :paramVOS="paramVOS">
    </dynamic-tree>
    <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'"  :inDialog="inDialog"
                    :componentVO="componentVO"
                    :sourceData="sourceData"
                    :areasName="areasName"
                    :paramVOS="paramVOS">
    </dynamic-custom>
  </div>
</template>
@@ -24,15 +51,14 @@
      type: Boolean,
      default: false
    },
    areasName:{
      type:String,
      default:''
    },
    sourceData:{
      //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据
      type:Object,
      default: {}
    },
    dataStore:{
      //弹窗时按钮所属区域选中数据
      type:Array,
      default: []
    },
    paramVOS:{
      type:Object,
Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -8,12 +8,22 @@
              {{componentVO.name}}
            </template>
            <div class="componentVO" style="height: 60%">
              <compoent-index :key="componentVO.oid" :componentVO="componentVO"  :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index>
              <compoent-index :key="componentVO.oid"
                              :inDialog="inDialog"
                              :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>
          <compoent-index :key="areaItem.componentVOs[0].oid"
                          :inDialog="inDialog"
                          :componentVO="areaItem.componentVOs[0]"
                          :sourceData="sourceData"
                          :areasName="areasName"
                          :paramVOS="paramVOS"></compoent-index>
        </div>
      </el-tab-pane>
    </el-tabs>
@@ -24,12 +34,22 @@
            {{componentVO.name}}
          </template>
          <div class="componentVO" style="height: 60%">
            <compoent-index :key="componentVO.oid" :componentVO="componentVO"  :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index>
            <compoent-index :key="componentVO.oid"
                            :inDialog="inDialog"
                            :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>
        <compoent-index :key="areasData[0].componentVOs[0].oid"
                        :inDialog="inDialog"
                        :componentVO="areasData[0].componentVOs[0]"
                        :sourceData="sourceData"
                        :areasName="areasName"
                        :paramVOS="paramVOS"></compoent-index>
      </div>
    </div>
  </basic-container>
Source/ProjectWeb/src/views/base/UIContentVIewer.vue
@@ -11,7 +11,7 @@
      </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%">
      <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table'?'390px':'320px'" height="100%">
        <UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea"
                       cradStyle="height:100%"
                       :areasData="uiDefineVO.westAreas"