diff --git a/app/components/app/doctor/fields/index.ts b/app/components/app/doctor/fields/index.ts
new file mode 100644
index 00000000..32d92f2f
--- /dev/null
+++ b/app/components/app/doctor/fields/index.ts
@@ -0,0 +1 @@
+export { default as SelectDoctor } from './select-doctor.vue'
diff --git a/app/components/app/doctor/fields/select-doctor.vue b/app/components/app/doctor/fields/select-doctor.vue
new file mode 100644
index 00000000..daa55062
--- /dev/null
+++ b/app/components/app/doctor/fields/select-doctor.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/app/treatment-report/entry-form.vue b/app/components/app/treatment-report/entry-form.vue
index 2a474b15..8cc7db1a 100644
--- a/app/components/app/treatment-report/entry-form.vue
+++ b/app/components/app/treatment-report/entry-form.vue
@@ -1,7 +1,164 @@
-
+
diff --git a/app/components/app/treatment-report/fields/index.ts b/app/components/app/treatment-report/fields/index.ts
deleted file mode 100644
index ab2e32e9..00000000
--- a/app/components/app/treatment-report/fields/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as SelectDPJP } from './select-dpjp.vue'
diff --git a/app/components/app/treatment-report/fields/select-dpjp.vue b/app/components/app/treatment-report/fields/select-dpjp.vue
deleted file mode 100644
index dae90589..00000000
--- a/app/components/app/treatment-report/fields/select-dpjp.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-select dpjp
diff --git a/app/components/content/treatment-report/add.vue b/app/components/content/treatment-report/add.vue
index c1446a5a..6789238e 100644
--- a/app/components/content/treatment-report/add.vue
+++ b/app/components/content/treatment-report/add.vue
@@ -1,7 +1,21 @@
-
+
diff --git a/app/components/pub/my-ui/form/button-action.vue b/app/components/pub/my-ui/form/button-action.vue
new file mode 100644
index 00000000..a1054948
--- /dev/null
+++ b/app/components/pub/my-ui/form/button-action.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
diff --git a/app/components/pub/my-ui/form/file-field.vue b/app/components/pub/my-ui/form/file-field.vue
index 31885a6f..332d2e88 100644
--- a/app/components/pub/my-ui/form/file-field.vue
+++ b/app/components/pub/my-ui/form/file-field.vue
@@ -1,8 +1,5 @@
+
+
+
+
diff --git a/app/components/pub/my-ui/form/index.ts b/app/components/pub/my-ui/form/index.ts
new file mode 100644
index 00000000..246bb8c6
--- /dev/null
+++ b/app/components/pub/my-ui/form/index.ts
@@ -0,0 +1,11 @@
+export { default as Block } from './block.vue'
+export { default as ButtonAction } from './button-action.vue'
+export { default as FieldGroup } from './field-group.vue'
+export { default as Field } from './field.vue'
+export { default as FileField } from './file-field.vue'
+export { default as Fragment } from './fragment.vue'
+export { default as InputBase } from './input-base.vue'
+export { default as Label } from './label.vue'
+export { default as Select } from './select.vue'
+export { default as TextAreaInput } from './text-area-input.vue'
+export { default as TextCaptcha } from './text-captcha.vue'
diff --git a/app/components/pub/my-ui/form/input-base.vue b/app/components/pub/my-ui/form/input-base.vue
index c31b2073..050a0f78 100644
--- a/app/components/pub/my-ui/form/input-base.vue
+++ b/app/components/pub/my-ui/form/input-base.vue
@@ -1,17 +1,16 @@
@@ -63,27 +68,53 @@ function handleInput(event: Event) {
v-slot="{ componentField }"
:name="fieldName"
>
-
-
-
- {{ rightLabel }}
+
+
+
+
+
+ {{ suffixMsg }}
+
+
+
+ {{ rightLabel }}
+
+
- {{ bottomLabel }}
+
+ {{ bottomLabel }}
+
diff --git a/app/components/pub/my-ui/form/select.vue b/app/components/pub/my-ui/form/select.vue
index 0cfc926b..0227d2b1 100644
--- a/app/components/pub/my-ui/form/select.vue
+++ b/app/components/pub/my-ui/form/select.vue
@@ -1,6 +1,7 @@