123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <!--
- * @description: 渲染组件
- * @Date: 2022-08-18 09:42:45
- * @Author: xingheng
- -->
- <template>
- <div class="render-item-wrap">
- <component
- :is="resolveComponentType(config.type)"
- :id="`${config.code}`"
- :ref="config.code"
- :key="config.key"
- :config="config"
- />
- </div>
- </template>
- <script>
- // import commonMixins from 'data-room-ui/js/mixins/commonMixins'
- import { mapMutations } from 'vuex'
- import { resolveComponentType } from 'data-room-ui/js/utils'
- import pcComponent from 'data-room-ui/js/utils/componentImport'
- import { dataInit, destroyedEvent } from 'data-room-ui/js/utils/eventBus'
- import CustomComponent from '../PlotRender/index.vue'
- import Svgs from '../Svgs/index.vue'
- import RemoteComponent from 'data-room-ui/RemoteComponents/index.vue'
- const components = {}
- for (const key in pcComponent) {
- if (Object.hasOwnProperty.call(pcComponent, key)) {
- components[key] = pcComponent[key]
- }
- }
- export default {
- name: 'RenderCard',
- // mixins: [commonMixins],
- components: {
- ...components,
- CustomComponent,
- Svgs,
- RemoteComponent
- },
- props: {
- // 卡片的属性
- config: {
- type: Object,
- default: () => ({})
- },
- ruleKey: {
- type: Number,
- default: 0
- }
- },
- data () {
- return {}
- },
- computed: {},
- mounted () {
- // 调用初始化方法
- dataInit(this)
- },
- beforeDestroy () {
- destroyedEvent()
- },
- methods: {
- ...mapMutations('bigScreen', [
- 'changeChartConfig'
- ]),
- resolveComponentType
- }
- }
- </script>
- <style lang="scss" scoped>
- .render-item-wrap {
- width: 100%;
- height: 100%;
- display: flex;
- overflow: hidden;
- box-sizing: border-box;
- }
- </style>
|