diff --git a/src/components/CrudFormPanel.vue b/src/components/CrudFormPanel.vue
new file mode 100644
index 0000000..6037d1e
--- /dev/null
+++ b/src/components/CrudFormPanel.vue
@@ -0,0 +1,230 @@
+
+
+
+ emit('update:visible', v)"
+ >
+
+
+
+ onPickerLabel(col.field, label)"
+ @submit-multi="(items) => emit('picker-multi', col.field, items)"
+ />
+
+
+
+
+
+
+
+
+
+
+ (formModel[col.field] = joinTags(v, col.tagsSeparator))"
+ :placeholder="col.placeholder"
+ :disabled="col.disabled"
+ multiple
+ filterable
+ allow-create
+ default-first-option
+ style="width: 100%"
+ >
+
+
+
+ {{ opt.label }}
+
+
+ {{ opt.label }}
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
diff --git a/src/components/CrudTable.vue b/src/components/CrudTable.vue
index 35463fa..8f00684 100644
--- a/src/components/CrudTable.vue
+++ b/src/components/CrudTable.vue
@@ -1,11 +1,12 @@