董国庆
2025-09-12 c3ccabfc59431aea657379c72c2e09c8e1b27d18
laboratory/src/views/reportLibrary/processDevelopment/components/approval/index.vue
@@ -1,7 +1,7 @@
<template>
    <el-dialog :title="dialogTitle" :visible.sync="visible" width="80%" @open="open" po :close-on-click-modal="false"
        @close="handleClose">
        <div class="approval-dialog" :style="{height: obj.isDetail ? '50vh' : '40vh'}">
    <el-dialog :title="dialogTitle" :visible.sync="visible" width="90%" @open="open" top="5vh"
        :close-on-click-modal="false" @close="handleClose">
        <div class="approval-dialog" :style="{ height: obj.isDetail ? '80vh' : '60vh' }">
            <!-- 左侧审批内容 -->
            <div class="approval-content">
                <Card class="approval-content-card">
@@ -57,15 +57,15 @@
                                    placeholder="请输入报告正文" />
                            </el-form-item>
                            <div class="header-title" style="width: 100%">
                <div class="header-title-left">
                  <img src="@/assets/public/headercard.png" />
                  <div>附件</div>
                </div>
              </div>
              <el-form-item prop="name" style="margin-top: -18px">
                <el-upload action="#" :on-preview="handlePreview":file-list="fileList" disabled>
                </el-upload>
              </el-form-item>
                                <div class="header-title-left">
                                    <img src="@/assets/public/headercard.png" />
                                    <div>附件</div>
                                </div>
                            </div>
                            <el-form-item prop="name" style="margin-top: -18px">
                                <el-upload action="#" :on-preview="handlePreview" :file-list="fileList" disabled>
                                </el-upload>
                            </el-form-item>
                        </el-form>
                    </template>
@@ -105,7 +105,7 @@
        </div>
        <div slot="footer" class="dialog-footer">
            <el-button @click="handleClose">{{obj.isDetail ? '关闭' : '取 消'}}</el-button>
            <el-button @click="handleClose">{{ obj.isDetail ? '关闭' : '取 消' }}</el-button>
            <el-button type="primary" @click="handleApprove" v-if="!obj.isDetail">确定</el-button>
        </div>
    </el-dialog>
@@ -115,7 +115,7 @@
import ApprovalProcess from '@/components/approvalProcess'
import AiEditor from '@/components/AiEditor'
import { getDetail } from '../../service';
import { customUploadRequest, getFullUrl } from "@/utils/utils";
import { customUploadRequest, getFullUrl, getAllocateIp } from "@/utils/utils";
import apiConfig from '@/utils/baseurl';
@@ -176,10 +176,10 @@
        handlePreview(file) {
            console.log('url', file)
            if (file && file.url) {
                if (file.url && file.url.startsWith(apiConfig.showImgUrl)) {
                if (file.url && file.url.startsWith(getAllocateIp())) {
                    window.open(file.url, '_blank');
                }else{
                    let newUrl=apiConfig.showImgUrl+file.url;
                } else {
                    let newUrl = getAllocateIp() + file.url;
                    window.open(newUrl, '_blank');
                }
            }
@@ -198,22 +198,22 @@
                    processData: []
                };
                if (
            data.feasibilityReportFiles &&
            data.feasibilityReportFiles.length > 0
          ) {
            this.fileList =
              data.feasibilityReportFiles.map((file) => {
                return {
                  name: file.fileName,
                  url: getFullUrl(file.fileUrl),
                  uid: file.id,
                };
              });
            this.form.feasibilityReportFiles =data.feasibilityReportFiles;
          } else {
            this.fileList = [];
            this.form.feasibilityReportFiles = [];
          }
                    data.feasibilityReportFiles &&
                    data.feasibilityReportFiles.length > 0
                ) {
                    this.fileList =
                        data.feasibilityReportFiles.map((file) => {
                            return {
                                name: file.fileName,
                                url: getFullUrl(file.fileUrl),
                                uid: file.id,
                            };
                        });
                    this.form.feasibilityReportFiles = data.feasibilityReportFiles;
                } else {
                    this.fileList = [];
                    this.form.feasibilityReportFiles = [];
                }
                this.tableData = data.projectTeam ?
                    [{ ...data.projectTeam, staffName: data.staffNames || '' }] :
@@ -235,7 +235,7 @@
                        type: "primary",
                        mode: "list",
                        fields: [
                        { label: "审核结果:", value: data.status == 4 ? '驳回' : "通过" || "" },
                            { label: "审核结果:", value: data.status == 4 ? '驳回' : "通过" || "" },
                            { label: "审批意见:", value: data.auditRemark || "" },
                            { label: "审核人:", value: data.auditPersonName || "" },
                            { label: "审核时间:", value: data.auditTime || "" },
@@ -308,10 +308,11 @@
.approval-dialog {
    display: flex;
    height: 40vh;
    min-height: 60vh;
    max-height: 80vh;
    .approval-content {
        flex: 3;
        flex: 1;
        margin-right: 20px;
        background: #ffffff;
        box-shadow: 0px 4px 12px 4px rgba(0, 0, 0, 0.08);
@@ -319,9 +320,9 @@
    }
    .approval-flow {
        padding: 40px 20px;
        // width: 405px;
        flex: 2;
        padding: 20px 10px;
        width: 305px;
        // flex: 2;
        background: #ffffff;
        box-shadow: 0px 4px 12px 4px rgba(0, 0, 0, 0.08);
        border-radius: 10px;
@@ -345,7 +346,7 @@
}
.approval-content-card {
    height: calc(100% - 100px) !important;
    height: calc(100% - 10px) !important;
    box-shadow: none !important;
}
@@ -424,7 +425,7 @@
}
.approval-dialog-approve {
    padding: 38px 20px;
    padding: 18px 10px;
    // display: flex;
    align-content: center;