|
|
|
@ -18,13 +18,7 @@
|
|
|
|
<el-row :gutter="20">
|
|
|
|
<el-row :gutter="20">
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="验收确认编号" prop="acceptanceCode">
|
|
|
|
<el-form-item label="验收确认编号" prop="acceptanceCode">
|
|
|
|
<el-input v-model="form.acceptanceCode" placeholder="自动生成" disabled>
|
|
|
|
<el-input v-model="form.acceptanceCode" placeholder="由系统自动生成" disabled />
|
|
|
|
<template #append>
|
|
|
|
|
|
|
|
<el-button type="primary" @click="generateAcceptanceCode" :disabled="formDisabled || isCodeGenerated">
|
|
|
|
|
|
|
|
生成编号
|
|
|
|
|
|
|
|
</el-button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-col :span="12">
|
|
|
|
@ -88,7 +82,6 @@ import { useRoute } from 'vue-router'
|
|
|
|
import { useUserStore } from '@/store/modules/user'
|
|
|
|
import { useUserStore } from '@/store/modules/user'
|
|
|
|
import { getErpProjectInfoList } from '@/api/oa/erp/projectInfo'
|
|
|
|
import { getErpProjectInfoList } from '@/api/oa/erp/projectInfo'
|
|
|
|
import { getProjectAcceptance, addProjectAcceptance, updateProjectAcceptance, submitProjectAcceptanceAndFlowStart, prepareProjectAcceptanceByProjectId } from '@/api/oa/erp/projectAcceptance'
|
|
|
|
import { getProjectAcceptance, addProjectAcceptance, updateProjectAcceptance, submitProjectAcceptanceAndFlowStart, prepareProjectAcceptanceByProjectId } from '@/api/oa/erp/projectAcceptance'
|
|
|
|
import { getRuleGenerateCode } from '@/api/system/codeRule'
|
|
|
|
|
|
|
|
import type { ProjectAcceptanceForm } from '@/api/oa/erp/projectAcceptance/types'
|
|
|
|
import type { ProjectAcceptanceForm } from '@/api/oa/erp/projectAcceptance/types'
|
|
|
|
import SubmitVerify from '@/components/Process/submitVerify.vue'
|
|
|
|
import SubmitVerify from '@/components/Process/submitVerify.vue'
|
|
|
|
|
|
|
|
|
|
|
|
@ -136,7 +129,6 @@ const initFormData: ProjectAcceptanceForm = {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const form = ref<ProjectAcceptanceForm>({ ...initFormData })
|
|
|
|
const form = ref<ProjectAcceptanceForm>({ ...initFormData })
|
|
|
|
const isCodeGenerated = ref(false)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const normalizeFlowStatus = (status?: string) => {
|
|
|
|
const normalizeFlowStatus = (status?: string) => {
|
|
|
|
if (!status) return 'draft'
|
|
|
|
if (!status) return 'draft'
|
|
|
|
@ -198,7 +190,6 @@ const applyLeaderFromManager = () => {
|
|
|
|
const res = await getProjectAcceptance(routeParams.id as any)
|
|
|
|
const res = await getProjectAcceptance(routeParams.id as any)
|
|
|
|
Object.assign(form.value, res.data)
|
|
|
|
Object.assign(form.value, res.data)
|
|
|
|
selectedProjectId.value = form.value.projectId
|
|
|
|
selectedProjectId.value = form.value.projectId
|
|
|
|
isCodeGenerated.value = !!form.value.acceptanceCode
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const submitForm = (status: string, mode: boolean) => {
|
|
|
|
const submitForm = (status: string, mode: boolean) => {
|
|
|
|
@ -277,28 +268,6 @@ const formDisabled = computed(() => {
|
|
|
|
return pageTypeForButton.value === 'view' || pageTypeForButton.value === 'approval' || byStatus
|
|
|
|
return pageTypeForButton.value === 'view' || pageTypeForButton.value === 'approval' || byStatus
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
const generateAcceptanceCode = async () => {
|
|
|
|
|
|
|
|
// 仅在可编辑且尚未生成编号时才允许生成
|
|
|
|
|
|
|
|
if (formDisabled.value) return
|
|
|
|
|
|
|
|
if (isCodeGenerated.value) return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
const params = { codeRuleCode: '1008' } as any
|
|
|
|
|
|
|
|
const res = await getRuleGenerateCode(params)
|
|
|
|
|
|
|
|
// 后端将生成的编号放在 msg,与项目/合同/报价保持一致
|
|
|
|
|
|
|
|
form.value.acceptanceCode = res?.msg as any
|
|
|
|
|
|
|
|
isCodeGenerated.value = !!form.value.acceptanceCode
|
|
|
|
|
|
|
|
if (form.value.acceptanceCode) {
|
|
|
|
|
|
|
|
proxy?.$modal.msgSuccess('验收确认编号生成成功')
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
proxy?.$modal.msgError('验收确认编号生成失败')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (error) {
|
|
|
|
|
|
|
|
console.error('生成验收确认编号失败:', error)
|
|
|
|
|
|
|
|
proxy?.$modal.msgError('生成验收确认编号失败')
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onMounted(async () => {
|
|
|
|
onMounted(async () => {
|
|
|
|
// 初始化页面模式与任务ID,优先使用 path 中的 :acceptanceId,其次使用 query.id
|
|
|
|
// 初始化页面模式与任务ID,优先使用 path 中的 :acceptanceId,其次使用 query.id
|
|
|
|
routeParams.id = (route.params.acceptanceId || route.query.id) as any
|
|
|
|
routeParams.id = (route.params.acceptanceId || route.query.id) as any
|
|
|
|
|