diff --git a/docs/dev_readme.md b/docs/dev_readme.md index f696825..1be8d56 100644 --- a/docs/dev_readme.md +++ b/docs/dev_readme.md @@ -254,6 +254,7 @@ export default { }, onCascadeChange: function (value, selectedOptions) { + // 将级联选择器的文字和值分别赋值到2个字段保存 this.formModel.jiLianWenZi5194 = selectedOptions.map((item) => item.label).join(' > '); this.formModel.jiLianBenTi7352 = selectedOptions.map((item) => item.value).join(','); }, @@ -266,3 +267,67 @@ export default { }; ``` + +## 如何在新建流程时,从其他表单带数据过来 +这里的例子是从列表创建单据,其余的场景可以参考此修改。 + +首先在模版里加入新建单据的按钮: +```vue + +``` +你也可以通过修改buttonConfigs和actionButtons(代码里是互补关系,不在行动作actionButtons里的就在顶部动作条)实现,但是我认为没必要,自定义开发直接改模版是最简单最快的。 + +然后修改useTable的参数: +```javascript +const [registerTable, { reload, getSelectRows }] = useTable({ + rowSelection: { + type: 'radio' //check为多选,具体选项可以参考antd vue文档 + } +}); +``` +然后补完goCreateFlow的内容: +```javascript +function goCreateFlow() { + const selectedRows = getSelectRows(); + if (!selectedRows.length) { + return createMessage.error('请选择用于发起入库的单据'); + } + // 这里当然可以把整行的数据放到localStorage,但是为了外链以及通用性,最好还是把id通过路由传过去,表单那边再查 + router.push({ + path: '/flow/1782662600422658049/0/createFlow', + query: { + fromIds: selectedRows.map((row) => row.id).join(',') + } + }); +} +``` +最后在目标表单的Form.vue中补充赋值操作: +```javascript +import { useRouter } from 'vue-router'; +const router = useRouter(); + +onMounted(async () => { + try { + // 无关代码已经隐藏,如果你是用localStorage获取数据,别忘了取值后清掉内容 + const fromIds = router.currentRoute.value.query?.fromIds; + if(fromIds){ + // 假装是在加载数据 + setTimeout(()=>{ + setFieldsValue({ + yuanYin6568: fromIds + }) + }, 1000) + } + emits('form-mounted', formProps); + } catch (error) {} +}); +```