马宇豪
2023-05-05 c819024e241b9f7c54cc3786373ad0d2998f2190
src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue
@@ -274,32 +274,38 @@
                                    <el-table-column
                                        prop="date"
                                        label="步骤"
                                        type="index"
                                        align="center"
                                        width="60">
                                       >
                                    </el-table-column>
                                    <el-table-column
                                        prop="realname"
                                        label="操作人"
                                        align="center"
                                        width="138">
                                        >
                                    </el-table-column>
                                    <el-table-column
                                        prop="create_time"
                                        label="处理时间"
                                        align="center"
                                        width="200">
                                        >
                                    </el-table-column>
                                    <el-table-column
                                        prop="city"
                                        label="审批意见"
                                        align="center"
                                        width="260">
                                        >
                                        <template slot-scope="scope">
                                            <span size="medium">{{ scope.row.content }}</span>
                                            <a v-for="item in scope.row.realFileName"
                                               :href="scope.row.url+'/'+item">
                                                {{ item.split("fileName=")[1] }}
                                            </a>
                                            <span v-for="item in scope.row.realFileName">
                                                <el-link  type="primary" @click="downloadFile(subFile(item))">
                                                    {{subFile(item)}}
                                                </el-link>
                                            </span>
<!--                                            <a v-for="item in scope.row.realFileName"-->
<!--                                               :href="scope.row.url+'/'+item">-->
<!--                                                {{ item.split("fileName=")[1] }}-->
<!--                                            </a>-->
                                        </template>
                                    </el-table-column>
                                    <el-table-column
@@ -315,7 +321,7 @@
                </el-form>
                <el-form :model="sendData" :rules="rules" ref="sendData" label-width="150px" class="demo-ruleForm"
                         style="margin: 0 14% 0 16%;">
                >
                    <el-row>
                        <el-col :span="22">
                            <el-form-item label="发送流程" prop="name">
@@ -331,7 +337,7 @@
                    </el-row>
                    <el-row>
                        <el-col :span="22">
                            <el-form-item label="是否同意延期:" prop="name">
                            <el-form-item label="是否同意延期:" prop="ispass">
                                <el-radio-group v-model="sendData.ispass">
                                    <el-radio :label="0">同意延期</el-radio>
                                    <el-radio :label="1">不同意</el-radio>
@@ -339,8 +345,7 @@
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <div
                        v-if="ruleForm.safetyInspectionItemResult == 0">
                    <div v-if="ruleForm.safetyInspectionItemResult == 0">
                        <el-row>
                            <el-col :span="9">
                                <el-form-item label="限改时间" prop="alter_time">
@@ -353,15 +358,6 @@
                                </el-form-item>
                            </el-col>
                        </el-row>
                        <el-row></el-row>
                        <el-row></el-row>
                        <el-row>
                            <el-col :span="22">
                                <el-form-item label="备注" prop="desc">
                                    <el-input class="textarea" type="textarea" v-model="sendData.dealContent"></el-input>
                                </el-form-item>
                            </el-col>
                        </el-row>
                    </div>
                    <div
                        v-else="ruleForm.safetyInspectionItemResult == 1">
@@ -369,6 +365,7 @@
                            <el-col :span="9">
                                <el-form-item label="限改时间" prop="alter_time">
                                    <el-date-picker
                                        disabled
                                        v-model="sendData.alter_time"
                                        type="date"
                                        placeholder="选择日期"
@@ -380,7 +377,8 @@
                        <el-row>
                            <el-col :span="22">
                                <el-form-item label="备注" prop="desc1">
                                    <el-input class="textarea" type="textarea" v-model="sendData.dealContent"></el-input>
                                    <el-input class="textarea" type="textarea"
                                              v-model="sendData.dealContent"></el-input>
                                </el-form-item>
                            </el-col>
                        </el-row>
