|
@@ -10,10 +10,9 @@ import { RcRadio } from './plugins/components/rc-radio.config.ts'
|
|
|
import { RcCheckbox } from './plugins/components/rc-checkbox.config.ts'
|
|
|
// 菜单
|
|
|
import { MenuOptions } from './plugins/menu/options.ts'
|
|
|
-import { MenuUpload } from './plugins/menu/upload.ts'
|
|
|
|
|
|
import type { FcDesignerInstance } from '@form-create/designer' // 注册组件
|
|
|
-import { RcUpload } from './plugins/components/rc-upload.config.ts'
|
|
|
+import type { Rule } from '@form-create/element-ui'
|
|
|
|
|
|
/**
|
|
|
* @see https://view.form-create.com/methods
|
|
@@ -39,7 +38,6 @@ const height = ref('100vh')
|
|
|
const config = ref<Config>(formConfig)
|
|
|
// 顶部更多操作按钮
|
|
|
const handle = ref<Handle>([])
|
|
|
-// console.log('子应用', window.__QIANKUN__EVENT__)
|
|
|
|
|
|
const onSave = async (config: { options: string; rule: string }) => {
|
|
|
const rule = config.rule
|
|
@@ -53,20 +51,33 @@ const onSave = async (config: { options: string; rule: string }) => {
|
|
|
}
|
|
|
|
|
|
const rule = ref(
|
|
|
- '[{"type":"rc-checkbox","title":"多选框","props":{"clearable":true,"options":[{"key":"cw_1iqkm6k0p1n4111p61q8g8katdn1","label":"1234","value":"1234","validate":false,"tags":[]}]},"_fc_id":"id_Fd0jmadjp53oaec","name":"ref_Fw5smadjp53oafc","field":"Fnqymadjp53oagc","display":true,"hidden":false,"_fc_drag_tag":"rc-checkbox","options":[{"key":"cw_1iqkm6k0p1n4111p61q8g8katdn1","label":"1234","value":"1234","validate":false,"tags":[]}]},{"type":"rc-radio","title":"单选框","props":{"clearable":true,"options":[{"key":"cw_1iqkm6nli1v4f8p01pn01rs715r62","label":"1234","value":"1234","validate":false,"tags":[]}]},"_fc_id":"id_Fo8imadjp7v1ahc","name":"ref_F6j0madjp7v1aic","field":"Fhyhmadjp7v1ajc","display":true,"hidden":false,"_fc_drag_tag":"rc-radio","options":[{"key":"cw_1iqkm6nli1v4f8p01pn01rs715r62","label":"1234","value":"1234","validate":false,"tags":[]}]},{"type":"rc-upload","title":"图片","props":{"clearable":true},"_fc_id":"id_Fyhlmadknfeuabc","name":"ref_Fz6bmadknfeuacc","field":"Fj86madknfeuadc","display":true,"hidden":false,"_fc_drag_tag":"rc-upload"}]',
|
|
|
+ '[{"type":"rc-checkbox","title":"多选框","props":{"clearable":true,"options":[{"key":"cw_1iqn0n3e6mgc1vgp7di8as15s55","label":"123421","value":"123421","validate":false,"tags":[],"default":""}]},"_fc_id":"id_Fsbmmaeu7rtlabc","name":"ref_Finhmaeu7rtlacc","field":"Ft20maeu7rtladc","display":true,"hidden":false,"_fc_drag_tag":"rc-checkbox","options":[{"key":"cw_1iqn0n3e6mgc1vgp7di8as15s55","label":"123421","value":"123421","validate":false,"tags":[],"default":""}]},{"type":"rc-select","title":"下拉框","props":{"placeholder":"请选择","clearable":true,"options":[{"key":"cw_1iqn0n6gm1uos105812fafne1mqj6","label":"223","value":"223","validate":false,"tags":[],"default":""}]},"_fc_id":"id_Fuf6maeu7skxaec","name":"ref_Fgfdmaeu7skxafc","field":"Fgckmaeu7skxagc","display":true,"hidden":false,"_fc_drag_tag":"rc-select","options":[{"key":"cw_1iqn0n6gm1uos105812fafne1mqj6","label":"223","value":"223","validate":false,"tags":[],"default":""}],"synchronize_field":{"name":"备注名"}}]',
|
|
|
)
|
|
|
|
|
|
+window.__QIANKUN__EVENT__.on('formCoverChange', (cover: string) => {
|
|
|
+ const newRule = JSON.parse(rule.value)
|
|
|
+ const firstType = newRule[0]?.type
|
|
|
+ if (firstType === 'rc-image') {
|
|
|
+ newRule[0].props.cover = cover
|
|
|
+ } else {
|
|
|
+ newRule.unshift({
|
|
|
+ type: 'rc-image',
|
|
|
+ props: {
|
|
|
+ cover,
|
|
|
+ },
|
|
|
+ } as Rule)
|
|
|
+ }
|
|
|
+
|
|
|
+ rule.value = JSON.stringify(newRule)
|
|
|
+ designer.value?.setRule(rule.value) // 重新赋值
|
|
|
+})
|
|
|
+
|
|
|
onMounted(async () => {
|
|
|
// 注册拖拽规则
|
|
|
designer.value?.addMenu(MenuOptions)
|
|
|
- designer.value?.addMenu(MenuUpload)
|
|
|
designer.value?.addComponent(RcSelect)
|
|
|
designer.value?.addComponent(RcRadio)
|
|
|
designer.value?.addComponent(RcCheckbox)
|
|
|
- designer.value?.addComponent(RcUpload)
|
|
|
-
|
|
|
- // 注册菜单
|
|
|
- console.log(designer.value)
|
|
|
|
|
|
// 设置拖拽规则
|
|
|
designer.value?.setRule(rule.value)
|
|
@@ -81,10 +92,5 @@ onMounted(async () => {
|
|
|
:config="config"
|
|
|
v-model:api="api"
|
|
|
@save="onSave"
|
|
|
- @inputDate="
|
|
|
- () => {
|
|
|
- console.log(12313213)
|
|
|
- }
|
|
|
- "
|
|
|
/>
|
|
|
</template>
|