This commit is contained in:
2026-04-16 22:38:21 +08:00
parent ba933457d4
commit d5df671ff6

View File

@@ -35,8 +35,12 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item field="server_identity" label="服务器标识">
<a-input v-model="formData.server_identity" placeholder="请输入关联服务器标识" />
<a-form-item field="server_identity" label="服务器">
<a-select v-model="formData.server_identity" placeholder="请选择服务器" allow-search allow-clear>
<a-option v-for="server in serverOptions" :key="server.server_identity" :value="server.server_identity">
{{ server.name }} ({{ server.server_identity }})
</a-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
@@ -143,11 +147,12 @@
</template>
<script lang="ts" setup>
import { ref, reactive, computed, watch } from 'vue'
import { ref, reactive, computed, watch, onMounted } from 'vue'
import { Message } from '@arco-design/web-vue'
import type { FormInstance } from '@arco-design/web-vue'
import { createStorage, updateStorage } from '@/api/ops/storage'
import type { StorageCreateData, StorageItem } from '@/api/ops/storage'
import { fetchServerList, type ServerItem } from '@/api/ops/server'
interface Props {
visible: boolean
@@ -162,6 +167,7 @@ const emit = defineEmits(['update:visible', 'success'])
const formRef = ref<FormInstance>()
const confirmLoading = ref(false)
const serverOptions = ref<ServerItem[]>([])
const isEdit = computed(() => !!props.record?.id)
@@ -329,4 +335,22 @@ const handleCancel = () => {
emit('update:visible', false)
formRef.value?.resetFields()
}
const loadServerOptions = async () => {
try {
const response: any = await fetchServerList({ page: 1, size: 1000 })
if (response && response.details) {
serverOptions.value = response.details.data || []
} else {
serverOptions.value = []
}
} catch (error) {
console.error('加载服务器列表失败:', error)
serverOptions.value = []
}
}
onMounted(() => {
loadServerOptions()
})
</script>