|
@@ -10,55 +10,65 @@
|
|
|
:loading="state.loading"
|
|
|
>
|
|
|
<div class="bm-form">
|
|
|
- <CzrForm ref="ref_form" label-width="100px" :form-view="isViewCpt">
|
|
|
- <div class="__czr-title_1">基本信息</div>
|
|
|
+ <CzrForm ref="ref_form" :form-view="isViewCpt" layout="y">
|
|
|
<CzrFormColumn
|
|
|
required
|
|
|
- :span="12"
|
|
|
- label="模型类型"
|
|
|
- v-model:param="state.form.type"
|
|
|
- link="select"
|
|
|
- :options="DictionaryStore.modelTypes.list"
|
|
|
- @change="state.form.pluginClass = ''"
|
|
|
+ :span="24"
|
|
|
+ label="应用名称"
|
|
|
+ v-model:param="state.form.name"
|
|
|
/>
|
|
|
- <template v-if="state.form.type">
|
|
|
- <CzrFormColumn
|
|
|
- required
|
|
|
- :span="12"
|
|
|
- label="模型供应商"
|
|
|
- v-model:param="state.form.pluginClass"
|
|
|
- link="select"
|
|
|
- :options="
|
|
|
- DictionaryStore.modelProvides.list.filter(
|
|
|
- (v) => v.type === state.form.type,
|
|
|
- )
|
|
|
- "
|
|
|
- @getObject="getModelProvide"
|
|
|
- />
|
|
|
- </template>
|
|
|
- <template v-if="state.form.pluginClass">
|
|
|
- <CzrFormColumn
|
|
|
- required
|
|
|
- :span="24"
|
|
|
- label="模型名称"
|
|
|
- v-model:param="state.form.name"
|
|
|
- />
|
|
|
- <CzrFormColumn
|
|
|
- :span="24"
|
|
|
- label="模型简介"
|
|
|
- v-model:param="state.form.description"
|
|
|
- type="textarea"
|
|
|
- :rows="4"
|
|
|
- />
|
|
|
- </template>
|
|
|
<CzrFormColumn
|
|
|
required
|
|
|
:span="24"
|
|
|
- label="共享条件"
|
|
|
v-model:param="state.form.openStrategy"
|
|
|
link="radio"
|
|
|
- :options="DictionaryStore.shareConditions"
|
|
|
+ :options="[
|
|
|
+ { label: '简洁', value: 1 },
|
|
|
+ { label: '高级', value: 2 },
|
|
|
+ ]"
|
|
|
+ :disabled="transfer.mode !== 'add'"
|
|
|
+ >
|
|
|
+ <template #label>
|
|
|
+ 应用类型
|
|
|
+ <el-tooltip
|
|
|
+ content="简介:选择模型即可使用<br/>高级:需配置应用工作流才可使用"
|
|
|
+ :raw-content="true"
|
|
|
+ placement="top"
|
|
|
+ >
|
|
|
+ <SvgIcon name="czr_tip" size="14" class="ml-2" /> </el-tooltip
|
|
|
+ ></template>
|
|
|
+ </CzrFormColumn>
|
|
|
+ <CzrFormColumn
|
|
|
+ :span="24"
|
|
|
+ label="应用介绍"
|
|
|
+ v-model:param="state.form.name"
|
|
|
+ type="textarea"
|
|
|
+ :rows="4"
|
|
|
/>
|
|
|
+ <CzrFormColumn
|
|
|
+ required
|
|
|
+ :span="24"
|
|
|
+ label="图标"
|
|
|
+ v-model:param="state.icon"
|
|
|
+ link="upload"
|
|
|
+ type="img"
|
|
|
+ uploadLayout="card"
|
|
|
+ :limit="1"
|
|
|
+ :delRule="(file) => true"
|
|
|
+ />
|
|
|
+ <!-- <template>-->
|
|
|
+ <CzrFormColumn
|
|
|
+ required
|
|
|
+ :span="24"
|
|
|
+ label="公开访问URL"
|
|
|
+ v-model:param="state.form.name"
|
|
|
+ :disabled="true"
|
|
|
+ >
|
|
|
+ <template #suffix>
|
|
|
+ <CopyDocument class="w-4 cursor-pointer" />
|
|
|
+ </template>
|
|
|
+ </CzrFormColumn>
|
|
|
+ <!-- </template>-->
|
|
|
</CzrForm>
|
|
|
</div>
|
|
|
</CzrDialog>
|
|
@@ -76,11 +86,8 @@ import {
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import { useAppStore, useDialogStore, useDictionaryStore } from '@/stores'
|
|
|
import { useRouter } from 'vue-router'
|
|
|
-import {
|
|
|
- pluginAddInstance,
|
|
|
- pluginDetail,
|
|
|
- pluginUpdateInstance,
|
|
|
-} from '@/api/modules/model'
|
|
|
+import { CopyDocument } from '@element-plus/icons-vue'
|
|
|
+import CzrDialog from '@/components/czr-ui/CzrDialog.vue'
|
|
|
|
|
|
const router = useRouter()
|
|
|
const AppStore = useAppStore()
|
|
@@ -94,21 +101,15 @@ const props = defineProps({
|
|
|
})
|
|
|
const state: any = reactive({
|
|
|
loading: false,
|
|
|
- form: {
|
|
|
- basicConfigs: {},
|
|
|
- paramConfigs: {},
|
|
|
- bizConfigs: {},
|
|
|
- },
|
|
|
- baseForms: [],
|
|
|
- paramForms: [],
|
|
|
- bizForms: [],
|
|
|
+ form: {},
|
|
|
+ icon: [],
|
|
|
})
|
|
|
const ref_form = ref()
|
|
|
const titleCpt = computed(() => {
|
|
|
- let t = '模型'
|
|
|
+ let t = '应用'
|
|
|
switch (props.transfer.mode) {
|
|
|
case 'add':
|
|
|
- t = '创建' + t
|
|
|
+ t = '创建' + t + '副本'
|
|
|
break
|
|
|
case 'edit':
|
|
|
t = '编辑' + t
|
|
@@ -125,15 +126,8 @@ watch(
|
|
|
(n) => {
|
|
|
if (n) {
|
|
|
initDictionary()
|
|
|
- state.form = {
|
|
|
- tenantId: AppStore.tenantInfo?.id,
|
|
|
- basicConfigs: {},
|
|
|
- paramConfigs: {},
|
|
|
- bizConfigs: {},
|
|
|
- }
|
|
|
- state.baseForms = []
|
|
|
- state.paramForms = []
|
|
|
- state.bizForms = []
|
|
|
+ state.form = {}
|
|
|
+ state.icon = []
|
|
|
if (props.transfer.mode !== 'add') {
|
|
|
initData()
|
|
|
}
|
|
@@ -143,19 +137,16 @@ watch(
|
|
|
}
|
|
|
},
|
|
|
)
|
|
|
-const initDictionary = () => {
|
|
|
- DictionaryStore.initModelProvides()
|
|
|
-}
|
|
|
const initData = () => {
|
|
|
- state.loading = true
|
|
|
- pluginDetail(props.transfer.id)
|
|
|
- .then(({ data }: any) => {
|
|
|
- state.form = data
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
- .finally(() => {
|
|
|
- state.loading = false
|
|
|
- })
|
|
|
+ // state.loading = true
|
|
|
+ // pluginDetail(props.transfer.id)
|
|
|
+ // .then(({ data }: any) => {
|
|
|
+ // state.form = data
|
|
|
+ // })
|
|
|
+ // .catch(() => {})
|
|
|
+ // .finally(() => {
|
|
|
+ // state.loading = false
|
|
|
+ // })
|
|
|
}
|
|
|
const onSubmit = () => {
|
|
|
ref_form.value
|
|
@@ -165,28 +156,28 @@ const onSubmit = () => {
|
|
|
content: `请确认是否提交?`,
|
|
|
onSubmit: () => {
|
|
|
state.loading = true
|
|
|
- if (props.transfer.mode === 'add') {
|
|
|
- pluginAddInstance(state.form)
|
|
|
- .then(() => {
|
|
|
- ElMessage.success(`${titleCpt.value}成功!`)
|
|
|
- emit('update:show', false)
|
|
|
- emit('refresh')
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
- .finally(() => {
|
|
|
- state.loading = false
|
|
|
- })
|
|
|
- } else {
|
|
|
- pluginUpdateInstance(state.form)
|
|
|
- .then(() => {
|
|
|
- ElMessage.success(`${titleCpt.value}成功!`)
|
|
|
- emit('refresh')
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
- .finally(() => {
|
|
|
- state.loading = false
|
|
|
- })
|
|
|
- }
|
|
|
+ // if (props.transfer.mode === 'add') {
|
|
|
+ // pluginAddInstance(state.form)
|
|
|
+ // .then(() => {
|
|
|
+ // ElMessage.success(`${titleCpt.value}成功!`)
|
|
|
+ // emit('update:show', false)
|
|
|
+ // emit('refresh')
|
|
|
+ // })
|
|
|
+ // .catch(() => {})
|
|
|
+ // .finally(() => {
|
|
|
+ // state.loading = false
|
|
|
+ // })
|
|
|
+ // } else {
|
|
|
+ // pluginUpdateInstance(state.form)
|
|
|
+ // .then(() => {
|
|
|
+ // ElMessage.success(`${titleCpt.value}成功!`)
|
|
|
+ // emit('refresh')
|
|
|
+ // })
|
|
|
+ // .catch(() => {})
|
|
|
+ // .finally(() => {
|
|
|
+ // state.loading = false
|
|
|
+ // })
|
|
|
+ // }
|
|
|
},
|
|
|
})
|
|
|
})
|
|
@@ -198,18 +189,7 @@ const onSubmit = () => {
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
-const getModelProvide = (obj) => {
|
|
|
- console.log(obj)
|
|
|
- state.form.name = obj.name
|
|
|
- state.form.description = obj.description
|
|
|
- state.baseForms = obj.basicConfigAttr
|
|
|
- ? Object.values(obj.basicConfigAttr)
|
|
|
- : []
|
|
|
- state.paramForms = obj.paramConfigAttr
|
|
|
- ? Object.values(obj.paramConfigAttr)
|
|
|
- : []
|
|
|
- state.bizForms = obj.bizConfigAttr ? Object.values(obj.bizConfigAttr) : []
|
|
|
-}
|
|
|
+const initDictionary = () => {}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped></style>
|