| | |
| | | :title="titleEnum[dialogMode]" |
| | | @closed="visible = false" |
| | | destroy-on-close |
| | | :close-on-click-modal="false" |
| | | width="800px" |
| | | > |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <el-row> |
| | | <el-row class="detail-row-view"> |
| | | <el-col :span="12"> |
| | | <div class="label">案例名称</div> |
| | | <div class="val">{{ formData.caseName }}</div> |
| | |
| | | :model="formData" |
| | | :rules="rules" |
| | | :disabled="dialogReadonly" |
| | | label-width="100px" |
| | | label-width="140px" |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button> |
| | | <el-button |
| | | class="save-btn" |
| | | color="#4C34FF" |
| | | v-if="!dialogReadonly" |
| | | :loading="submitting" |
| | | :disabled="submitting" |
| | | @click="handleSubmit" |
| | | > |
| | | 保存 |
| | | </el-button> |
| | | <template v-if="!dialogReadonly"> |
| | | <el-button color="#F2F3F5" @click="visible = false">取消</el-button> |
| | | <el-button |
| | | class="" |
| | | color="#4C34FF" |
| | | |
| | | :loading="submitting" |
| | | :disabled="submitting" |
| | | @click="handleSubmit" |
| | | > |
| | | 提交 |
| | | </el-button> |
| | | </template> |
| | | <template v-if="dialogReadonly && innovationDetailsStatus ==='0'"> |
| | | <el-button color="#F2F3F5" @click="handleReject">不通过</el-button> |
| | | <el-button |
| | | class="" |
| | | color="#4C34FF" |
| | | :loading="submitting" |
| | | :disabled="submitting" |
| | | @click="handleApprove" |
| | | > |
| | | 通过 |
| | | </el-button> |
| | | </template> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | caseDesc: '', |
| | | innovationStatus: '', |
| | | }) |
| | | |
| | | // 从父组件注入字典数据 |
| | | const appInnovationStatusOptions = inject('appInnovationStatusOptions') |
| | | |
| | | const innovationDetailsStatus = inject('innovationDetailsStatus') |
| | | const emit = defineEmits(['success']) |
| | | const formRef = ref(null) // 表单实例 |
| | | const formData = ref(initForm()) // 表单数据 |
| | |
| | | if (!isValid) return |
| | | submitting.value = true |
| | | try { |
| | | formData.value.innovationStatus = dialogMode.value === 'add' ? '0' : formData.value.innovationStatus |
| | | await gdApplicationInnovationSubmitApi(formData.value) |
| | | ElMessage.success(dialogMode.value === 'add' ? '新增成功' : '更新成功') |
| | | visible.value = false |
| | | emit('success') |
| | | } finally { |
| | | submitting.value = false |
| | | } |
| | | } |
| | | |
| | | // 处理通过 |
| | | async function handleApprove() { |
| | | submitting.value = true |
| | | try { |
| | | formData.value.innovationStatus = '1' |
| | | await gdApplicationInnovationSubmitApi(formData.value) |
| | | ElMessage.success('审批通过成功') |
| | | visible.value = false |
| | | emit('success') |
| | | } finally { |
| | | submitting.value = false |
| | | } |
| | | } |
| | | |
| | | // 处理不通过 |
| | | async function handleReject() { |
| | | submitting.value = true |
| | | try { |
| | | formData.value.innovationStatus = '2' |
| | | await gdApplicationInnovationSubmitApi(formData.value) |
| | | ElMessage.success('审批不通过成功') |
| | | visible.value = false |
| | | emit('success') |
| | | } finally { |
| | |
| | | |
| | | defineExpose({ open }) |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |