fix(assign): 提交截止(天) 单条模式回填, 批量模式显示空
- loadSingleProject: 回填 assignForm.deadlineDays = Number(p.submitDeadlineDays || 30) - resetAssignForm: 批量模式 deadlineDays = null (显示空), 单条默认 30 - loadBatchProjects: 保持不回填 (N 项目共用空值, 沿用初始状态) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -14,16 +14,39 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 项目核心属性 (单条模式: 只读展示, 字段未加载完时显示 -) -->
|
<!-- 项目核心属性 (单条模式: 只读展示, 字段未加载完时显示 -) -->
|
||||||
<el-descriptions v-if="!batchMode" v-loading="singleLoading" class="project-meta" :column="3" border size="small">
|
<div v-if="!batchMode" v-loading="singleLoading">
|
||||||
<el-descriptions-item label="项目编号">{{ currentProject?.projectNo || '-' }}</el-descriptions-item>
|
<div class="new-card-title">项目信息</div>
|
||||||
<el-descriptions-item label="项目名称">{{ currentProject?.projectName || '-' }}</el-descriptions-item>
|
<el-form :model="currentProject || {}" label-width="110px" class="project-meta">
|
||||||
<el-descriptions-item label="项目形式">{{ currentProject?.projectForm || '-' }}</el-descriptions-item>
|
<el-row :gutter="12">
|
||||||
<el-descriptions-item label="总场次/总期数">{{ currentProject?.totalSessions || 0 }}</el-descriptions-item>
|
<el-col :span="12">
|
||||||
<el-descriptions-item label="总金额(元)">{{ currentProject?.totalAmount || 0 }}</el-descriptions-item>
|
<el-form-item label="项目编号">{{ currentProject?.projectNo || '-' }}</el-form-item>
|
||||||
<el-descriptions-item label="管理费及税金">{{ currentProject?.manageFee || 0 }}</el-descriptions-item>
|
</el-col>
|
||||||
</el-descriptions>
|
<el-col :span="12">
|
||||||
|
<el-form-item label="项目名称">{{ currentProject?.projectName || '-' }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="12">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="项目形式">{{ currentProject?.projectForm || '-' }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="总场次/总期数">{{ currentProject?.totalSessions || 0 }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="12">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="总金额(元)">{{ currentProject?.totalAmount || 0 }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="管理费及税金">{{ currentProject?.manageFee || 0 }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
<el-form :model="assignForm" label-width="120px">
|
<el-form :model="assignForm" label-width="120px">
|
||||||
|
<div class="new-card-title">项目分配</div>
|
||||||
|
|
||||||
<el-form-item label="支持单位">
|
<el-form-item label="支持单位">
|
||||||
<el-select v-model="assignForm.sponsorAdminUserId" placeholder="请选择支持单位" filterable
|
<el-select v-model="assignForm.sponsorAdminUserId" placeholder="请选择支持单位" filterable
|
||||||
:filter-method="searchSponsorOrgs" clearable style="width:100%" @change="onSponsorOrgPick">
|
:filter-method="searchSponsorOrgs" clearable style="width:100%" @change="onSponsorOrgPick">
|
||||||
@@ -32,8 +55,6 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-divider>执行单位分配</el-divider>
|
|
||||||
|
|
||||||
<!-- 单选模式: 实时校验栏 -->
|
<!-- 单选模式: 实时校验栏 -->
|
||||||
<div v-if="!batchMode" class="assign-sessions-bar">
|
<div v-if="!batchMode" class="assign-sessions-bar">
|
||||||
<span>项目总场次: <b>{{ assignForm.totalSessions || 0 }}</b></span>
|
<span>项目总场次: <b>{{ assignForm.totalSessions || 0 }}</b></span>
|
||||||
@@ -209,7 +230,7 @@ function resetAssignForm() {
|
|||||||
totalSessions: 0,
|
totalSessions: 0,
|
||||||
totalAmount: 0,
|
totalAmount: 0,
|
||||||
execRows: [makeEmptyExecRow()],
|
execRows: [makeEmptyExecRow()],
|
||||||
deadlineDays: 30
|
deadlineDays: batchMode ? null : 30
|
||||||
})
|
})
|
||||||
sponsorOrgOptions.value = []
|
sponsorOrgOptions.value = []
|
||||||
}
|
}
|
||||||
@@ -318,6 +339,7 @@ async function loadSingleProject() {
|
|||||||
assignForm.sponsorAdminUserName = p.sponsorAdminUserName || ''
|
assignForm.sponsorAdminUserName = p.sponsorAdminUserName || ''
|
||||||
assignForm.totalSessions = Number(p.totalSessions || 0)
|
assignForm.totalSessions = Number(p.totalSessions || 0)
|
||||||
assignForm.totalAmount = Number(p.totalAmount || 0)
|
assignForm.totalAmount = Number(p.totalAmount || 0)
|
||||||
|
assignForm.deadlineDays = Number(p.submitDeadlineDays || 30)
|
||||||
// 拉已分配记录
|
// 拉已分配记录
|
||||||
await loadAssigns(singleProjectId)
|
await loadAssigns(singleProjectId)
|
||||||
// 拉支持方候选 (含已选项回拉)
|
// 拉支持方候选 (含已选项回拉)
|
||||||
@@ -493,8 +515,9 @@ async function submitAssign() {
|
|||||||
.info-bar b { color: #303133; margin: 0 2px; }
|
.info-bar b { color: #303133; margin: 0 2px; }
|
||||||
|
|
||||||
/* 项目核心属性只读区 */
|
/* 项目核心属性只读区 */
|
||||||
.project-meta { margin-bottom: 16px; }
|
.project-meta { background: #fff; border: 1px solid #f0f0f0; border-radius: 6px; padding: 12px 16px 4px; margin-bottom: 16px; }
|
||||||
.project-meta :deep(.el-descriptions__label) { width: 110px; }
|
.project-meta :deep(.el-form-item) { margin-bottom: 12px; }
|
||||||
|
.project-meta :deep(.el-form-item__content) { font-size: 13px; color: #1a1a1a; min-height: 32px; line-height: 32px; }
|
||||||
|
|
||||||
/* 分配 dialog 总场次条 (从 Projects.vue 1:1 搬) */
|
/* 分配 dialog 总场次条 (从 Projects.vue 1:1 搬) */
|
||||||
.assign-sessions-bar {
|
.assign-sessions-bar {
|
||||||
|
|||||||
Reference in New Issue
Block a user