Skip to content

Commit 192453e

Browse files
YunaiVgitee-org
authored andcommitted
!717 feat: bpm流程表单复制功能
Merge pull request !717 from Roan123/feature/bpm-form-copy
2 parents 7993c32 + f92ab64 commit 192453e

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

src/views/bpm/form/editor/index.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,13 @@ import FcDesigner from '@form-create/designer'
5050
import { encodeConf, encodeFields, setConfAndFields } from '@/utils/formCreate'
5151
import { useTagsViewStore } from '@/store/modules/tagsView'
5252
import { useFormCreateDesigner } from '@/components/FormCreate'
53+
import { useRoute } from 'vue-router'
5354
5455
defineOptions({ name: 'BpmFormEditor' })
5556
5657
const { t } = useI18n() // 国际化
5758
const message = useMessage() // 消息
59+
const route = useRoute() // 路由
5860
const { push, currentRoute } = useRouter() // 路由
5961
const { query } = useRoute() // 路由信息
6062
const { delView } = useTagsViewStore() // 视图操作
@@ -150,6 +152,14 @@ onMounted(async () => {
150152
const data = await FormApi.getForm(id)
151153
formData.value = data
152154
setConfAndFields(designer, data.conf, data.fields)
155+
156+
if (route.query.type !== 'copy') {
157+
return
158+
}
159+
// 场景三: 复制表单
160+
const { id: foo, ...copied } = data
161+
formData.value = copied
162+
formData.value.name += '_copy'
153163
})
154164
</script>
155165

src/views/bpm/form/index.vue

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,15 @@
5959
v-hasPermi="['bpm:form:update']"
6060
link
6161
type="primary"
62-
@click="openForm(scope.row.id)"
62+
@click="openForm('copy', scope.row.id)"
63+
>
64+
复制
65+
</el-button>
66+
<el-button
67+
v-hasPermi="['bpm:form:update']"
68+
link
69+
type="primary"
70+
@click="openForm('update', scope.row.id)"
6371
>
6472
编辑
6573
</el-button>
@@ -139,16 +147,17 @@ const resetQuery = () => {
139147
}
140148
141149
/** 添加/修改操作 */
142-
const openForm = (id?: number) => {
143-
const toRouter: { name: string; query?: { id: number } } = {
144-
name: 'BpmFormEditor'
150+
const openForm = (type: string, id?: number) => {
151+
const toRouter: { name: string; query: { type: string; id?: number } } = {
152+
name: 'BpmFormEditor',
153+
query: {
154+
type
155+
}
145156
}
146157
console.log(typeof id)
147158
// 表单新建的时候id传的是event需要排除
148159
if (typeof id === 'number' || typeof id === 'string') {
149-
toRouter.query = {
150-
id
151-
}
160+
toRouter.query.id = id
152161
}
153162
push(toRouter)
154163
}

0 commit comments

Comments
 (0)