feat(manager/plans + biz-project): 审核 dialog 项目编号改远程 el-select

后端 (BizProjectController):
- 新增 GET /business/project/projectNoOptions
- 返回 [{projectNo, projectName}], 仅 project_no 非空, 按 projectNo 倒序
- 不加 @PreAuthorize (manager 是业务角色, 与 specialPlan/options 一致)

前端 (manager/Plans.vue):
- 模板: 项目编号 el-input → el-select (filterable, 显示 projectNo / projectName)
- script: 加 projectNoOptions ref + loadProjectNoOptions() 函数
- onAudit: 每次打开 dialog 调 loadProjectNoOptions 拿最新 options
This commit is contained in:
郭庆泰
2026-08-18 01:08:28 +08:00
parent 1d288fbe6c
commit 8bee167704
2 changed files with 35 additions and 1 deletions
+13 -1
View File
@@ -92,7 +92,9 @@
</el-radio-group>
</el-form-item>
<el-form-item v-if="auditForm.result === '2'" label="项目编号" prop="projectNo">
<el-input v-model="auditForm.projectNo" placeholder="请填写项目编号" />
<el-select v-model="auditForm.projectNo" placeholder="请选择项目编号" filterable style="width:100%">
<el-option v-for="opt in projectNoOptions" :key="opt.projectNo" :label="opt.projectNo + (opt.projectName ? ' / ' + opt.projectName : '')" :value="opt.projectNo" />
</el-select>
</el-form-item>
<el-form-item label="审核意见">
<el-input v-model="auditForm.opinion" type="textarea" rows="3" placeholder="请填写审核意见 (可选)" />
@@ -164,6 +166,15 @@ async function loadPlanDirectionOptions() {
} catch { planDirectionOptions.value = [] }
}
// 项目编号下拉选项: [{projectNo, projectName}], 审核通过时选择用
const projectNoOptions = ref([])
async function loadProjectNoOptions() {
try {
const { data } = await request.get('/business/project/projectNoOptions')
projectNoOptions.value = (data && data.data) || data || []
} catch { projectNoOptions.value = [] }
}
const q = ref({ planName: '', projectNo: '', planDirectionId: '', planCategory: '', status: '', isSettled: '', remark: '' })
const rows = ref([]); const selection = ref([])
const loading = ref(false)
@@ -224,6 +235,7 @@ function onAudit(row) {
auditForm.result = '2'
auditForm.projectNo = ''
auditForm.opinion = ''
loadProjectNoOptions()
auditOpen.value = true
}
async function submitAudit() {