Browse Source

研判分析

shibei_master
jiangyy 4 years ago
parent
commit
af129d5b82
  1. 7
      src/views/modules/visual/communityGovern/cpt/project-info.vue
  2. 167
      src/views/modules/visual/cpts/analyse.vue

7
src/views/modules/visual/communityGovern/cpt/project-info.vue

@ -586,8 +586,8 @@ export default {
data.categoryList = array.map((item) => {
return {
categoryCode: item.firstCategoryCode,
categoryName: item.firstCategoryName,
categoryCode: item.categoryCode,
categoryName: item.categoryName,
showItem: true,
projectList: item.projectList.map((subItem) => {
return {
@ -596,12 +596,13 @@ export default {
statusName:
subItem.projectStatus == "pending" ? "待处理" : "结案",
projectId: subItem.projectId,
projectId: subItem.projectId,
};
}),
};
});
this.yanPan = { ...this.yanPan, ...data };
this.yanPan.loading = false;
} else {
this.$message.error(msg);

167
src/views/modules/visual/cpts/analyse.vue

@ -5,7 +5,10 @@
<div class="analys-col">
<div class="analys-family">
<div class="family-title">(家属)</div>
<div v-for="(item, index) in userList" :key="index" class="family-item" @click="handleUser(item)">{{item.icUserName}}</div>
<div v-for="(item, index) in userList"
:key="index"
class="family-item"
@click="handleUser(item)">{{item.icUserName}}</div>
<!-- <div class="family-item">王亚男哈</div>
<div class="family-item">王亚男</div>
<div class="family-item">王亚男哈</div>
@ -14,7 +17,8 @@
</div>
<div class="analys-col">
<img class="analys-arrow" src="../../../../assets/img/shuju/measure/zuo@2x.png" />
<img class="analys-arrow"
src="../../../../assets/img/shuju/measure/zuo@2x.png" />
</div>
<div class="analys-col">
@ -24,18 +28,20 @@
</div>
</div>
<template v-if="hasEvent">
<div class="analys-col analys-col-posi">
<img class="analys-up" src="../../../../assets/img/shuju/measure/up-right.png" />
<img class="analys-up analys-down" src="../../../../assets/img/shuju/measure/down-right.png" />
<img class="analys-up"
src="../../../../assets/img/shuju/measure/up-right.png" />
<img class="analys-up analys-down"
src="../../../../assets/img/shuju/measure/down-right.png" />
</div>
<div class="analys-col">
<div class="cate-list cate-list-more">
<div class="cate-row">
<div class="analys-col">
<div class="analys-cate" @click="handleTabs('group')">
<div class="analys-cate"
@click="handleTabs('group')">
<div class="label">{{ singleTitle }}</div>
<div class="tips">(反应渠道)</div>
<div class="icon">
@ -44,8 +50,10 @@
</div>
</div>
<div v-if="sourceTab === 'group'" class="analys-col">
<img class="analys-arrow" src="../../../../assets/img/shuju/measure/you@2x.png" />
<div v-if="sourceTab === 'group'"
class="analys-col">
<img class="analys-arrow"
src="../../../../assets/img/shuju/measure/you@2x.png" />
</div>
</div>
@ -53,7 +61,8 @@
<div class="cate-row">
<div class="analys-col">
<div class="analys-cate" @click="handleTabs('event')">
<div class="analys-cate"
@click="handleTabs('event')">
<div class="label">{{ moreTitle }}</div>
<div class="tips">(反应渠道)</div>
<div class="icon">
@ -62,45 +71,57 @@
</div>
</div>
<div v-if="sourceTab === 'event'" class="analys-col">
<img class="analys-arrow" src="../../../../assets/img/shuju/measure/you@2x.png" />
<div v-if="sourceTab === 'event'"
class="analys-col">
<img class="analys-arrow"
src="../../../../assets/img/shuju/measure/you@2x.png" />
</div>
</div>
</div>
</div>
<div class="analys-col analys-col-wr analys-col-more list-wr" id="scroll-wr">
<div class="analys-col analys-col-wr analys-col-more list-wr"
id="scroll-wr">
<div class="cate-list cate-list-child">
<div v-for="(item, index) in tempList" :key="index" class="cate-row">
<div v-for="(item, index) in tempList"
:key="index"
class="cate-row">
<div class="cate-col">
<div class="analys-cate">
<div class="label">{{item.categoryName}}</div>
<div class="tips">(同类案件)</div>
<div class="icon" @click="handleShow(item)">
<div class="icon"
@click="handleShow(item)">
<img src="../../../../assets/img/shuju/measure/gantanhao.png" />
</div>
</div>
</div>
<div class="cate-col cate-col-arrow">
<img v-show="item.showItem" class="analys-arrow" src="../../../../assets/img/shuju/measure/you@2x.png" />
<div class="cate-col cate-col-arrow">
<img v-show="item.showItem"
class="analys-arrow"
src="../../../../assets/img/shuju/measure/you@2x.png" />
</div>
<div class="cate-col cate-col-w100">
<div class="cate-list-w0" :class="item.showItem && 'cate-list-w100'">
<div class="cate-list-w0"
:class="item.showItem && 'cate-list-w100'">
<div class="list list-wr">
<div v-for="(n, i) in item.projectList" :key="i" class="item" @click="handleProject(n)">
<div class="item-status" :class="'item-status-'+n.status">{{filterStatus(n.status)}}</div>
<div v-for="(n, i) in item.projectList"
:key="i"
class="item"
@click="handleProject(n)">
<div class="item-status"
:class="'item-status-'+n.status">{{filterStatus(n.status)}}</div>
<div class="item-content">{{n.title}}</div>
</div>
<!-- <div class="item">
<div class="item-status">已结案</div>
<div class="item-content">合肥路与安宁路交合肥路与安宁路交</div>
</div> -->
</div>
</div>
</div>
@ -112,11 +133,10 @@
</template>
<template v-else>
<div class="analys-col">
<img class="analys-arrow" src="../../../../assets/img/shuju/measure/you@2x.png" />
<img class="analys-arrow"
src="../../../../assets/img/shuju/measure/you@2x.png" />
</div>
<div class="analys-col">
<div class="analys-cate">
<div class="label">{{ singleTitle }}</div>
@ -128,35 +148,51 @@
</div>
<div class="analys-col">
<img v-if="tempList.length > 1" class="analys-up" src="../../../../assets/img/shuju/measure/up-right.png" />
<img v-if="tempList.length != 2" class="analys-arrow" src="../../../../assets/img/shuju/measure/you@2x.png" />
<img v-if="tempList.length > 1"
class="analys-up analys-down" src="../../../../assets/img/shuju/measure/down-right.png" />
<img v-if="tempList.length > 1"
class="analys-up"
src="../../../../assets/img/shuju/measure/up-right.png" />
<img v-if="tempList.length != 2"
class="analys-arrow"
src="../../../../assets/img/shuju/measure/you@2x.png" />
<img v-if="tempList.length > 1"
class="analys-up analys-down"
src="../../../../assets/img/shuju/measure/down-right.png" />
</div>
<div class="analys-col list-wr" :class="tempList.length > 2 && 'analys-col-wr' || 'analys-single'"
:style="'padding-top:' + (tempList.length - 3) * 190 + 'px;'">
<div class="analys-col list-wr"
:class="tempList.length > 2 && 'analys-col-wr' || 'analys-single'"
:style="'padding-top:' + (tempList.length - 3) * 190 + 'px;'">
<div class="cate-list">
<div v-for="(item, index) in tempList" :key="index" class="cate-row">
<div v-for="(item, index) in tempList"
:key="index"
class="cate-row">
<div class="cate-col">
<div class="analys-cate">
<div class="label">{{item.categoryName}}</div>
<div class="tips">(同类案件)</div>
<div class="icon" @click="handleShow(item)">
<div class="icon"
@click="handleShow(item)">
<img src="../../../../assets/img/shuju/measure/gantanhao.png" />
</div>
</div>
</div>
<div class="cate-col cate-col-arrow">
<img v-show="item.showItem" class="analys-arrow" src="../../../../assets/img/shuju/measure/you@2x.png" />
<img v-show="item.showItem"
class="analys-arrow"
src="../../../../assets/img/shuju/measure/you@2x.png" />
</div>
<div class="cate-col cate-col-w100">
<div class="cate-list-w0" :class="item.showItem && 'cate-list-w100'">
<div class="cate-list-w0"
:class="item.showItem && 'cate-list-w100'">
<div class="list list-wr">
<div v-for="(n, i) in item.projectList" :key="i" class="item" @click="handleProject(n)">
<div class="item-status" :class="'item-status-'+n.status">
<div v-for="(n, i) in item.projectList"
:key="i"
class="item"
@click="handleProject(n)">
<div class="item-status"
:class="'item-status-'+n.status">
{{ n.statusName || filterStatus(n.status)}}
</div>
<div class="item-content">{{n.title}}</div>
@ -165,10 +201,10 @@
<div class="item-status">已结案</div>
<div class="item-content">合肥路与安宁路交合肥路与安宁路交</div>
</div> -->
</div>
</div>
</div>
</div>
@ -213,7 +249,7 @@ export default {
userList: Array, //
userName: String, //
singleList: Array, //
},
data () {
return {
@ -221,31 +257,32 @@ export default {
tempList: []
}
},
created() {
created () {
this.tempList = [...this.singleList]
},
methods: {
filterStatus(status) {
const statusObj = {
filterStatus (status) {
const statusObj = {
pending: '待处理',
closed: '已结案'
}
return statusObj[status]
},
handleTabs(type) {
if (type === 'group') this.tempList = [ ...this.singleList ]
else if (type === 'event') this.tempList = [ ...this.moreList ]
handleTabs (type) {
if (type === 'group') this.tempList = [...this.singleList]
else if (type === 'event') this.tempList = [...this.moreList]
this.sourceTab = type
const _dom = document.getElementById('scroll-wr')
_dom.scrollTop = 0
},
handleProject(item) {
handleProject (item) {
this.$emit('project', item)
},
handleUser(item) {
handleUser (item) {
this.$emit('user', item)
},
handleShow(item) {
handleShow (item) {
item.showItem = !item.showItem
}
}
@ -279,7 +316,7 @@ export default {
color: #fff;
text-align: center;
background: rgba(255, 255, 255, 0);
border: 1px solid #1257C9;
border: 1px solid #1257c9;
border-radius: 2px;
box-shadow: 0 0 5px 2px rgba(18, 87, 201, 1) inset;
}
@ -310,7 +347,8 @@ export default {
padding-top: 60px;
color: #fff;
text-align: center;
background: url('../../../../assets/img/shuju/measure/zhuhu@2x.png') no-repeat center;
background: url("../../../../assets/img/shuju/measure/zhuhu@2x.png")
no-repeat center;
background-size: cover;
.personal-name {
font-size: 18px;
@ -336,7 +374,7 @@ export default {
color: #fff;
cursor: pointer;
background: rgba(255, 255, 255, 0);
border: 1px solid #1257C9;
border: 1px solid #1257c9;
border-radius: 4px;
box-shadow: 1px 1px 10px 5px rgba(18, 87, 201, 1) inset;
.label {
@ -388,7 +426,7 @@ export default {
width: 230px;
.cate-list-w0 {
width: 0;
transition: width .2s;
transition: width 0.2s;
overflow: hidden;
// border: 0;
// padding: 0;
@ -399,7 +437,7 @@ export default {
// // background: rgba(255, 255, 255, 0);
// border: 1px solid #1257C9;
// overflow: auto;
transition: width .2s;
transition: width 0.2s;
}
}
}
@ -424,7 +462,7 @@ export default {
box-sizing: border-box;
padding: 4px 14px 10px;
background: rgba(255, 255, 255, 0);
border: 1px solid #1257C9;
border: 1px solid #1257c9;
overflow: auto;
border-radius: 4px;
box-shadow: 1px 1px 10px 5px rgba(18, 87, 201, 1) inset;
@ -445,15 +483,16 @@ export default {
font-size: 10px;
text-align: center;
// line-height: 15px;
background: #0C5CFE;
background: #0c5cfe;
border-radius: 2px;
&-pending, &-canceled {
&-pending,
&-canceled {
background: rgba(224, 84, 0, 1);
}
&-assigned, &-have_order {
&-assigned,
&-have_order {
background: rgba(9, 163, 125, 1);
}
}
.item-content {
font-size: 14px;
@ -463,8 +502,6 @@ export default {
}
}
}
}
.analys-col-wr {
height: 100%;
@ -502,7 +539,6 @@ export default {
// left: -30px;
}
}
}
}
.pad10 {
@ -516,20 +552,21 @@ export default {
.list-wr::-webkit-scrollbar-corner,
/* 滚动条角落 */
.list-wr::-webkit-scrollbar-thumb,
.list-wr::-webkit-scrollbar-track { /*滚动条的轨道*/
.list-wr::-webkit-scrollbar-track {
/*滚动条的轨道*/
border-radius: 4px;
}
.list-wr::-webkit-scrollbar-corner,
.list-wr::-webkit-scrollbar-track {
/* 滚动条轨道 */
background: rgba(12, 129, 254, .24);
background: rgba(12, 129, 254, 0.24);
// box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5);
}
.list-wr::-webkit-scrollbar-thumb {
/* 滚动条手柄 */
background: linear-gradient(270deg, #0063FE, #0095FF);
background: linear-gradient(270deg, #0063fe, #0095ff);
}
</style>

Loading…
Cancel
Save