wl
2022-10-26 f86cb647ca0ae91519216af19c1ec876874ffb81
src/components/illdetail/index.vue
@@ -1,216 +1,276 @@
<template>
    <div class="view">
        <div class="view-data">
            <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>
                    <el-form-item label="违建类别:">
                        <span class="data-detail">{{baseCase.categoryText}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="当事人姓名:">
                        <span class="data-detail">{{baseCase.illegalBuilding.partyName}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="当事人身份证号:">
                        <span class="data-detail">{{baseCase.illegalBuilding.partyIdCard}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="当事人联系电话:">
                        <span class="data-detail">{{baseCase.illegalBuilding.partyPhone}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违建地点:">
                        <span class="data-detail">{{baseCase.site}}</span>
                    </el-form-item>
                    <el-form-item label="所属社区:">
                        <span class="data-detail">{{baseCase.communityText}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="身份证正反面照片:">
                        <img :src="baseCase.illegalBuilding.positive" alt="">
                    </el-form-item>
                    <el-form-item label-width="0px">
                        <img :src="baseCase.illegalBuilding.negative" alt="">
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="执法违建情况">
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违建具体位置:">
                        <span class="data-detail">{{baseCase.illegalBuilding.position}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违法建设长、宽、高:">
                        <span class="data-detail">{{baseCase.illegalBuilding.buildingLength+'m'+"   "+baseCase.illegalBuilding.buildingWidth+'m'+"   "+baseCase.illegalBuilding.buildingHigh+'m' }}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违法建设面积:">
                        <span class="data-detail">{{baseCase.illegalBuilding.buildingArea}}㎡</span>
                    </el-form-item>
                </div>
                <div class="data-item">
                    <el-form-item label="违法建筑材料:">
                        <span class="data-detail">{{baseCase.illegalBuilding.materials}}</span>
                    </el-form-item>
                </div>
            </el-form>
  <div class="view">
    <div class="view-data">
      <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>
          <el-form-item label="违建类别:">
            <span class="data-detail">{{ baseCase.categoryText }}</span>
          </el-form-item>
        </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>
            </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" :baseCase="baseCase" :handlePassVo="handlePassVo"></MySovleProblem>
                    <MyScene v-else :currentSitVo="currentSitVo" :baseCase="baseCase"></MyScene>
                </div>
            </div>
        <div class="data-item">
          <el-form-item label="当事人姓名:">
            <span class="data-detail">{{
              baseCase.illegalBuilding.partyName
            }}</span>
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="当事人身份证号:">
            <span class="data-detail">{{
              baseCase.illegalBuilding.partyIdCard
            }}</span>
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="当事人联系电话:">
            <span class="data-detail">{{
              baseCase.illegalBuilding.partyPhone
            }}</span>
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="违建地点:">
            <span class="data-detail">{{ baseCase.site }}</span>
          </el-form-item>
          <el-form-item label="所属社区:">
            <span class="data-detail">{{ baseCase.communityText }}</span>
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="身份证正、反面照片:">
            <img :src="baseCase.illegalBuilding.positive" alt="" />
          </el-form-item>
          <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>
        </div>
        <div class="data-item">
          <el-form-item label="违建具体位置:">
            <span class="data-detail">{{
              baseCase.illegalBuilding.position
            }}</span>
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="违法建设长、宽、高:">
            <span class="data-detail">{{
              baseCase.illegalBuilding.buildingLength +
              "m" +
              "   " +
              baseCase.illegalBuilding.buildingWidth +
              "m" +
              "   " +
              baseCase.illegalBuilding.buildingHigh +
              "m"
            }}</span>
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="违法建设面积:">
            <span class="data-detail"
              >{{ baseCase.illegalBuilding.buildingArea }}㎡</span
            >
          </el-form-item>
        </div>
        <div class="data-item">
          <el-form-item label="违法建筑材料:">
            <span class="data-detail">{{
              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>
      </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"
            :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";
export default {
    components: {
        MyProcess, MyFilePicture, MySovleProblem, MyScene
    },
    data() {
        return {
            myInfo: {
            },
            activeIndex: 1,
            titleList: [
                {
                    title: '办理经过',
                    index: 1,
                },
                {
                    title: '案卷图片',
                    index: 2,
                },
                {
                    title: '问题处理',
                    index: 3,
                },
                {
                    title: '现场情况',
                    index: 4,
                },
            ],
            baseCase:{},
            handlePassVo:{},
            currentSitVo:{},
            filesPictureVo:{}
        }
    },
    created() {
        console.log('created');
        const {info} = this;
        this.baseCase = info.baseCase;
        this.handlePassVo = info.handlePassVo;
        this.currentSitVo = info.currentSitVo;
        this.filesPictureVo = info.filesPictureVo;
        console.log(info);
    },
    methods: {
        changeComponent(index) {
            this.activeIndex = index;
  components: {
    MyProcess,
    MyFilePicture,
    MySovleProblem,
    MyScene,
  },
  data() {
    return {
      myInfo: {},
      activeIndex: 1,
      titleList: [
        {
          title: "办理经过",
          index: 1,
        },
        {
          title: "案卷图片",
          index: 2,
        },
        {
          title: "问题处理",
          index: 3,
        },
        {
          title: "现场情况",
          index: 4,
        },
      ],
      baseCase: {},
      handlePassVo: {},
      currentSitVo: {},
      filesPictureVo: {},
    };
  },
  created() {
    console.log("created");
    const { info } = this;
    this.baseCase = info.baseCase;
    this.handlePassVo = info.handlePassVo;
    this.currentSitVo = info.currentSitVo;
    this.filesPictureVo = info.filesPictureVo;
    console.log(info);
  },
  methods: {
    changeComponent(index) {
      this.activeIndex = index;
    },
    props: ['info']
}
  },
  props: ["info"],
};
</script>
<style lang="scss" scoped>
.view {
    display: flex;
    padding: 20px;
  display: flex;
  padding: 20px;
    .view-data {
        color: #4b9bb7;
        // 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: 20px;
        }
        border: 1px solid #17324c;
        :deep(.el-form-item__label) {
            color: #4b9bb7;
        }
        :deep(.el-textarea__inner) {
            background-color: #17324c;
            color: #4b9bb7;
        }
  .view-data {
    color: #4b9bb7;
    // 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: 20px;
    }
    .view-process {
        flex: 6;
        margin-left: 20px;
        .process-header {
            display: flex;
            line-height: 40px;
            .process-title-item {
                width: 120px;
                text-align: center;
                .under-line {
                    height: 2px;
                    width: 100%;
                }
                .title-active {
                    color: #4b9bb7;
                }
                .line-active {
                    background-color: #4b9bb7;
                    border-radius: 20px;
                }
            }
        }
        .show-item {
            overflow: hidden;
            height: 600px;
            position: relative;
            .show-wrap{
                overflow: scroll;
                height: 600px;
            }
        }
    border: 1px solid #17324c;
    :deep(.el-form-item__label) {
      color: #4b9bb7;
    }
    :deep(.el-textarea__inner) {
      background-color: #17324c;
      color: #4b9bb7;
    }
  }
  .view-process {
    flex: 6;
    margin-left: 20px;
    .process-header {
      display: flex;
      line-height: 40px;
      .process-title-item {
        width: 120px;
        text-align: center;
        .under-line {
          height: 2px;
          width: 100%;
        }
        .title-active {
          color: #4b9bb7;
        }
        .line-active {
          background-color: #4b9bb7;
          border-radius: 20px;
        }
      }
    }
    .show-item {
      overflow: hidden;
      height: 600px;
      position: relative;
      .show-wrap {
        overflow: scroll;
        height: 600px;
      }
    }
  }
}
</style>