feat(m3): add field environment info (address, network, contact) to delivery

This commit is contained in:
2026-05-25 14:49:34 +08:00
parent 0062b20ea1
commit 16ab474bee
7 changed files with 229 additions and 2 deletions
@@ -34,6 +34,30 @@
</template>
<template v-else>{{ formatDate(batch.plannedDeliveryDate) }}</template>
</el-descriptions-item>
<el-descriptions-item label="部署地址">
<template v-if="isPending">
<el-input v-model="headerSiteAddress" maxlength="512" />
</template>
<template v-else>{{ batch.siteAddress || '' }}</template>
</el-descriptions-item>
<el-descriptions-item label="网络要求">
<template v-if="isPending">
<el-input v-model="headerNetworkRequirements" maxlength="512" />
</template>
<template v-else>{{ batch.networkRequirements || '' }}</template>
</el-descriptions-item>
<el-descriptions-item label="现场联系人">
<template v-if="isPending">
<el-input v-model="headerSiteContact" maxlength="128" />
</template>
<template v-else>{{ batch.siteContact || '' }}</template>
</el-descriptions-item>
<el-descriptions-item label="联系人电话">
<template v-if="isPending">
<el-input v-model="headerSiteContactPhone" maxlength="32" />
</template>
<template v-else>{{ batch.siteContactPhone || '' }}</template>
</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">
<template v-if="isPending">
<el-input v-model="headerRemarks" type="textarea" :rows="2" maxlength="4000" show-word-limit />
@@ -122,6 +146,10 @@ const projectMap = ref(new Map());
const headerPlannedDate = ref("");
const headerRemarks = ref("");
const headerSiteAddress = ref("");
const headerNetworkRequirements = ref("");
const headerSiteContact = ref("");
const headerSiteContactPhone = ref("");
const lineDialogVisible = ref(false);
const lineEditingId = ref(null);
@@ -165,6 +193,10 @@ watch(
const d = b.plannedDeliveryDate;
headerPlannedDate.value = d == null ? "" : typeof d === "string" ? d.slice(0, 10) : String(d).slice(0, 10);
headerRemarks.value = b.remarks ?? "";
headerSiteAddress.value = b.siteAddress ?? "";
headerNetworkRequirements.value = b.networkRequirements ?? "";
headerSiteContact.value = b.siteContact ?? "";
headerSiteContactPhone.value = b.siteContactPhone ?? "";
},
{ immediate: true }
);
@@ -250,6 +282,10 @@ async function saveHeader() {
await updateDeliveryBatch(id, {
plannedDeliveryDate: headerPlannedDate.value || undefined,
remarks: headerRemarks.value?.trim() ?? "",
siteAddress: headerSiteAddress.value?.trim() || undefined,
networkRequirements: headerNetworkRequirements.value?.trim() || undefined,
siteContact: headerSiteContact.value?.trim() || undefined,
siteContactPhone: headerSiteContactPhone.value?.trim() || undefined,
});
ElMessage.success("已保存");
await loadBatch();