|
@@ -4,11 +4,7 @@
|
|
|
:name="config.formName"
|
|
|
class="my-form-item"
|
|
|
>
|
|
|
- <div v-if="isBigTitle" class="top-label flex items-center">
|
|
|
- <p>{{ config.title }}</p>
|
|
|
- </div>
|
|
|
<component
|
|
|
- v-else
|
|
|
:is="tabComp"
|
|
|
v-model="valueData"
|
|
|
:config="config"
|
|
@@ -16,6 +12,7 @@
|
|
|
></component>
|
|
|
</t-form-item>
|
|
|
</template>
|
|
|
+
|
|
|
<script setup name="DynamicFormItem">
|
|
|
import { computed, ref, watch } from 'vue';
|
|
|
import TEXT from './TEXT.vue';
|
|
@@ -28,15 +25,15 @@ import TEXTAREA from './TEXTAREA.vue';
|
|
|
import UPLOADIMAGE from './UPLOAD_IMAGE.vue';
|
|
|
import RADIOWITHINPUT from './RADIO_WITH_INPUT.vue';
|
|
|
import NUMBER from './NUMBER.vue';
|
|
|
+import BIGTITLE from './BIG_TITLE.vue';
|
|
|
|
|
|
+// 待完善
|
|
|
import SIGN from './SIGN.vue';
|
|
|
-
|
|
|
import DEVICEOUTTABLE from './DEVICE_OUT_TABLE.vue';
|
|
|
import DEVICEINTABLE from './DEVICE_IN_TABLE.vue';
|
|
|
|
|
|
const props = defineProps({
|
|
|
config: { type: Object },
|
|
|
- modelValue: { type: String },
|
|
|
});
|
|
|
const emit = defineEmits(['change']);
|
|
|
|
|
@@ -62,6 +59,8 @@ const tabComps = {
|
|
|
RADIO_WITH_INPUT: RADIOWITHINPUT,
|
|
|
DEVICE_OUT_TABLE: DEVICEOUTTABLE,
|
|
|
DEVICE_IN_TABLE: DEVICEINTABLE,
|
|
|
+ FORM_GROUP_TITLE: BIGTITLE,
|
|
|
+ ONLY_TITLE: BIGTITLE,
|
|
|
};
|
|
|
const tabComp = computed(() => {
|
|
|
return tabComps[props.config.code];
|