diff --git a/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue b/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue index f25179e..5a77e27 100644 --- a/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue +++ b/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue @@ -180,6 +180,9 @@ const [BatchAddModal, batchAddModalApi] = useVbenModal({ }, }); +// 获取批量添加模态框的状态 +const batchAddModalState = batchAddModalApi.useStore(); + // 新增和编辑提交的逻辑 async function submit() { const isEdit = !!editRow.value.id; @@ -466,14 +469,25 @@ const getAddressLines = () => { } }; -// 监听批量添加表单的地址列表变化 -watch( - () => batchAddFormApi.getValues()?.addressList, - (newValue) => { - getAddressLines(); - }, - { immediate: true }, -); +// 使用计算属性来实时计算行数 +const computedAddressLines = computed(() => { + try { + const formValues = batchAddFormApi.getValues(); + const addressList = formValues?.addressList; + if (!addressList || typeof addressList !== 'string') { + return 0; + } + const lines = addressList.split('\n').filter((line: string) => line.trim()); + return lines.length; + } catch { + return 0; + } +}); + +// 监听计算属性的变化,更新 addressLines +watch(computedAddressLines, (newValue) => { + addressLines.value = newValue; +}, { immediate: true }); // 缓存刷新按钮处理函数 const handleCacheRefresh = async () => { @@ -634,6 +648,14 @@ const toolbarActions = computed(() => [ 共 {{ addressLines }} 行设备地址 +
+ + +
diff --git a/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts b/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts index e127d86..5255c51 100644 --- a/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts +++ b/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts @@ -674,7 +674,7 @@ export const batchAddDeviceFormSchema: any = computed(() => [ componentProps: { rows: 4, placeholder: $t('common.pleaseInput') + $t('abp.deviceInfos.deviceAddress') + ',每行一个设备地址', - showCount: false, + showCount: true, maxLength: 2000, style: { resize: 'vertical',