| | |
| | | :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="pxToRem(112)" |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="案例描述" prop="caseDesc"> |
| | | <el-input |
| | | class="gd-input" |
| | | class="gd-input-text" |
| | | v-model="formData.caseDesc" |
| | | type="textarea" |
| | | :rows="4" |
| | |
| | | </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" :loading="submitting" |
| | | :disabled="submitting" @click="preservation">保存</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> |
| | |
| | | gdApplicationInnovationDetailApi, |
| | | gdApplicationInnovationSubmitApi, |
| | | } from '@/views/orderView/orderDataManage/appInnovation/appInnovationApi' |
| | | import { pxToRem } from '@/utils/rem' |
| | | |
| | | // 初始化表单数据 |
| | | const initForm = () => ({ |
| | |
| | | caseDesc: '', |
| | | innovationStatus: '', |
| | | }) |
| | | |
| | | // 从父组件注入字典数据 |
| | | const appInnovationStatusOptions = inject('appInnovationStatusOptions') |
| | | |
| | | const innovationDetailsStatus = inject('innovationDetailsStatus') |
| | | const emit = defineEmits(['success']) |
| | | const formRef = ref(null) // 表单实例 |
| | | const formData = ref(initForm()) // 表单数据 |
| | |
| | | const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' }) |
| | | |
| | | const rules = { |
| | | caseName: fieldRules(true), |
| | | belongDomain: fieldRules(true), |
| | | applicationScenarioDesc: fieldRules(true), |
| | | matterName: fieldRules(true), |
| | | resourceName: fieldRules(true), |
| | | resourceCode: fieldRules(true), |
| | | caseDesc: fieldRules(true), |
| | | caseName: fieldRules(true,50), |
| | | belongDomain: fieldRules(true,50), |
| | | applicationScenarioDesc: fieldRules(true,50), |
| | | matterName: fieldRules(true,50), |
| | | resourceName: fieldRules(true,50), |
| | | resourceCode: fieldRules(true,50), |
| | | caseDesc: fieldRules(true,200), |
| | | } |
| | | |
| | | // 保存 |
| | | async function preservation(){ |
| | | const isValid = await formRef.value?.validate().catch(() => false) |
| | | if (!isValid) return |
| | | submitting.value = true |
| | | try { |
| | | formData.value.innovationStatus = '3' |
| | | await gdApplicationInnovationSubmitApi(formData.value) |
| | | ElMessage.success('新增成功') |
| | | visible.value = false |
| | | emit('success') |
| | | } finally { |
| | | submitting.value = false |
| | | } |
| | | |
| | | } |
| | | // 提交新增/编辑 |
| | | async function handleSubmit() { |
| | | const isValid = await formRef.value?.validate().catch(() => false) |
| | | if (!isValid) return |
| | | submitting.value = true |
| | | try { |
| | | formData.value.innovationStatus = '0' |
| | | 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> |