stdproject/frontend/src/views/BuiltInPage/FormCreate.vue

57 lines
1.2 KiB
Vue
Raw Normal View History

2025-06-17 15:09:51 +08:00
<template>
<form-create
v-model="formData"
v-model:api="fapi"
:rule="rule"
:field="field"
:option="option"
@submit="onSubmit"
></form-create>
</template>
<script lang="ts" setup>
import {onMounted,ref,watch} from "vue";
import { useRoute } from 'vue-router'
// import formCreate from "@form-create/element-ui";
import { moduleById } from '@/api/data-visualization/module'
import formCreate from '@/data-collect/render/element-plus/form-create.es.js'
2025-06-20 14:09:06 +08:00
const props = defineProps({
appId: {
required: true,
type: String
}
})
2025-06-17 15:09:51 +08:00
const route = useRoute()
2025-06-20 14:09:06 +08:00
const appId:any = ref(props.appId)
2025-06-17 15:09:51 +08:00
const field = ref([])
const option :any = ref({});
const rule :any = ref([]);
const fapi = ref(null);
const formData = ref({});
const onSubmit = (formData:any) => {
//todo 提交表单
console.log(formData);
}
function getInit(){
if(appId.value == null){
return
}
moduleById(appId.value ).then(res => {
if(res.code ==0){
2025-06-20 14:09:06 +08:00
if(res.data.canvas_style_data != null && res.data.canvas_style_data != ""){
option.value = formCreate.parseJson(res.data.component_data)
rule.value = formCreate.parseJson(res.data.canvas_style_data)
2025-06-17 15:09:51 +08:00
}
}
})
}
onMounted(() => {
getInit()
});
</script>