feat: copy application
This commit is contained in:
parent
ef51afb96e
commit
fa842b0d13
@ -100,4 +100,5 @@ export default {
|
|||||||
deleteConfirm: 'Confirm delete',
|
deleteConfirm: 'Confirm delete',
|
||||||
expand: 'Expand',
|
expand: 'Expand',
|
||||||
collapse: 'Collapse',
|
collapse: 'Collapse',
|
||||||
|
copyTitle: 'Copy',
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,6 @@ export default {
|
|||||||
workflowPlaceholder:
|
workflowPlaceholder:
|
||||||
'Suitable for advanced users to build complex logic AI assistants using low-code drag-and-drop',
|
'Suitable for advanced users to build complex logic AI assistants using low-code drag-and-drop',
|
||||||
appTest: 'Debug Preview',
|
appTest: 'Debug Preview',
|
||||||
copy: 'Copy',
|
|
||||||
searchBar: {
|
searchBar: {
|
||||||
placeholder: 'Search by name',
|
placeholder: 'Search by name',
|
||||||
},
|
},
|
||||||
|
|||||||
@ -104,4 +104,5 @@ export default {
|
|||||||
deleteConfirm: '是否删除',
|
deleteConfirm: '是否删除',
|
||||||
expand: '展开',
|
expand: '展开',
|
||||||
collapse: '收起',
|
collapse: '收起',
|
||||||
|
copyTitle: '副本',
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,6 @@ export default {
|
|||||||
simplePlaceholder: '适用于初级用户使用表单设置构建AI对话助手',
|
simplePlaceholder: '适用于初级用户使用表单设置构建AI对话助手',
|
||||||
workflowPlaceholder: '适用于高级用户使用低代码拖拉拽方式构建复杂逻辑的AI对话助手',
|
workflowPlaceholder: '适用于高级用户使用低代码拖拉拽方式构建复杂逻辑的AI对话助手',
|
||||||
appTest: '调试预览',
|
appTest: '调试预览',
|
||||||
copy: '副本',
|
|
||||||
searchBar: {
|
searchBar: {
|
||||||
placeholder: '按名称搜索',
|
placeholder: '按名称搜索',
|
||||||
},
|
},
|
||||||
|
|||||||
@ -28,10 +28,6 @@ export default {
|
|||||||
saveMessage: '当前的更改尚未保存,确认退出吗?',
|
saveMessage: '当前的更改尚未保存,确认退出吗?',
|
||||||
},
|
},
|
||||||
form: {
|
form: {
|
||||||
title: {
|
|
||||||
copy: '副本',
|
|
||||||
baseInfo: '基础信息',
|
|
||||||
},
|
|
||||||
toolName: {
|
toolName: {
|
||||||
label: '名称',
|
label: '名称',
|
||||||
name: '工具名称',
|
name: '工具名称',
|
||||||
|
|||||||
@ -100,4 +100,5 @@ export default {
|
|||||||
deleteConfirm: '是否刪除',
|
deleteConfirm: '是否刪除',
|
||||||
expand: '展開',
|
expand: '展開',
|
||||||
collapse: '收起',
|
collapse: '收起',
|
||||||
|
copyTitle: '副本',
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,6 @@ export default {
|
|||||||
simplePlaceholder: '適用於初級用戶使用表單設定構建AI對話助手',
|
simplePlaceholder: '適用於初級用戶使用表單設定構建AI對話助手',
|
||||||
workflowPlaceholder: '適用於高階用戶使用低代碼拖拉拽方式構建複雜邏輯的AI對話助手',
|
workflowPlaceholder: '適用於高階用戶使用低代碼拖拉拽方式構建複雜邏輯的AI對話助手',
|
||||||
appTest: '調試預覽',
|
appTest: '調試預覽',
|
||||||
copy: '副本',
|
|
||||||
searchBar: {
|
searchBar: {
|
||||||
placeholder: '按名稱搜尋',
|
placeholder: '按名稱搜尋',
|
||||||
},
|
},
|
||||||
|
|||||||
@ -104,6 +104,8 @@ const rules = reactive<FormRules<ApplicationFormType>>({
|
|||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentFolder = ref('')
|
||||||
|
|
||||||
watch(dialogVisible, (bool) => {
|
watch(dialogVisible, (bool) => {
|
||||||
if (!bool) {
|
if (!bool) {
|
||||||
applicationForm.value = {
|
applicationForm.value = {
|
||||||
@ -133,10 +135,11 @@ watch(dialogVisible, (bool) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const open = (data: any) => {
|
const open = (data: any, folder: string) => {
|
||||||
|
currentFolder.value = folder
|
||||||
const obj = cloneDeep(data)
|
const obj = cloneDeep(data)
|
||||||
delete obj['id']
|
delete obj['id']
|
||||||
obj['name'] = obj['name'] + ` ${t('views.application.form.title.copy')}`
|
obj['name'] = obj['name'] + ` ${t('common.copyTitle')}`
|
||||||
applicationForm.value = obj
|
applicationForm.value = obj
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
@ -160,15 +163,17 @@ const submitHandle = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
applicationApi.postApplication(applicationForm.value, loading).then((res) => {
|
applicationApi
|
||||||
MsgSuccess(t('common.createSuccess'))
|
.postApplication({ ...applicationForm.value, folder_id: currentFolder.value }, loading)
|
||||||
if (isWorkFlow(applicationForm.value.type)) {
|
.then((res) => {
|
||||||
router.push({ path: `/application/${res.data.id}/workflow` })
|
MsgSuccess(t('common.createSuccess'))
|
||||||
} else {
|
if (isWorkFlow(applicationForm.value.type)) {
|
||||||
router.push({ path: `/application/${res.data.id}/${res.data.type}/setting` })
|
router.push({ path: `/application/${res.data.id}/workflow` })
|
||||||
}
|
} else {
|
||||||
dialogVisible.value = false
|
router.push({ path: `/application/${res.data.id}/${res.data.type}/setting` })
|
||||||
})
|
}
|
||||||
|
dialogVisible.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -244,7 +244,13 @@
|
|||||||
<AppIcon iconName="app-migrate"></AppIcon>
|
<AppIcon iconName="app-migrate"></AppIcon>
|
||||||
{{ $t('common.moveTo') }}
|
{{ $t('common.moveTo') }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item
|
||||||
|
@click="copyApplication(item)"
|
||||||
|
v-if="permissionPrecise.create()"
|
||||||
|
>
|
||||||
|
<AppIcon iconName="app-copy"></AppIcon>
|
||||||
|
{{ $t('common.copy') }}
|
||||||
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
divided
|
divided
|
||||||
@click.stop="exportApplication(item)"
|
@click.stop="exportApplication(item)"
|
||||||
@ -405,15 +411,14 @@ const apiInputParams = ref([])
|
|||||||
function copyApplication(row: any) {
|
function copyApplication(row: any) {
|
||||||
application.asyncGetApplicationDetail(row.id, loading).then((res: any) => {
|
application.asyncGetApplicationDetail(row.id, loading).then((res: any) => {
|
||||||
if (res?.data) {
|
if (res?.data) {
|
||||||
CopyApplicationDialogRef.value.open({ ...res.data, model_id: res.data.model })
|
CopyApplicationDialogRef.value.open(
|
||||||
|
{ ...res.data, model_id: res.data.model },
|
||||||
|
folder.currentFolder?.id || 'default',
|
||||||
|
)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const is_show_copy_button = (row: any) => {
|
|
||||||
return user.userInfo ? user.userInfo.id == row.user_id : false
|
|
||||||
}
|
|
||||||
|
|
||||||
function settingApplication(row: any) {
|
function settingApplication(row: any) {
|
||||||
if (isWorkFlow(row.type)) {
|
if (isWorkFlow(row.type)) {
|
||||||
router.push({ path: `/application/${row.id}/workflow` })
|
router.push({ path: `/application/${row.id}/workflow` })
|
||||||
|
|||||||
@ -481,7 +481,7 @@ async function copyTool(row: any) {
|
|||||||
)
|
)
|
||||||
const obj = cloneDeep(res.data)
|
const obj = cloneDeep(res.data)
|
||||||
delete obj['id']
|
delete obj['id']
|
||||||
obj['name'] = obj['name'] + ` ${t('views.tool.form.title.copy')}`
|
obj['name'] = obj['name'] + ` ${t('common.copyTitle')}`
|
||||||
ToolFormDrawerRef.value.open(obj)
|
ToolFormDrawerRef.value.open(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user