applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
@@ -138,7 +138,7 @@ <el-button class="save-btn" color="#4C34FF" @click="rejectTheApplication" > @@ -148,6 +148,13 @@ </template> </el-dialog> <!-- 拒绝申请弹框 --> <reasonForRejectionDialog v-if="rejectionDialogVisible" v-model="rejectionDialogVisible" @confirm="handleRejectionConfirm" /> </template> <script setup> @@ -155,10 +162,11 @@ import { getDictLabel } from '@ztzf/utils' import { gdSupplyDemandDetailApi, putFileAttachApi,gdSupplyDemandAuditPassApi,gdSupplyDemandAuditRejectApi } from '@/views/orderView/orderDataManage/supplyAdd/supplyAddApi' import { ElMessage, ElMessageBox } from 'element-plus' import reasonForRejectionDialog from './reasonForRejectionDialog.vue' const dictObj = inject('dictObj') const deptTree = inject('deptTree') const demandId = ref('') const visible = defineModel() // 弹框显隐 const formData = ref({}) // 表单数据 const uploadRef = ref() // 上传组件引用 @@ -167,6 +175,8 @@ const uploadedFiles = ref([]) // 已上传文件列表 const uploadLoading = ref(false) // 上传加载状态 const responseData = ref([]) // 拒绝申请弹框控制 const rejectionDialogVisible = ref(false) // 拒绝申请弹框显隐 // 步骤条数据 const steps = ref([ { title: '需求申请', person: '张三', time: '2025-03-31 12:23:30' }, @@ -317,8 +327,9 @@ async function open({ row }) { if (row?.id) { await loadDetail(row.id) // 可以在这里加载已上传的文件列表 // loadUploadedFiles(row.id) demandId.value = row.id console.log('row.id',demandId.value); } visible.value = true } @@ -351,11 +362,21 @@ if(responseData.value.length === 0){ return ElMessage.warning('请上传数据') } // 打开拒绝申请弹框 rejectionDialogVisible.value = true } // 处理拒绝申请确认 const handleRejectionConfirm = (reason) => { const id = [responseData.value.attachId] console.log('responseData.value',responseData.value) gdSupplyDemandAuditRejectApi({ attachIds:id }).then(() => { console.log('demandId.value',demandId.value); gdSupplyDemandAuditRejectApi({ attachIds: id, auditOpinion: reason ,demandId:'2013137230848598018'}).then(() => { ElMessage.success('拒绝申请成功') visible.value = false }).catch(error => { console.error('拒绝申请失败:', error) ElMessage.error('拒绝申请失败,请重试') }) } // 审核通过 applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
@@ -66,7 +66,7 @@ :model="formData" :rules="rules" :disabled="dialogReadonly" label-width="120px" label-width="130px" > <el-row> <el-col :span="12"> @@ -172,13 +172,11 @@ <el-input class="gd-input" v-model="formData.dataSource" placeholder="请输入" clearable /> </el-form-item> </el-col> <el-col :span="24"> <el-col :span="12"> <el-form-item label="需求信息项" prop="demandInfo"> <el-input class="gd-input" v-model="formData.demandInfo" type="textarea" :rows="4" placeholder="请输入" clearable /> applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue
New file @@ -0,0 +1,91 @@ <template> <el-dialog class="gd-dialog" v-model="visible" :title="'拒绝申请'" @closed="visible = false" destroy-on-close width="550px" align-center > <div class="detail-container"> <div class="detail-cell"> <span class="cell-label">拒绝原因:</span> <el-input v-model="reasonForRejection" style="width: 380px" type="textarea" placeholder="请输入" /> </div> </div> <template #footer> <!-- <el-button @click="handleCancel">取消</el-button> --> <el-button class="save-btn" color="#4C34FF" @click="handleConfirm">确认</el-button> </template> </el-dialog> </template> <script setup> import { ref, watch } from 'vue' import { ElMessage } from 'element-plus' const props = defineProps({ modelValue: { type: Boolean, default: false, }, }) const emit = defineEmits(['update:modelValue', 'confirm']) const visible = ref(props.modelValue) const reasonForRejection = ref('') // 监听visible变化,同步到父组件 watch( () => visible.value, newVal => { emit('update:modelValue', newVal) } ) // 监听父组件modelValue变化 watch( () => props.modelValue, newVal => { visible.value = newVal } ) // 取消按钮点击事件 const handleCancel = () => { visible.value = false reasonForRejection.value = '' } // 确认按钮点击事件 const handleConfirm = () => { if (!reasonForRejection.value.trim()) { return ElMessage.warning('请输入拒绝原因') } emit('confirm', reasonForRejection.value) visible.value = false reasonForRejection.value = '' } </script> <style scoped lang="scss"> .detail-container { padding: 20px; display: flex; align-items: flex-start; gap: 30px; .detail-cell { display: flex; justify-content: center; .cell-label { min-width: 80px; flex-shrink: 0; } :deep(.el-textarea__inner) { height: 100px !important; } } } </style>