From fd10c98949580d7ae337cfb91fb80eb728e268d9 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 20 Jan 2026 10:31:38 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
---
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue | 6 -
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue | 33 +++++++++--
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue | 91 ++++++++++++++++++++++++++++++
3 files changed, 120 insertions(+), 10 deletions(-)
diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
index 23d0823..ec99aae 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
+++ b/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('拒绝申请失败,请重试')
})
}
// 审核通过
diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
index 1086a59..53a659f 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
+++ b/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
/>
diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue
new file mode 100644
index 0000000..40f5eed
--- /dev/null
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue
@@ -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>
--
Gitblit v1.9.3