From be3fdc201ae9b952ef6e1bf63cdd3231d222cdde Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Sat, 20 Dec 2025 00:02:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E5=BC=B9=E7=AA=97bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 129 +++++++++++--------------- src/views/run/instant/index.vue | 2 +- src/views/run/instant/instant.data.ts | 2 +- src/views/run/model/ModelTable.vue | 3 + src/views/run/model/model.data.ts | 2 +- 5 files changed, 62 insertions(+), 76 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index a0b280d..440504a 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -14,21 +14,26 @@ import {useMessage} from '@/hooks/web/useMessage' const emit = defineEmits(['success']) -const props = defineProps({ - isDisabled: { - type: Boolean, - default: true, - } -}) - const {createMessage} = useMessage() const {t} = useI18n() +const current = ref(0) +const state = reactive({ + selectedRowKeys: [], + selectedData: [], + pointInfo: [], + type: false, +}) +// 本地isDisabled变量 +const isDisabled = ref(true) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { - setModalProps({destroyOnClose: true, showCancelBtn: false, showOkBtn: false}) + resetFields() +current.value=0; +state.selectedData=[]; +state.selectedRowKeys=[]; + isDisabled.value = true }) -const current = ref(0) function next() { current.value++ @@ -36,33 +41,34 @@ function next() { 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', +// }, +// ] +// const items = steps.map(item => ({key: item.title, title: item.title})) 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 { @@ -75,34 +81,13 @@ const instantForm = reactive({ mpName: '', }) -// 本地isDisabled变量 -const isDisabled = ref(true) - -// 监听父组件传递的isDisabled属性变化 -watch(() => props.isDisabled, (newVal) => { - if (newVal !== undefined) { - isDisabled.value = newVal - } -}, {immediate: true}) // immediate设置为true,确保组件初始化时也会执行一次 - -const state = reactive({ - selectedRowKeys: [], - selectedData: [], - pointInfo: [], - type: false, -}) - 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 @@ -119,10 +104,7 @@ async function updatempName(selectedRowKeys, selectedRows) { else 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 @@ -144,13 +126,19 @@ 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() { @@ -161,48 +149,38 @@ function onCanel() { const loading = ref(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}) } } - - + diff --git a/src/views/run/instant/instant.data.ts b/src/views/run/instant/instant.data.ts index ec342b7..e00b697 100644 --- a/src/views/run/instant/instant.data.ts +++ b/src/views/run/instant/instant.data.ts @@ -418,7 +418,7 @@ export const createInstantForm: FormSchema[] = [ ], }, colProps: { - span: 6, + span: 12, }, required: true, diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index 6805308..fc49cef 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -56,6 +56,9 @@ const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = us showResetButton: false, actionColOptions: { span: 2, + style: { + marginLeft: '10px', + }, }, }, useSearchForm: true, diff --git a/src/views/run/model/model.data.ts b/src/views/run/model/model.data.ts index f5bdcd8..bc33216 100644 --- a/src/views/run/model/model.data.ts +++ b/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 }, }, ] From 51af3336d6b6ecff62bc2d529a89ababf9d99635 Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Sat, 20 Dec 2025 00:05:34 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E5=BC=B9=E7=AA=97bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/model/ModelTable.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index fc49cef..856937a 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -10,11 +10,19 @@ import { useI18n } from '@/hooks/web/useI18n' defineOptions({ name: 'ModelTable' }) const emit = defineEmits(['success']) -const props = defineProps({ - selectedRowKeys: { type: Array, default: [] }, - selectedData: { type: Array, default: [] }, +import { defineProps } from 'vue' +const props = defineProps({ + selectedRowKeys: { + type: Array as () => number[], + default: () => [], + }, + selectedData: { + type: Array as () => Record[], + default: () => [], + }, }) + const selectedData = ref(props.selectedData) interface RowKeys { From 9457d23e937dc9f3ff41e162cf10ba16e0f2dd4f Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Sat, 20 Dec 2025 22:58:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 22 ++++------------- src/views/run/model/ModelTable.vue | 34 ++++++++++++++------------- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index 440504a..2ca5228 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -23,15 +23,15 @@ const state = reactive({ pointInfo: [], type: false, }) -// 本地isDisabled变量 +// 本地isDisabled变量-表征下一步按钮的启用与禁用 const isDisabled = ref(true) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { - resetFields() + alert(444) + await resetFields() current.value=0; state.selectedData=[]; state.selectedRowKeys=[]; - isDisabled.value = true }) @@ -42,18 +42,6 @@ function next() { function prev() { current.value-- } - -// const steps = [ -// { -// title: '壹', -// content: 'First-content', -// }, -// { -// title: '贰', -// content: 'Second-content', -// }, -// ] -// const items = steps.map(item => ({key: item.title, title: item.title})) const steps = [ { key: '壹', title: '壹' }, { key: '贰', title: '贰' }, @@ -64,7 +52,6 @@ const [registerForm, {validate, resetFields,getFieldsValue, setFieldsValue, upda showSubmitButton: false, showResetButton: false, layout: 'horizontal', - disabled: true, actionColOptions: { span: 0, // 不占任何列 style: { display: 'none' }, @@ -142,7 +129,8 @@ async function updatempName(selectedRowKeys, selectedRows) { } function onCanel() { - current.value = 0 + state.selectedData=[]; + state.selectedRowKeys=[]; closeModal() } diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index 856937a..75e021e 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -23,25 +23,25 @@ const props = defineProps({ }, }) -const selectedData = ref(props.selectedData) +const selectedData = ref() interface RowKeys { selectedRowKeys: number[] } const state = reactive({ - 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: '模型列表(已下装)', @@ -74,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,