-
@@ -126,13 +170,13 @@
import { ref, onMounted, onBeforeUnmount } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus'
-import { Close, Timer } from '@element-plus/icons-vue'
+import { Close, Timer, Check } from '@element-plus/icons-vue'
// 新增:引入 ViewFile 组件
import ViewFile from '@/views/viewFile/viewFile.vue'
// API(请根据你实际路径调整)
-import { getRectifyDetailApi, rectifyApi } from '@/api/filesTransfer/rectFeedback.js'
+import { getRectifyDetailApi, rectifyApi, rejectApi, approveApi } from '@/api/filesTransfer/rectFeedback.js'
const route = useRoute()
const router = useRouter()
@@ -158,6 +202,12 @@ const rectifyForm = ref({
description: ''
})
+// 新增:驳回弹框相关变量
+const rejectDialogVisible = ref(false)
+const rejectForm = ref({
+ description: ''
+})
+
// 生命周期
onMounted(() => {
document.body.style.overflow = 'hidden'
@@ -269,6 +319,93 @@ const saveRectify = async () => {
ElMessage.error('整改提交失败')
}
}
+
+// 显示驳回弹框
+const showRejectDialog = () => {
+ rejectDialogVisible.value = true
+ // 清空之前的输入
+ rejectForm.value.description = ''
+}
+
+// 关闭驳回弹框
+const closeRejectDialog = () => {
+ rejectDialogVisible.value = false
+ rejectForm.value.description = ''
+}
+
+// 保存驳回信息
+const saveReject = async () => {
+ if (!rejectForm.value.description.trim()) {
+ ElMessage.warning('请输入驳回原因')
+ return
+ }
+
+ try {
+ // 获取当前记录的ID
+ const currentId = fileList.value[0]?.id
+ if (!currentId) {
+ ElMessage.error('获取记录ID失败')
+ return
+ }
+
+ // 调用驳回接口
+ const res = await rejectApi({
+ id: currentId,
+ description: rejectForm.value.description
+ })
+
+ if (res.data?.code === 200) {
+ ElMessage.success('驳回成功')
+ // 关闭弹框
+ closeRejectDialog()
+ // 刷新数据
+ await initData()
+ } else {
+ ElMessage.error(res.data?.msg || '驳回失败')
+ }
+ } catch (error) {
+ console.error('驳回失败:', error)
+ ElMessage.error('驳回失败')
+ }
+}
+
+// 同意整改
+const approveRectify = async () => {
+ try {
+ // 获取当前记录的ID
+ const currentId = fileList.value[0]?.id
+ if (!currentId) {
+ ElMessage.error('获取记录ID失败')
+ return
+ }
+
+ // 弹出确认提示
+ await ElMessageBox.confirm('是否确认同意整改?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ })
+
+ // 调用同意接口
+ const res = await approveApi({
+ id: currentId
+ })
+
+ if (res.data?.code === 200) {
+ ElMessage.success('同意成功')
+ // 刷新数据
+ await initData()
+ } else {
+ ElMessage.error(res.data?.msg || '同意失败')
+ }
+ } catch (error) {
+ // 用户点击取消时,error.message 通常是 "cancel"
+ if (error !== 'cancel') {
+ console.error('同意失败:', error)
+ ElMessage.error('同意失败')
+ }
+ }
+}