Browse Source

Merge branch 'dev-xjf' of http://120.26.116.243:3000/root/alert-front into dev-xjf

# Conflicts:
#	src/views/run/instant/CreateModal.vue
pull/86/head
肖晋飞 3 weeks ago
parent
commit
67097f9080
  1. 116
      src/views/run/instant/CreateModal.vue
  2. 2
      src/views/run/instant/instant.data.ts
  3. 51
      src/views/run/model/ModelTable.vue
  4. 2
      src/views/run/model/model.data.ts

116
src/views/run/instant/CreateModal.vue

@ -14,62 +14,48 @@ import {useMessage} from '@/hooks/web/useMessage'
const emit = defineEmits(['success'])
// const props = defineProps({
// isDisabled: {
// type: Boolean,
// default: true,
// }
// })
const current = ref<number>(0)
const {createMessage} = useMessage()
const {t} = useI18n()
const current = ref<number>(0)
const state = reactive<any>({
selectedRowKeys: [],
selectedData: [],
pointInfo: [],
type: false,
})
// isDisabled-
const isDisabled = ref<boolean>(true)
const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
alert(444)
await resetFields()
current.value=0;
state.selectedRowKeys=[];
state.selectedData=[];
setModalProps({destroyOnClose: true, showCancelBtn: false, showOkBtn: false})
current.value=0;
state.selectedData=[];
state.selectedRowKeys=[];
})
function next() {
current.value++
}
function prev() {
current.value--
if (current.value == 0) {
console.log(state.selectedRowKeys)
console.log(state.selectedData)
}
}
const steps = [
{
title: '壹',
content: 'First-content',
},
{
title: '贰',
content: 'Second-content',
},
{ key: '壹', title: '壹' },
{ key: '贰', title: '贰' },
]
const items = steps.map(item => ({key: item.title, title: item.title}))
const [registerForm, {validate, resetFields, setFieldsValue, updateSchema, setProps}] = useForm({
const [registerForm, {validate, resetFields,getFieldsValue, setFieldsValue, updateSchema, setProps}] = useForm({
labelWidth: 100,
schemas: createInstantForm,
showSubmitButton: false,
showResetButton: false,
layout: 'horizontal',
actionColOptions: {span: 2},
disabled: true,
actionColOptions: {
span: 0, //
style: { display: 'none' },
},
})
interface instantForms {
@ -82,28 +68,13 @@ const instantForm = reactive<instantForms>({
mpName: '',
})
// isDisabled
// const isDisabled = ref<boolean>(true)
// isDisabled
// watch(() => props.isDisabled, (newVal) => {
// if (newVal !== undefined) {
// isDisabled.value = newVal
// }
// }, {immediate: true}) // immediatetrue
//
async function updatempName(selectedRowKeys, selectedRows) {
console.log(selectedRowKeys)
console.log(selectedRows)
console.log(instantForm)
resetFields()
state.selectedRowKeys = selectedRowKeys;
state.selectedData = selectedRows;
//
if (selectedRows.length !== 0) {
state.type = selectedRows[0].algorithm === 'ANN'
console.log(state.type)
state.pointInfo = JSON.parse(selectedRows[0].modelInfo).pointInfo
for (const p of state.pointInfo) {
p.modelName = selectedRows[0].modelName
@ -115,15 +86,12 @@ async function updatempName(selectedRowKeys, selectedRows) {
//
isDisabled.value = selectedRows.length === 0
if (selectedRows.length === 0)
await setProps({disabled: true})
setProps({disabled: true})
else
await setProps({disabled: false})
setProps({disabled: false})
instantForm.modelId = selectedRows.length !== 0 ? `${selectedRows[0].modelId}` : ``
instantForm.mpName = selectedRows.length !== 0 ? `${selectedRows[0].modelName}-实例` : ``
setFieldsValue(instantForm)
const versionData = selectedRows.length !== 0 ? await getModelVersionList({modelId: selectedRows[0].modelId}) : []
const versionList = [] as any
@ -145,65 +113,62 @@ async function updatempName(selectedRowKeys, selectedRows) {
componentProps: {
options: versionList,
},
defaultValue: versionList[0]?.value
})
updateSchema({
field: 'calcGroup',
componentProps: {
options: calcGroupList,
},
defaultValue: calcGroupList[0]?.value
})
instantForm.modelId = selectedRows.length !== 0 ? `${selectedRows[0].modelId}` : ``
instantForm.mpName = selectedRows.length !== 0 ? `${selectedRows[0].modelName}-实例` : ``
setFieldsValue(instantForm)
}
function onCanel() {
current.value = 0
state.selectedData=[];
state.selectedRowKeys=[];
closeModal()
}
const loading = ref<boolean>(false)
const pointRef = ref()
async function CompleteCreate() {
async function handleSubmit() {
try {
loading.value = true
// confirmLoading
setModalProps({confirmLoading: true, loading: true})
console.log(getFieldsValue())
const values = await validate()
console.log(values)
// if (unref(isUpdate)) {
// await updateDemo02Category(values)
// } else {
// await createDemo02Category(values)
// }
//
//
const pointInfoNew = pointRef.value.getPointTableData()
values.pointInfo = pointInfoNew
console.log(values)
await createInstant(values)
emit('success')
createMessage.success(t('common.saveSuccessText'))
} finally {
closeModal()
}
catch (e) {
}finally {
loading.value = false
// confirmLoading
setModalProps({confirmLoading: false, loading: false})
}
}
</script>
<template>
<BasicModal v-bind="$attrs" title="新增模型实例" width="60%" height="500px" @cancel="onCanel"
<BasicModal v-bind="$attrs" title="新增模型实例" width="65%"
:body-style="{ height: '500px', overflowY: 'auto' }"
@cancel="onCanel"
@register="registerCreateModal">
<Card title="实例信息">
<BasicForm @register="registerForm" ref="instantFormRef"/>
</Card>
<Divider/>
<Steps :current="current" :items="items"/>
<Steps :current="current" :items="steps"/>
<div class="steps-content">
<ModalTable v-if="current === 0" :selectedRowKeys="state.selectedRowKeys"
:selected-data="state.selectedData" @success="updatempName"/>
@ -220,7 +185,7 @@ async function CompleteCreate() {
v-if="current === steps.length - 1"
type="primary"
:loading="loading"
@click="CompleteCreate"
@click="handleSubmit"
>
完成
</a-button>
@ -234,7 +199,7 @@ async function CompleteCreate() {
<style scoped>
.steps-content {
margin-top: 16px;
margin-top: 5px;
text-align: center;
background-color: #fafafa;
border: 1px dashed #e9e9e9;
@ -242,11 +207,16 @@ async function CompleteCreate() {
}
.steps-action {
margin-top: 24px;
margin-top: 16px;
}
[data-theme='dark'] .steps-content {
background-color: #2f2f2f;
border: 1px dashed #404040;
}
:deep(.ant-card-body){
padding:12px
}
</style>

2
src/views/run/instant/instant.data.ts

@ -418,7 +418,7 @@ export const createInstantForm: FormSchema[] = [
],
},
colProps: {
span: 6,
span: 12,
},
required: true,

51
src/views/run/model/ModelTable.vue

@ -10,30 +10,38 @@ import { useI18n } from '@/hooks/web/useI18n'
defineOptions({ name: 'ModelTable' })
const emit = defineEmits(['success'])
const props = defineProps({
selectedRowKeys: { type: Array<number>, default: [] },
selectedData: { type: Array<Recordable>, default: [] },
import { defineProps } from 'vue'
const props = defineProps({
selectedRowKeys: {
type: Array as () => number[],
default: () => [],
},
selectedData: {
type: Array as () => Record<string, any>[],
default: () => [],
},
})
const selectedData = ref<Recordable[]>(props.selectedData)
const selectedData = ref<Recordable[]>()
interface RowKeys {
selectedRowKeys: number[]
}
const state = reactive<RowKeys>({
selectedRowKeys: props.selectedRowKeys
selectedRowKeys: []
})
const { t } = useI18n()
watch(
() => props.selectedRowKeys,
() => {
setSelectedRowKeys(props.selectedRowKeys)
setSelectedRows(props.selectedData)
state.selectedRowKeys = props.selectedRowKeys
console.log(state.selectedRowKeys)
selectedData.value=props.selectedData
},
)
// watch(
// () => props.selectedRowKeys,
// () => {
// setSelectedRowKeys(props.selectedRowKeys)
// setSelectedRows(props.selectedData)
// state.selectedRowKeys = props.selectedRowKeys
// console.log(state.selectedRowKeys)
// selectedData.value=props.selectedData
// },
// )
const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = useTable({
title: '模型列表(已下装)',
@ -56,6 +64,9 @@ const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = us
showResetButton: false,
actionColOptions: {
span: 2,
style: {
marginLeft: '10px',
},
},
},
useSearchForm: true,
@ -63,11 +74,13 @@ const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = us
showIndexColumn: false,
})
onMounted(async () => {
setSelectedRowKeys(props.selectedRowKeys)
setSelectedRows(props.selectedData)
})
onMounted(() => {
setSelectedRowKeys([...props.selectedRowKeys])
setSelectedRows([...props.selectedData])
})
// watch(
// () => props.selectedRowKeys,

2
src/views/run/model/model.data.ts

@ -51,6 +51,6 @@ export const searchFormSchema: FormSchema[] = [
field: 'modelName',
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
colProps: { span: 10 },
},
]

Loading…
Cancel
Save