@@ -388,7 +386,7 @@
                    <el-row>
                        <el-col :span="22">
                            <el-form-item style="text-align: center;">
                                <el-button class="btn" size="small" type="primary" @click="submitForm('ruleForm')">保存
                                <el-button class="btn" size="small" type="primary" @click="submitForm('sendData')">保存
                                </el-button>
                                <el-button size="small" @click="close()">关闭</el-button>
                            </el-form-item>
@@ -404,6 +402,7 @@
<script>
import Titlename from "../../components/Titlename/index.vue";
import {sendDangerNext, getDangerDetails, getWfRecordList} from "@/api/sgyhpczl/recheckCancellationNumber";
import {downloadFile} from "@/api/sgyhpczl/fileUtils";
export default {
    components: {Titlename},
@@ -432,11 +431,11 @@
                alter_time: {required: true, message: '请填写复查时间', trigger: 'blur'},
            },
            sendData: {
                id:"",
                step:"1",
                ispass:"同意延期",
                alter_time:"",
                dealContent:"",
                id: "",
                step: "1",
                ispass: 0,
                alter_time: "",
                dealContent: "",
            },
            tableData: [],
@@ -448,6 +447,16 @@
        this.getDangerDetails();
        this.getWfRecordList()
    },
    watch: {
        "sendData.ispass": function (newVal, oldVal) {
            console.log(newVal)
            if (newVal == 0) {
                this.sendData.alter_time = this.ruleForm.extension;
            } else {
                this.sendData.alter_time = this.ruleForm.alter_time;
            }
        }
    },
    methods: {
        getDangerDetails() {
            getDangerDetails(this.$route.query.id).then(res => {
@@ -455,12 +464,10 @@
                if (data.ok) {
                    this.ruleForm = data.data;
                    this.sendData.id = this.ruleForm.id;
                    this.sendData.alter_time = this.ruleForm.alter_time;
                    this.sendData.alter_time = this.ruleForm.extension;
                    this.ruleForm.url = process.env.BASE_API;
                    this.ruleForm.callback_branch = data.data.check_main_branch
                    //this.ruleForm.ispass=0
                    this.sendDataForm.id = this.ruleForm.id
                } else {
                    this.$message({type: 'error', message: "数据查询失败,请重试!", duration: 3000})
                }
@@ -479,7 +486,17 @@
        submitForm(formName) {
            this.$refs[formName].validate((valid) => {
                if (valid) {
                    alert('submit!');
                    sendDangerNext(this.sendData).then(res => {
                        var msg = res.data.msg;
                        if (res.data.ok) {
                            this.$router.push({
                                path: "/delayHiddenDangerRectification",
                            })
                            this.$message({type: 'success', message: msg, duration: 3000})
                        } else {
                            this.$message({type: 'error', message: msg, duration: 3000})
                        }
                    })
                } else {
                    console.log('error submit!!');
                    return false;
@@ -506,7 +523,40 @@
            this.$router.push({
                path: "/delayHiddenDangerRectification"
            })
        }
        },
        subFile(fileName){
            return  fileName.substring(fileName.indexOf("fileName=")+9)
        },
        downloadFile(path){
            let params = {
                type: 0,
                fileName: path,
            };
            downloadFile(params).then((res) => {
                if(res.data.type=='text/json'){
                    const reader  = new FileReader();
                    reader.readAsText(res.data, 'utf-8');
                    reader.onload = e => {
                        this.$message({
                            type: "error",
                            message: JSON.parse(reader.result).msg,
                            duration: 3000,
                        });
                    }
                } else {
                    let blob = new Blob([res.data], {type: 'application/octet-stream'})
                    console.log(blob)
                    let blobUrl = window.URL.createObjectURL(blob)
                    let downloadElement = document.createElement('a')
                    downloadElement.href = blobUrl
                    downloadElement.download = path
                    document.body.appendChild(downloadElement)
                    downloadElement.click()
                    document.body.removeChild(downloadElement)
                    window.URL.revokeObjectURL(blobUrl)
                }
            });
        },
    }
}
</script>