| | |
| | | <template> |
| | | <div class="view"> |
| | | <div class="view-data"> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 问题类型:</label> |
| | | <span class="data-detail">{{ |
| | | getCategoryLabel(baseCase.category) |
| | | }}</span> |
| | | <div class="view"> |
| | | <div class="view-data"> |
| | | <el-descriptions class="margin-top" :column="2" border> |
| | | <el-descriptions-item label="问题类型">{{ |
| | | getCategoryLabel(baseCase.category) |
| | | }}</el-descriptions-item> |
| | | |
| | | <el-descriptions-item label="事发地点">{{ |
| | | baseCase.site |
| | | }}</el-descriptions-item> |
| | | |
| | | <el-descriptions-item label="大类名称" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.categoryText |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="商铺名称" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.shopName |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="小类名称" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.typeText |
| | | }}</span></el-descriptions-item |
| | | > |
| | | |
| | | <el-descriptions-item label="反映人" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.informant |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="事件等级" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.gradeText |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="联系方式" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.informantPhoneCode |
| | | }}</span></el-descriptions-item |
| | | > |
| | | |
| | | <el-descriptions-item label="案由" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.actionCause |
| | | }}</span></el-descriptions-item |
| | | > |
| | | |
| | | <el-descriptions-item label="身份证号" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.informantIdCard |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="所属街道" |
| | | ><span class="data-detail">{{ |
| | | baseCase.streetText |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="所属社区" |
| | | ><span class="data-detail">{{ |
| | | baseCase.communityText |
| | | }}</span></el-descriptions-item |
| | | > |
| | | <el-descriptions-item label="问题描述" |
| | | ><span class="data-detail">{{ |
| | | baseCase.violationsVO.description |
| | | }}</span></el-descriptions-item |
| | | > |
| | | </el-descriptions> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 大类名称:</label> |
| | | <span class="data-detail">{{ |
| | | baseCase.violationsVO.categoryText |
| | | }}</span> |
| | | <div class="view-process"> |
| | | <div class="process-header"> |
| | | <el-button |
| | | :type="activeIndex === item.index ? 'primary' : ''" |
| | | v-for="item in titleList" |
| | | :key="item.title" |
| | | @click="changeComponent(item.index)" |
| | | > |
| | | {{ item.title }}</el-button |
| | | > |
| | | </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" |
| | | :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> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 小类名称:</label> |
| | | <span class="data-detail">{{ baseCase.violationsVO.typeText }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 事件等级:</label> |
| | | <span class="data-detail">{{ baseCase.violationsVO.gradeText }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 案由:</label> |
| | | <span class="data-detail">{{ |
| | | baseCase.violationsVO.actionCause |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 所属街道:</label> |
| | | <span class="data-detail">{{ baseCase.streetText }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 所属社区:</label> |
| | | <span class="data-detail">{{ baseCase.communityText }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 事发地点:</label> |
| | | <span class="data-detail">{{ baseCase.site }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 商铺名称:</label> |
| | | <span class="data-detail">{{ baseCase.violationsVO.shopName }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 问题描述:</label> |
| | | <span class="data-detail">{{ |
| | | baseCase.violationsVO.description |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-user"> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 反映人:</label> |
| | | <span class="data-detail">{{ |
| | | baseCase.violationsVO.informant |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__right"> |
| | | <label class="data-title"> 联系方式:</label> |
| | | <span class="data-detail">{{ |
| | | baseCase.violationsVO.informantPhoneCode |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="data-item"> |
| | | <div class="data-item__left"> |
| | | <label class="data-title"> 身份证号:</label> |
| | | <span class="data-detail">{{ |
| | | baseCase.violationsVO.informantIdCard |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </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" |
| | | :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 { CATEGOTY } from "@/utils/helper"; |
| | | |
| | | 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() { |
| | | this.baseCase = this.info.baseCase; |
| | | this.handlePassVo = this.info.handlePassVo; |
| | | this.currentSitVo = this.info.currentSitVo; |
| | | this.filesPictureVo = this.info.filesPictureVo; |
| | | }, |
| | | methods: { |
| | | changeComponent(index) { |
| | | this.activeIndex = index; |
| | | components: { |
| | | MyProcess, |
| | | MyFilePicture, |
| | | MySovleProblem, |
| | | MyScene, |
| | | }, |
| | | getCategoryLabel(category) { |
| | | return CATEGOTY.find((item) => item.value === category).label; |
| | | data() { |
| | | return { |
| | | myInfo: {}, |
| | | activeIndex: 1, |
| | | titleList: [ |
| | | { |
| | | title: "办理经过", |
| | | index: 1, |
| | | }, |
| | | { |
| | | title: "案卷图片", |
| | | index: 2, |
| | | }, |
| | | { |
| | | title: "问题处理", |
| | | index: 3, |
| | | }, |
| | | { |
| | | title: "现场情况", |
| | | index: 4, |
| | | }, |
| | | ], |
| | | baseCase: {}, |
| | | handlePassVo: {}, |
| | | currentSitVo: {}, |
| | | filesPictureVo: {}, |
| | | }; |
| | | }, |
| | | }, |
| | | props: ["info", "mycode"], |
| | | created() { |
| | | this.baseCase = this.info.baseCase; |
| | | this.handlePassVo = this.info.handlePassVo; |
| | | this.currentSitVo = this.info.currentSitVo; |
| | | this.filesPictureVo = this.info.filesPictureVo; |
| | | }, |
| | | methods: { |
| | | changeComponent(index) { |
| | | this.activeIndex = index; |
| | | }, |
| | | getCategoryLabel(category) { |
| | | return CATEGOTY.find((item) => item.value === category).label; |
| | | }, |
| | | }, |
| | | props: ["info", "mycode"], |
| | | }; |
| | | </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; |
| | | width: 480px; |
| | | .data-item { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | line-height: 40px; |
| | | } |
| | | |
| | | border: 1px solid #17324c; |
| | | .data-title { |
| | | line-height: 1.8; |
| | | width: 70px; |
| | | text-align: right; |
| | | display: inline-grid; |
| | | } |
| | | .data-detail { |
| | | line-height: 1.8; |
| | | max-width: 240px; |
| | | display: inline-grid; |
| | | color: #333; |
| | | |
| | | width: calc(100% - 70px) !important; |
| | | overflow: hidden !important; |
| | | text-overflow: ellipsis !important; |
| | | white-space: normal !important; |
| | | } |
| | | } |
| | | |
| | | .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%; |
| | | .view-data { |
| | | color: #4b9bb7; |
| | | // flex: 4; |
| | | padding: 0 30px 0 20px; |
| | | // width: 480px; |
| | | .data-item { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | line-height: 40px; |
| | | } |
| | | |
| | | .title-active { |
| | | color: #4b9bb7; |
| | | // border: 2px solid #ccc; |
| | | border-radius: 5px; |
| | | .data-title { |
| | | line-height: 1.8; |
| | | width: 70px; |
| | | text-align: right; |
| | | display: inline-grid; |
| | | } |
| | | .data-detail { |
| | | line-height: 1.8; |
| | | max-width: 240px; |
| | | display: inline-grid; |
| | | color: #333; |
| | | |
| | | .line-active { |
| | | background-color: #4b9bb7; |
| | | border-radius: 20px; |
| | | width: calc(100% - 70px) !important; |
| | | overflow: hidden !important; |
| | | text-overflow: ellipsis !important; |
| | | white-space: normal !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .show-item { |
| | | overflow: hidden; |
| | | height: 600px; |
| | | position: relative; |
| | | .show-wrap { |
| | | overflow: auto; |
| | | height: 600px; |
| | | } |
| | | .view-process { |
| | | flex: 6; |
| | | margin: 20px 0px 0px 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: auto; |
| | | height: 600px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |