Compare commits

..

No commits in common. "96da5c621f5ce949c9130c3daa23e66e46c19b16" and "9d6e742cc3a57bb0a9db504f9a6b988347e481d4" have entirely different histories.

3 changed files with 10 additions and 38 deletions

View File

@ -87,38 +87,32 @@
</el-aside> </el-aside>
<w-dialog clickClose closeFree width="800px" :showFooter="false" :border="false" title="表单预览" <w-dialog clickClose closeFree width="800px" :showFooter="false" :border="false" title="表单预览"
v-model="viewFormVisible"> v-model="viewFormVisible">
<el-radio-group v-model="formPreviewModel" @change="formPreviewModelChange">
<el-radio-button label="E">编辑</el-radio-button>
<el-radio-button label="R">查看</el-radio-button>
</el-radio-group>
<!--todo 表单渲染--> <!--todo 表单渲染-->
<form-render-view v-if="viewFormVisibleRender" ref="form" :form-items="forms" v-model="formData" :is-preview="true" :model="formPreviewModel"/> <form-render ref="form" :forms="forms" v-model="formData"/>
</w-dialog> </w-dialog>
</el-container> </el-container>
</template> </template>
<!--动态表单编辑器--> <!--动态表单编辑器-->
<script> <script>
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import FormRenderView from '@/views/common/form/FormRenderView' import FormRender from '@/views/common/form/FormRender'
import FormDesignRender from '@/views/admin/layout/form/FormDesignRender' import FormDesignRender from '@/views/admin/layout/form/FormDesignRender'
import FormComponentConfig from '@/views/common/form/FormComponentConfig' import FormComponentConfig from '@/views/common/form/FormComponentConfig'
import {baseComponents} from '@/views/common/form/ComponentsConfigExport' import {baseComponents} from '@/views/common/form/ComponentsConfigExport'
export default { export default {
name: "FormDesign", name: "FormDesign",
components: {draggable, FormComponentConfig, FormDesignRender, FormRenderView}, components: {draggable, FormComponentConfig, FormDesignRender, FormRender},
data() { data() {
return { return {
formData: {}, formData: {},
libSelect: 0, libSelect: 0,
viewFormVisible: false, viewFormVisible: false,
viewFormVisibleRender: true,
isStart: false, isStart: false,
showMobile: false, showMobile: true,
baseComponents, baseComponents,
select: null, select: null,
drag: false, drag: false,
formPreviewModel:"R",
} }
}, },
computed: { computed: {
@ -138,16 +132,6 @@ export default {
} }
}, },
methods: { methods: {
formPreviewModelChange(){
//
this.viewFormVisibleRender= false
// nextTick
// tableShowfalsetrue
this.$nextTick(function(){
//
this.viewFormVisibleRender= true
})
},
copy(node, index) { copy(node, index) {
this.form.splice(index + 1, 0, Object.assign({}, node)) this.form.splice(index + 1, 0, Object.assign({}, node))
}, },

View File

@ -79,7 +79,7 @@ export default {
this.loadFormConfig(item.props.items) this.loadFormConfig(item.props.items)
}else { }else {
if (!item.perm){ if (!item.perm){
this.$set(item, 'perm', 'E') this.$set(item, 'perm', null)
} }
this.$set(this._value, item.id, this.value[item.id]) this.$set(this._value, item.id, this.value[item.id])
if(item.props.required){ if(item.props.required){

View File

@ -15,7 +15,7 @@
import FormDesignRender from '@/views/admin/layout/form/FormDesignRender' import FormDesignRender from '@/views/admin/layout/form/FormDesignRender'
export default { export default {
name: "FormRenderView", name: "FormViewRender",
components: {FormDesignRender}, components: {FormDesignRender},
props: { props: {
formItems: { formItems: {
@ -29,18 +29,6 @@ export default {
default: () => { default: () => {
return {} return {}
} }
},
model:{
type: String,
default:() => {
return "R"
}
},
isPreview:{
type: Boolean,
default:() => {
return false
}
} }
}, },
data() { data() {
@ -63,15 +51,13 @@ export default {
}, },
methods: { methods: {
loadFormConfig(formItems) { loadFormConfig(formItems) {
console.log(formItems)
formItems.forEach(item => { formItems.forEach(item => {
if (item.name === 'SpanLayout') { if (item.name === 'SpanLayout') {
this.loadFormConfig(item.props.items) this.loadFormConfig(item.props.items)
} else { } else {
this.$set(this._value, item.id, this.value[item.id]) this.$set(this._value, item.id, this.value[item.id])
if (this.isPreview){ if (item.props.required) {
this.$set(item, 'perm', this.model)
}
if (item.props.required && this.model === "E") {
this.$set(this.rules, item.id, [{ this.$set(this.rules, item.id, [{
type: item.valueType === 'Array' ? 'array' : undefined, type: item.valueType === 'Array' ? 'array' : undefined,
required: true, required: true,
@ -82,6 +68,8 @@ export default {
}) })
} }
} }
} }
</script> </script>