2022.10.21更新:
1. grid-item组件改名成vf-grid-item,以解决与VueLayoutGrid组件冲突的问题; 2. SvgIcon组件取消全局注册,改为局部注册。master
parent
a7c4ab7d8b
commit
04675e4154
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
|
|
||||||
### 立即体验VForm Pro高级版(提供商业支持)
|
### 立即体验VForm Pro高级版(提供商业支持)
|
||||||
[Pro Demo](http://120.92.142.115/pro)
|
[Pro Demo](https://vform666.com/pages/pro/)
|
||||||
|
|
||||||
|
|
||||||
### Vue 3正式版已发布
|
### Vue 3正式版已发布
|
||||||
|
|
|
@ -75,6 +75,7 @@
|
||||||
import {MOCK_CASE_URL, VARIANT_FORM_VERSION} from "@/utils/config"
|
import {MOCK_CASE_URL, VARIANT_FORM_VERSION} from "@/utils/config"
|
||||||
import i18n, { changeLocale } from "@/utils/i18n"
|
import i18n, { changeLocale } from "@/utils/i18n"
|
||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
|
import SvgIcon from '@/components/svg-icon'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "VFormDesigner",
|
name: "VFormDesigner",
|
||||||
|
@ -85,6 +86,7 @@
|
||||||
ToolbarPanel,
|
ToolbarPanel,
|
||||||
SettingPanel,
|
SettingPanel,
|
||||||
VFormWidget,
|
VFormWidget,
|
||||||
|
SvgIcon,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
/* 后端字段列表API */
|
/* 后端字段列表API */
|
||||||
|
|
|
@ -179,7 +179,7 @@
|
||||||
import {genSFC} from "@/utils/sfc-generator";
|
import {genSFC} from "@/utils/sfc-generator";
|
||||||
import loadBeautifier from "@/utils/beautifierLoader";
|
import loadBeautifier from "@/utils/beautifierLoader";
|
||||||
import { saveAs } from 'file-saver'
|
import { saveAs } from 'file-saver'
|
||||||
import axios from "axios"
|
import SvgIcon from '@/components/svg-icon'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ToolbarPanel",
|
name: "ToolbarPanel",
|
||||||
|
@ -188,6 +188,7 @@
|
||||||
VFormRender,
|
VFormRender,
|
||||||
CodeEditor,
|
CodeEditor,
|
||||||
Clipboard,
|
Clipboard,
|
||||||
|
SvgIcon,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
designer: Object
|
designer: Object
|
||||||
|
|
|
@ -89,6 +89,7 @@
|
||||||
import {addWindowResizeHandler} from "@/utils/util"
|
import {addWindowResizeHandler} from "@/utils/util"
|
||||||
import i18n from "@/utils/i18n"
|
import i18n from "@/utils/i18n"
|
||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
|
import SvgIcon from '@/components/svg-icon'
|
||||||
|
|
||||||
// import ftImg1 from '@/assets/ft-images/t1.png'
|
// import ftImg1 from '@/assets/ft-images/t1.png'
|
||||||
// import ftImg2 from '@/assets/ft-images/t2.png'
|
// import ftImg2 from '@/assets/ft-images/t2.png'
|
||||||
|
@ -104,6 +105,7 @@
|
||||||
mixins: [i18n],
|
mixins: [i18n],
|
||||||
components: {
|
components: {
|
||||||
Draggable,
|
Draggable,
|
||||||
|
SvgIcon,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
designer: Object,
|
designer: Object,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<template v-if="!!widget.widgetList && (widget.widgetList.length > 0)">
|
<template v-if="!!widget.widgetList && (widget.widgetList.length > 0)">
|
||||||
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
||||||
<template v-if="'container' === subWidget.category">
|
<template v-if="'container' === subWidget.category">
|
||||||
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
<component :is="getComponentByContainer(subWidget)" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
||||||
:index-of-parent-list="swIdx" :parent-widget="widget">
|
:index-of-parent-list="swIdx" :parent-widget="widget">
|
||||||
<!-- 递归传递插槽!!! -->
|
<!-- 递归传递插槽!!! -->
|
||||||
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
import containerItemMixin from "./containerItemMixin"
|
import containerItemMixin from "./containerItemMixin"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "grid-item",
|
name: "vf-grid-item", //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!
|
||||||
componentName: 'ContainerItem',
|
componentName: 'ContainerItem',
|
||||||
mixins: [emitter, i18n, refMixin, containerItemMixin],
|
mixins: [emitter, i18n, refMixin, containerItemMixin],
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
:disabled="tab.options.disabled" :name="tab.options.name">
|
:disabled="tab.options.disabled" :name="tab.options.name">
|
||||||
<template v-for="(subWidget, swIdx) in tab.widgetList">
|
<template v-for="(subWidget, swIdx) in tab.widgetList">
|
||||||
<template v-if="'container' === subWidget.category">
|
<template v-if="'container' === subWidget.category">
|
||||||
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="tab.widgetList"
|
<component :is="getComponentByContainer(subWidget)" :widget="subWidget" :key="swIdx" :parent-list="tab.widgetList"
|
||||||
:index-of-parent-list="swIdx" :parent-widget="widget">
|
:index-of-parent-list="swIdx" :parent-widget="widget">
|
||||||
<!-- 递归传递插槽!!! -->
|
<!-- 递归传递插槽!!! -->
|
||||||
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
:style="{width: widget.options.cellWidth + ' !important' || '', height: widget.options.cellHeight + ' !important' || ''}">
|
:style="{width: widget.options.cellWidth + ' !important' || '', height: widget.options.cellHeight + ' !important' || ''}">
|
||||||
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
||||||
<template v-if="'container' === subWidget.category">
|
<template v-if="'container' === subWidget.category">
|
||||||
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
<component :is="getComponentByContainer(subWidget)" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
||||||
:index-of-parent-list="swIdx" :parent-widget="widget">
|
:index-of-parent-list="swIdx" :parent-widget="widget">
|
||||||
<!-- 递归传递插槽!!! -->
|
<!-- 递归传递插槽!!! -->
|
||||||
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
||||||
|
|
|
@ -166,6 +166,10 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
getContainerWidgetName(widget) {
|
getContainerWidgetName(widget) {
|
||||||
|
if (widget.type === 'grid') { //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!
|
||||||
|
return 'vf-grid-item'
|
||||||
|
}
|
||||||
|
|
||||||
return widget.type + '-item'
|
return widget.type + '-item'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -18,5 +18,13 @@ export default {
|
||||||
return this.refList['v_form_ref']
|
return this.refList['v_form_ref']
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getComponentByContainer(con) {
|
||||||
|
if (con.type === 'grid') { //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!
|
||||||
|
return 'vf-grid-item'
|
||||||
|
}
|
||||||
|
|
||||||
|
return con.type + '-item'
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<template v-if="!!widget.widgetList && (widget.widgetList.length > 0)">
|
<template v-if="!!widget.widgetList && (widget.widgetList.length > 0)">
|
||||||
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
||||||
<template v-if="'container' === subWidget.category">
|
<template v-if="'container' === subWidget.category">
|
||||||
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
<component :is="getComponentByContainer(subWidget)" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
||||||
:index-of-parent-list="swIdx" :parent-widget="widget">
|
:index-of-parent-list="swIdx" :parent-widget="widget">
|
||||||
<!-- 递归传递插槽!!! -->
|
<!-- 递归传递插槽!!! -->
|
||||||
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
import Vue from 'vue'
|
|
||||||
import SvgIcon from '@/components/svg-icon'// svg组件
|
|
||||||
|
|
||||||
// register globally
|
|
||||||
Vue.component('svg-icon', SvgIcon)
|
|
||||||
|
|
||||||
const requireAll = requireContext => requireContext.keys().map(requireContext)
|
const requireAll = requireContext => requireContext.keys().map(requireContext)
|
||||||
const req = require.context('./svg', false, /\.svg$/)
|
const req = require.context('./svg', false, /\.svg$/)
|
||||||
requireAll(req)
|
requireAll(req)
|
||||||
|
|
Loading…
Reference in New Issue