zhanghua
2025-07-16 7c20fd15b7fbc2bd5756b39d5ab655cc849ffcc3
src/components/illdetail/index.vue
@@ -1,149 +1,239 @@
<template>
    <div class="view">
        <div class="view-data">
            <el-form :model="baseCase" label-position="right" ref="viewForm" label-width="160px">
            <el-form
                :model="baseCase"
                label-position="right"
                ref="viewForm"
                label-width="160px"
            >
                <div class="data-item">
                    <el-form-item label="问题类型:">
                        <span class="data-detail">违建</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违建类别:">
                        <span class="data-detail">xxxxxx</span>
                        <span class="data-detail">{{
                            baseCase.categoryText
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="当事人姓名:">
                        <span class="data-detail">xxxxxx</span>
                        <span class="data-detail">{{
                            baseCase.illegalBuilding != null
                                ? baseCase.illegalBuilding.partyName
                                : ''
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="当事人身份证号:">
                        <span class="data-detail">xxxxxx</span>
                        <span class="data-detail">{{
                            baseCase.illegalBuilding != null
                                ? baseCase.illegalBuilding.partyIdCard
                                : ''
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="当事人联系电话:">
                        <span class="data-detail">xxxx</span>
                        <span class="data-detail">{{
                            baseCase.illegalBuilding != null
                                ? baseCase.illegalBuilding.partyPhone
                                : ''
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违建地点:">
                        <span class="data-detail">xxxx</span>
                        <span class="data-detail">{{ baseCase.site }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="所属社区:">
                        <span class="data-detail">xxxxx</span>
                        <span class="data-detail">{{
                            baseCase.communityText
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="身份证正反面照片:">
                        <img src="" alt="">
                    <el-form-item label="身份证正、反面照片:">
                        <img :src="baseCase.illegalBuilding.positive" alt="" />
                    </el-form-item>
                    <el-form-item>
                        <img src="" alt="">
                    <el-form-item label-width="0px">
                        <img
                            style="margin-left: 10px"
                            :src="baseCase.illegalBuilding.negative"
                            alt=""
                        />
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="执法违建情况">
                    </el-form-item>
                    <el-form-item label="执法违建情况"> </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违建具体位置:">
                        <span class="data-detail">xxxxxxx</span>
                        <span class="data-detail">{{
                            baseCase.illegalBuilding.position
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违法建设长、宽、高:">
                        <span class="data-detail">xxxxxxx    xxxxx   xxxxxx</span>
                        <span class="data-detail">{{
                            baseCase.illegalBuilding != null
                                ? baseCase.illegalBuilding.buildingLength
                                : '' + 'm' + '   ' + baseCase.illegalBuilding !=
                                  null
                                ? baseCase.illegalBuilding.buildingWidth
                                : '' + 'm' + '   ' + baseCase.illegalBuilding !=
                                  null
                                ? baseCase.illegalBuilding.buildingHigh
                                : '' + 'm'
                        }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违法建设面积:">
                        <span class="data-detail">xxxxxxx</span>
                        <span class="data-detail"
                            >{{
                                baseCase.illegalBuilding != null
                                    ? baseCase.illegalBuilding.buildingArea
                                    : ''
                            }}㎡</span
                        >
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违法建筑材料:">
                        <span class="data-detail">xxxxxxx</span>
                        <span class="data-detail">{{
                            baseCase.illegalBuilding != null
                                ? baseCase.illegalBuilding.materials
                                : ''
                        }}</span>
                    </el-form-item>
                </div>
            </el-form>
        </div>
        <div class="view-process">
            <div class="process-header">
                <div class="process-title-item" v-for="item in titleList" :key="item.title"
                    @click="changeComponent(item.index)">
                    <div :class="['process-title',activeIndex===item.index ? 'title-active' : '' ]">{{item.title}}</div>
                    <div :class="['under-line',activeIndex===item.index ? 'line-active' : '' ]"></div>
                <div
                    class="process-title-item"
                    v-for="item in titleList"
                    :key="item.title"
                    @click="changeComponent(item.index)"
                >
                    <div
                        :class="[
                            'process-title',
                            activeIndex === item.index ? 'title-active' : ''
                        ]"
                    >
                        {{ item.title }}
                    </div>
                    <div
                        :class="[
                            'under-line',
                            activeIndex === item.index ? 'line-active' : ''
                        ]"
                    ></div>
                </div>
            </div>
            <div class="show-item">
                <div class="show-wrap">
                    <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
                    <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
                    <MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
                    <MyScene v-else :currentSitVo="currentSitVo"></MyScene>
                    <MyProcess
                        v-if="activeIndex === 1"
                        :handlePassVo="handlePassVo"
                        :baseCase="baseCase"
                    ></MyProcess>
                    <MyFilePicture
                        v-else-if="activeIndex === 2"
                        :filesPictureVo="filesPictureVo"
                        :pic="pic"
                        :media="media"
                        :mycode="mycode"
                    ></MyFilePicture>
                    <MySovleProblem
                        v-else-if="activeIndex === 3"
                        :baseCase="baseCase"
                        :handlePassVo="handlePassVo"
                    ></MySovleProblem>
                    <MyScene
                        v-else
                        :currentSitVo="currentSitVo"
                        :baseCase="baseCase"
                    ></MyScene>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
import MyProcess from '@/components/process'
import MyFilePicture from '@/components/filePictrue'
import MySovleProblem from '@/components/solveProblem'
import MyScene from '@/components/scene'
import MyProcess from "@/components/process";
import MyFilePicture from "@/components/filePictrue";
import MySovleProblem from "@/components/solveProblem";
import MyScene from "@/components/scene";
import { FILE_ORIGINAL_PATH } from "@/utils/index";
export default {
    components: {
        MyProcess, MyFilePicture, MySovleProblem, MyScene
    components: {
        MyProcess,
        MyFilePicture,
        MySovleProblem,
        MyScene,
    },
    data() {
        return {
            myInfo: {
            },
            myInfo: {},
            activeIndex: 1,
            titleList: [
                {
                    title: '办理经过',
                    title: "办理经过",
                    index: 1,
                },
                {
                    title: '案卷图片',
                    title: "案卷图片",
                    index: 2,
                },
                {
                    title: '问题处理',
                    title: "问题处理",
                    index: 3,
                },
                {
                    title: '现场情况',
                    title: "现场情况",
                    index: 4,
                },
            ],
            baseCase:{},
            handlePassVo:{},
            currentSitVo:{},
            problemProVo:{},
            filesPictureVo:{}
        }
            ],
            baseCase: {},
            handlePassVo: {},
            currentSitVo: {},
            filesPictureVo: {},
            pic: [],
            media: [],
        };
    },
    created() {
        console.log('created');
        const {info} = this;
        const { info } = this;
        this.baseCase = info.baseCase;
        if (this.baseCase.illegalBuilding) {
            this.baseCase.illegalBuilding.positive = FILE_ORIGINAL_PATH + this.baseCase.illegalBuilding.positive
            this.baseCase.illegalBuilding.negative = FILE_ORIGINAL_PATH + this.baseCase.illegalBuilding.negative
        }
        else {
            this.baseCase.illegalBuilding = {}
        }
        this.handlePassVo = info.handlePassVo;
        this.currentSitVo = info.currentSitVo;
        this.problemProVo = info.problemProVo;
        this.filesPictureVo = info.filesPictureVo;
        console.log(info);
    },
    methods: {
        changeComponent(index) {
            this.activeIndex = index;
        },
    },
    props: ['info']
}
    props: ["info", "mycode"],
};
</script>
<style lang="scss" scoped>
.view {
@@ -152,13 +242,24 @@
    .view-data {
        color: #4b9bb7;
        flex: 4;
        // flex: 4;
        padding: 0 30px 0 20px;
        img {
            width: 100px;
            height: 100px;
            border-radius: 4px;
        }
        .data-item {
            display: flex;
            justify-content: space-between;
            line-height: 40px;
            // justify-content: space-between;
            line-height: 20px;
            .data-detail {
                color: #333;
                line-height: 1.8;
                max-width: 240px;
                display: inline-grid;
            }
        }
        border: 1px solid #17324c;
@@ -204,8 +305,8 @@
            overflow: hidden;
            height: 600px;
            position: relative;
            .show-wrap{
                overflow: scroll;
            .show-wrap {
                overflow: auto;
                height: 600px;
            }
        }