| | |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="detail-container detail-container1" v-if="dialogReadonly"> |
| | | <div class="detail-title">异议详情</div> |
| | | <el-row class="detail-row-view"> |
| | | <el-col :span="12"> |
| | | <div class="label">标题</div> |
| | |
| | | <div class="val">{{ formData.reviewOpinion }}</div> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if=" detailObjectionStatus === '1' && !requesterProvider"> |
| | | <div v-if=" detailObjectionStatus === '1' && permission.orderData_feedback"> |
| | | <div class="detail-title" :style="{ marginTop:pxToRem(20)}">异议反馈</div> |
| | | <el-form ref="feedbackFormRef" class="gd-dialog-form" :model="feedbackFormData" |
| | | :rules="feedbackRules" label-width="140px"> |
| | |
| | | </el-button> |
| | | <el-button class="" color="#4C34FF" :loading="submitting || uploading" :disabled="submitting || uploading" @click="handleApply">申请</el-button> |
| | | </template> |
| | | <template v-if="dialogReadonly && detailObjectionStatus === '1' && !requesterProvider"> |
| | | <template v-if="dialogReadonly && detailObjectionStatus === '1' && permission.orderData_feedback"> |
| | | <el-button color="#F2F3F5" :loading="submitting" :disabled="submitting" @click="visible = false">取消</el-button> |
| | | |
| | | <el-button |
| | |
| | | import { pxToRem } from '@/utils/rem' |
| | | import { useStore } from 'vuex' |
| | | const store = useStore() |
| | | const requesterProvider = computed(() => store.state.user.userInfo?.role_id === '2014158512610869250') |
| | | const permission = computed(() => store.state.user.permission); |
| | | // const requesterProvider = computed(() => store.state.user.userInfo?.role_id === '2014158512610869250') |
| | | // 初始化表单数据 |
| | | const initForm = () => ({ |
| | | id:'', |
| | |
| | | } |
| | | |
| | | // 文件移除 |
| | | // const handleFileRemove = (file, fileListVal) => { |
| | | // uploadedFiles.value = fileListVal |
| | | // } |
| | | const handleFileRemove = (file, fileListVal) => { |
| | | // 从展示列表中移除 |
| | | fileList.value = fileListVal |
| | |
| | | }), |
| | | objectionStatus: objectionStatus |
| | | } |
| | | |
| | | // 如果是编辑且没有修改附件,可以保留原有附件ID |
| | | if (dialogMode.value === 'edit' && formData.value.attachIds) { |
| | | // 这里可以根据业务需求决定是否保留原附件ID |
| | | // 如果接口支持更新时重新上传附件ID列表,可以这样做 |
| | | } |
| | | |
| | | await gdDataObjectionSubmitApi(submitData) |
| | | ElMessage.success(dialogMode.value === 'add' ? '新增成功' : '更新成功') |
| | | visible.value = false |
| | |
| | | ElMessage.warning('没有可下载的附件') |
| | | return |
| | | } |
| | | |
| | | |
| | | // 顺序下载每个附件 |
| | | for (let i = 0; i < attachmentDetailsList.value.length; i++) { |
| | | const attach = attachmentDetailsList.value[i] |
| | |
| | | } |
| | | |
| | | try { |
| | | // 显示当前下载的文件信息 |
| | | const currentFileName = attach.originalName || attach.name || `附件_${i + 1}` |
| | | |
| | | |
| | | const response = await fetch(attach.link) |
| | | const blob = await response.blob() |
| | | const url = window.URL.createObjectURL(blob) |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | // 打开弹框 |
| | | async function open({ mode = 'add', row } = {}) { |
| | | dialogMode.value = mode |