update 优化 删除无用代码
This commit is contained in:
parent
fba121f5c3
commit
8fadab9741
@ -1,61 +0,0 @@
|
|||||||
<template>
|
|
||||||
<!-- 代码构建 -->
|
|
||||||
<div>
|
|
||||||
<v-form-designer
|
|
||||||
ref="buildRef"
|
|
||||||
class="build"
|
|
||||||
:designer-config="{ importJsonButton: true, exportJsonButton: true, exportCodeButton: true, generateSFCButton: true, formTemplates: true }"
|
|
||||||
>
|
|
||||||
<template v-if="showBtn" #customToolButtons>
|
|
||||||
<el-button link type="primary" icon="Select" @click="getJson">保存</el-button>
|
|
||||||
</template>
|
|
||||||
</v-form-designer>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
interface Props {
|
|
||||||
showBtn: boolean;
|
|
||||||
formJson: any;
|
|
||||||
}
|
|
||||||
|
|
||||||
const props = withDefaults(defineProps<Props>(), {
|
|
||||||
showBtn: true,
|
|
||||||
formJson: ''
|
|
||||||
});
|
|
||||||
|
|
||||||
const buildRef = ref();
|
|
||||||
const emits = defineEmits(['reJson', 'saveDesign']);
|
|
||||||
|
|
||||||
//获取表单json
|
|
||||||
const getJson = () => {
|
|
||||||
const formJson = JSON.stringify(buildRef.value.getFormJson());
|
|
||||||
const fieldJson = JSON.stringify(buildRef.value.getFieldWidgets());
|
|
||||||
let data = {
|
|
||||||
formJson,
|
|
||||||
fieldJson
|
|
||||||
};
|
|
||||||
emits('saveDesign', data);
|
|
||||||
};
|
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
if (props.formJson) {
|
|
||||||
buildRef.value.setFormJson(props.formJson);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss">
|
|
||||||
.build {
|
|
||||||
margin: 0 !important;
|
|
||||||
overflow-y: auto !important;
|
|
||||||
|
|
||||||
& header.main-header {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
& .right-toolbar-con {
|
|
||||||
text-align: right !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,57 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="">
|
|
||||||
<v-form-render ref="vFormRef" :form-json="formJson" :form-data="formData" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<!-- 动态表单渲染 -->
|
|
||||||
<script setup name="Render" lang="ts">
|
|
||||||
interface Props {
|
|
||||||
formJson: string | object;
|
|
||||||
formData: string | object;
|
|
||||||
isView: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
const props = withDefaults(defineProps<Props>(), {
|
|
||||||
formJson: '',
|
|
||||||
formData: '',
|
|
||||||
isView: false
|
|
||||||
});
|
|
||||||
|
|
||||||
const vFormRef = ref();
|
|
||||||
// 获取表单数据-异步
|
|
||||||
const getFormData = () => {
|
|
||||||
return vFormRef.value.getFormData();
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置表单内容
|
|
||||||
* @param {表单配置} formConf
|
|
||||||
* formConfig:{ formTemplate:表单模板,formData:表单数据,hiddenField:需要隐藏的字段字符串集合,disabledField:需要禁用的自读字符串集合}
|
|
||||||
*/
|
|
||||||
const initForm = (formConf: any) => {
|
|
||||||
const { formTemplate, formData, hiddenField, disabledField } = toRaw(formConf);
|
|
||||||
if (formTemplate) {
|
|
||||||
vFormRef.value.setFormJson(formTemplate);
|
|
||||||
if (formData) {
|
|
||||||
vFormRef.value.setFormData(formData);
|
|
||||||
}
|
|
||||||
if (disabledField && disabledField.length > 0) {
|
|
||||||
setTimeout(() => {
|
|
||||||
vFormRef.value.disableWidgets(disabledField);
|
|
||||||
}, 200);
|
|
||||||
}
|
|
||||||
if (hiddenField && hiddenField.length > 0) {
|
|
||||||
setTimeout(() => {
|
|
||||||
vFormRef.value.hideWidgets(hiddenField);
|
|
||||||
}, 200);
|
|
||||||
}
|
|
||||||
if (props.isView) {
|
|
||||||
setTimeout(() => {
|
|
||||||
vFormRef.value.disableForm();
|
|
||||||
}, 100);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
defineExpose({ getFormData, initForm });
|
|
||||||
</script>
|
|
Loading…
x
Reference in New Issue
Block a user