事件上报
@@ -90,7 +90,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
typeList() {
|
typeList() {
|
||||||
this.$http.post(`/app/appclapeventgroupweiyang/list`, null, {
|
this.$http.post(`/app/appclapeventgroupqujing/list`, null, {
|
||||||
params: {
|
params: {
|
||||||
size: 9999,
|
size: 9999,
|
||||||
},
|
},
|
||||||
@@ -135,7 +135,7 @@ export default {
|
|||||||
return this.$u.toast('请输入手机号')
|
return this.$u.toast('请输入手机号')
|
||||||
}
|
}
|
||||||
this.flag = true
|
this.flag = true
|
||||||
this.$http.post(`/app/appclapeventinfoweiyang/addOrUpdate`, {...this.forms, ...this.forms.mapInfo}).then((res) => {
|
this.$http.post(`/app/appclapeventinfoqujing/addOrUpdate`, {...this.forms, ...this.forms.mapInfo}).then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$u.toast('事件添加成功')
|
this.$u.toast('事件添加成功')
|
||||||
uni.$emit('getListInit')
|
uni.$emit('getListInit')
|
||||||
@@ -113,7 +113,7 @@ export default {
|
|||||||
submit() { //status 1转交 4拒绝受理 3我已办结
|
submit() { //status 1转交 4拒绝受理 3我已办结
|
||||||
var url = '', successText = '', params = ''
|
var url = '', successText = '', params = ''
|
||||||
if (this.status == 1) {
|
if (this.status == 1) {
|
||||||
url = `/app/appclapeventinfoweiyang/transfer`
|
url = `/app/appclapeventinfoqujing/transfer`
|
||||||
successText = '转交成功'
|
successText = '转交成功'
|
||||||
params = {
|
params = {
|
||||||
...this.forms,
|
...this.forms,
|
||||||
@@ -127,12 +127,12 @@ export default {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
if (this.status == 4) {
|
if (this.status == 4) {
|
||||||
url = `/app/appclapeventinfoweiyang/finish`
|
url = `/app/appclapeventinfoqujing/finish`
|
||||||
successText = '拒绝成功'
|
successText = '拒绝成功'
|
||||||
params = {...this.forms, eventStatus: this.status}
|
params = {...this.forms, eventStatus: this.status}
|
||||||
}
|
}
|
||||||
if (this.status == 3) {
|
if (this.status == 3) {
|
||||||
url = `/app/appclapeventinfoweiyang/finish`
|
url = `/app/appclapeventinfoqujing/finish`
|
||||||
successText = '办结成功'
|
successText = '办结成功'
|
||||||
params = {...this.forms, eventStatus: this.status}
|
params = {...this.forms, eventStatus: this.status}
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<div class="header-middle">
|
<div class="header-middle">
|
||||||
<div class="titles">{{ data.content }}</div>
|
<div class="titles">{{ data.content }}</div>
|
||||||
|
|
||||||
<span class="status" :class="`status`+data.eventStatus" v-if="data.eventStatus"> {{ $dict.getLabel('weiyangEventStatus', data.eventStatus) }}</span>
|
<span class="status" :class="`status`+data.eventStatus" v-if="data.eventStatus"> {{ $dict.getLabel('qujingEventStatus', data.eventStatus) }}</span>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<span class="card-left">事件类型</span>
|
<span class="card-left">事件类型</span>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<span class="card-left">事件来源</span>
|
<span class="card-left">事件来源</span>
|
||||||
<span class="card-right">{{ $dict.getLabel('weiyangEventType', data.type) }}</span>
|
<span class="card-right">{{ $dict.getLabel('qujingEventType', data.type) }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
|
|
||||||
<div class="header-middle" v-if="data.judgeName">
|
<div class="header-middle" v-if="data.judgeName">
|
||||||
<div class="text-title">事件研判</div>
|
<div class="text-title">事件研判</div>
|
||||||
<span class="risk-level" :class="`level`+data.judgeRiskLevel">{{ $dict.getLabel('weiyangRiskLevel', data.judgeRiskLevel) }}</span>
|
<span class="risk-level" :class="`level`+data.judgeRiskLevel">{{ $dict.getLabel('qujingRiskLevel', data.judgeRiskLevel) }}</span>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<span class="card-left">当事人姓名</span>
|
<span class="card-left">当事人姓名</span>
|
||||||
<span class="card-right">{{ data.judgeName }}</span>
|
<span class="card-right">{{ data.judgeName }}</span>
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
<span class="card-left">排查内容</span>
|
<span class="card-left">排查内容</span>
|
||||||
<span class="card-right">
|
<span class="card-right">
|
||||||
<span v-for="(item, index) in data.judgeRiskList" :key="index">
|
<span v-for="(item, index) in data.judgeRiskList" :key="index">
|
||||||
<span v-if="index > 0">,</span>{{ $dict.getLabel('weiyangRisk', item) }}
|
<span v-if="index > 0">,</span>{{ $dict.getLabel('qujingRisk', item) }}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
<div class="nav">
|
<div class="nav">
|
||||||
<div>办理进度</div>
|
<div>办理进度</div>
|
||||||
<!-- <span> ({{ detailStatus.label }})</span> -->
|
<!-- <span> ({{ detailStatus.label }})</span> -->
|
||||||
<span :class="`status`+data.eventStatus" v-if="data.eventStatus"> ({{ $dict.getLabel('weiyangEventStatus', data.eventStatus) }})</span>
|
<span :class="`status`+data.eventStatus" v-if="data.eventStatus"> ({{ $dict.getLabel('qujingEventStatus', data.eventStatus) }})</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cards" v-for="(item, index) in process" :key="index">
|
<div class="cards" v-for="(item, index) in process" :key="index">
|
||||||
@@ -197,7 +197,7 @@ export default {
|
|||||||
const status = !v.evaluation.id ? v.data.eventStatus : 'evaluation'
|
const status = !v.evaluation.id ? v.data.eventStatus : 'evaluation'
|
||||||
return {
|
return {
|
||||||
cls: 'status' + status,
|
cls: 'status' + status,
|
||||||
label: !v.evaluation.id ? v.$dict.getLabel('weiyangEventStatus', v.data.eventStatus) : "已评价"
|
label: !v.evaluation.id ? v.$dict.getLabel('qujingEventStatus', v.data.eventStatus) : "已评价"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
process() {
|
process() {
|
||||||
@@ -205,7 +205,7 @@ export default {
|
|||||||
const list = this.data.processList.map(e => ({
|
const list = this.data.processList.map(e => ({
|
||||||
...e,
|
...e,
|
||||||
avatar: getAvatar(e.girdMemberName),
|
avatar: getAvatar(e.girdMemberName),
|
||||||
statusLabel: this.$dict.getLabel('weiyangDoStatus', e.doStatus)
|
statusLabel: this.$dict.getLabel('qujingDoStatus', e.doStatus)
|
||||||
}))
|
}))
|
||||||
if (this.evaluation.id) {
|
if (this.evaluation.id) {
|
||||||
const {id, createUserName, score, files, createTime: doTime, content: doExplain} = this.evaluation
|
const {id, createUserName, score, files, createTime: doTime, content: doExplain} = this.evaluation
|
||||||
@@ -224,7 +224,7 @@ export default {
|
|||||||
onLoad(o) {
|
onLoad(o) {
|
||||||
// this.isShowBtn = o.isShowBtn == 1 ? true : false
|
// this.isShowBtn = o.isShowBtn == 1 ? true : false
|
||||||
this.id = o.id
|
this.id = o.id
|
||||||
this.$dict.load('weiyangEventStatus', 'weiyangDoStatus', 'weiyangEventType', 'sex', 'weiyangRisk', 'weiyangRiskLevel').then(() => {
|
this.$dict.load('qujingEventStatus', 'qujingDoStatus', 'qujingEventType', 'sex', 'qujingRisk', 'qujingRiskLevel').then(() => {
|
||||||
this.getDetail()
|
this.getDetail()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -237,7 +237,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getDetail() {
|
getDetail() {
|
||||||
this.$http.post(`/app/appclapeventinfoweiyang/queryDetailById?id=${this.id}`).then((res) => {
|
this.$http.post(`/app/appclapeventinfoqujing/queryDetailById?id=${this.id}`).then((res) => {
|
||||||
if (res?.data) {
|
if (res?.data) {
|
||||||
this.data = res.data
|
this.data = res.data
|
||||||
if(this.data.judgeRisk) {
|
if(this.data.judgeRisk) {
|
||||||
@@ -65,8 +65,8 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
this.id = option.id
|
this.id = option.id
|
||||||
this.$dict.load('sex', 'weiyangRisk').then(() => {
|
this.$dict.load('sex', 'qujingRisk').then(() => {
|
||||||
this.riskList = this.$dict.getDict('weiyangRisk')
|
this.riskList = this.$dict.getDict('qujingRisk')
|
||||||
this.riskList.map((item) => {
|
this.riskList.map((item) => {
|
||||||
item.isCheck = false
|
item.isCheck = false
|
||||||
})
|
})
|
||||||
@@ -114,7 +114,7 @@ export default {
|
|||||||
var params = {...this.forms}
|
var params = {...this.forms}
|
||||||
params.id = this.id
|
params.id = this.id
|
||||||
params.judgeRisk = this.forms.judgeRiskList.join(',')
|
params.judgeRisk = this.forms.judgeRiskList.join(',')
|
||||||
this.$http.post(`/app/appclapeventinfoweiyang/judge`, {...params}).then((res) => {
|
this.$http.post(`/app/appclapeventinfoqujing/judge`, {...params}).then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$u.toast('提交成功!')
|
this.$u.toast('提交成功!')
|
||||||
uni.$emit('updateDeatil')
|
uni.$emit('updateDeatil')
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<template #custom>
|
<template #custom>
|
||||||
<div class="card-top">
|
<div class="card-top">
|
||||||
<div class="titles">{{ item.content }}</div>
|
<div class="titles">{{ item.content }}</div>
|
||||||
<span class="item-type">{{ $dict.getLabel('weiyangEventType', item.type) }}</span>
|
<span class="item-type">{{ $dict.getLabel('qujingEventType', item.type) }}</span>
|
||||||
|
|
||||||
<div class="types">
|
<div class="types">
|
||||||
<span>事件类型</span>
|
<span>事件类型</span>
|
||||||
@@ -40,11 +40,11 @@
|
|||||||
<div class="status" :class="`status`+item.eventStatus">
|
<div class="status" :class="`status`+item.eventStatus">
|
||||||
<span class="icon"></span>
|
<span class="icon"></span>
|
||||||
<span>
|
<span>
|
||||||
{{ $dict.getLabel('weiyangEventStatus', item.eventStatus) }}
|
{{ $dict.getLabel('qujingEventStatus', item.eventStatus) }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="risk-level">
|
<div class="risk-level">
|
||||||
<span class="`level`+item.judgeRiskLevel">{{ $dict.getLabel('weiyangRiskLevel', item.judgeRiskLevel) }}</span>
|
<span class="`level`+item.judgeRiskLevel">{{ $dict.getLabel('qujingRiskLevel', item.judgeRiskLevel) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -96,8 +96,8 @@ export default {
|
|||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.$dict.load('weiyangEventStatus', 'weiyangEventType', 'weiyangRiskLevel').then(() => {
|
this.$dict.load('qujingEventStatus', 'qujingEventType', 'qujingRiskLevel').then(() => {
|
||||||
this.eventStatusList = this.$dict.getDict('weiyangEventStatus')
|
this.eventStatusList = this.$dict.getDict('qujingEventStatus')
|
||||||
this.eventStatusList.unshift({dictName: '全部', dictValue: ''})
|
this.eventStatusList.unshift({dictName: '全部', dictValue: ''})
|
||||||
this.getList()
|
this.getList()
|
||||||
// this.getIsAdd()
|
// this.getIsAdd()
|
||||||
@@ -114,7 +114,7 @@ export default {
|
|||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
let {current, eventStatus} = this
|
let {current, eventStatus} = this
|
||||||
this.$http.post(`/app/appclapeventinfoweiyang/list`, null, {
|
this.$http.post(`/app/appclapeventinfoqujing/list`, null, {
|
||||||
params: {
|
params: {
|
||||||
size: 10,
|
size: 10,
|
||||||
current,
|
current,
|
||||||
@@ -108,7 +108,7 @@ export default {
|
|||||||
submit() {
|
submit() {
|
||||||
var params = {...this.forms}
|
var params = {...this.forms}
|
||||||
params.id = this.id
|
params.id = this.id
|
||||||
this.$http.post(`/app/appclapeventinfoweiyang/finish`, {...this.forms, id: this.id, eventStatus: '3'}).then((res) => {
|
this.$http.post(`/app/appclapeventinfoqujing/finish`, {...this.forms, id: this.id, eventStatus: '3'}).then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$u.toast('办结成功!')
|
this.$u.toast('办结成功!')
|
||||||
uni.$emit('updateDeatil')
|
uni.$emit('updateDeatil')
|
||||||
@@ -4,18 +4,17 @@
|
|||||||
<div class="select-gird">
|
<div class="select-gird">
|
||||||
<AiPagePicker type="gird" valueObj nodeKey="id" formType="2" @select="handleSelectGird" class="right-span"
|
<AiPagePicker type="gird" valueObj nodeKey="id" formType="2" @select="handleSelectGird" class="right-span"
|
||||||
action="/app/apppatrolreportinfo/listByInfo">
|
action="/app/apppatrolreportinfo/listByInfo">
|
||||||
<AiMore v-model="selectGird.girdName" icon="arrow-right" placeholder="选择网格"/>
|
<img src="./components/img/gird-icon.png" alt="" class="gird-png">
|
||||||
|
<span>{{selectGird.girdName || '所属网格'}}</span>
|
||||||
|
<u-icon name="arrow-down" color="#8A8A8A" size="24"></u-icon>
|
||||||
</AiPagePicker>
|
</AiPagePicker>
|
||||||
</div>
|
</div>
|
||||||
</AiTopFixed>
|
</AiTopFixed>
|
||||||
<div class="statstics-content">
|
<div class="statstics-content">
|
||||||
<div class="info-content">
|
<div class="el-row">
|
||||||
<div class="title">概况总览</div>
|
<div class="item" v-for="(item, index) in todayList" :key="index" @click="toList(item)" :class="`item`+index" v-if="item.label != '累计办结'">
|
||||||
<div class="el-row">
|
<div><span class="circle"><span class="cir"></span></span>{{ item.label }}</div>
|
||||||
<div class="item" v-for="(item, index) in todayList" :key="index" @click="toList(item)">
|
<h2>{{ item.value }}</h2>
|
||||||
<h2>{{ item.value }}</h2>
|
|
||||||
<p>{{ item.label }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info-content">
|
<div class="info-content">
|
||||||
@@ -33,8 +32,8 @@
|
|||||||
|
|
||||||
<div class="info-content">
|
<div class="info-content">
|
||||||
<div class="title">巡查事件分类
|
<div class="title">巡查事件分类
|
||||||
<!-- <div class="type-select" :style="statusInfo.name ? '' : 'color:#999;'" @click="show=true">{{statusInfo.name || '请选择'}}<u-icon name="arrow-right"></u-icon></div> -->
|
<div class="type-select" :style="statusInfo.name ? '' : 'color:#999;'" @click="show=true">{{statusInfo.name || '请选择'}}<u-icon name="arrow-right"></u-icon></div>
|
||||||
<u-select v-model="show" :list="$dict.getDict('clapEventStatusHistory')" value-name="dictValue"
|
<u-select v-model="show" :list="$dict.getDict('qujingEventStatus')" value-name="dictValue"
|
||||||
label-name="dictName" @confirm="selectStatus"></u-select>
|
label-name="dictName" @confirm="selectStatus"></u-select>
|
||||||
</div>
|
</div>
|
||||||
<AiEmpty v-if="!typeData.length"></AiEmpty>
|
<AiEmpty v-if="!typeData.length"></AiEmpty>
|
||||||
@@ -54,7 +53,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
todayList: [],
|
todayList: [],
|
||||||
selectGird: {id: '', girdName: ''},
|
selectGird: {id: '', girdName: '', girdCode: ''},
|
||||||
finishChart: null,
|
finishChart: null,
|
||||||
trendChart: null,
|
trendChart: null,
|
||||||
typeChart: null,
|
typeChart: null,
|
||||||
@@ -78,7 +77,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
getStatistics() {
|
getStatistics() {
|
||||||
this.todayList = [], this.finishData = [], this.trendDataX = [], this.trendData = [], this.typeData = [], this.showFinish = false
|
this.todayList = [], this.finishData = [], this.trendDataX = [], this.trendData = [], this.typeData = [], this.showFinish = false
|
||||||
this.$http.post(`/app/apppatrolreportinfov2/countByGirdId?girdId=${this.selectGird.id}&eventStatus=${this.statusInfo.eventStatus}`).then((res) => {
|
this.$http.post(`/app/appclapeventinfoqujing/countByGirdCode?girdCode=${this.selectGird.girdCode}&eventStatus=${this.statusInfo.eventStatus}`).then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
|
|
||||||
Object.keys(res.data.allCountMap).forEach((key) => {
|
Object.keys(res.data.allCountMap).forEach((key) => {
|
||||||
@@ -89,19 +88,21 @@ export default {
|
|||||||
this.todayList.push(info)
|
this.todayList.push(info)
|
||||||
})
|
})
|
||||||
|
|
||||||
Object.keys(res.data.finishCountMap).forEach((key) => {
|
Object.keys(res.data.allCountMap).forEach((key) => {
|
||||||
var info = {
|
if(key == '累计办结' || key == '累计上报') {
|
||||||
name: key,
|
var info = {
|
||||||
value: res.data.finishCountMap[key]
|
name: key,
|
||||||
|
value: res.data.allCountMap[key]
|
||||||
|
}
|
||||||
|
if (res.data.allCountMap['累计上报'] > 0) {
|
||||||
|
this.showFinish = true
|
||||||
|
}
|
||||||
|
this.finishData.push(info)
|
||||||
}
|
}
|
||||||
if (res.data.finishCountMap[key] > 0) {
|
|
||||||
this.showFinish = true
|
|
||||||
}
|
|
||||||
this.finishData.push(info)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
if (this.showFinish) {
|
if (this.showFinish) {
|
||||||
var num = res.data.finishCountMap['累计事件办结'] / res.data.finishCountMap['累计事件上报']
|
var num = res.data.allCountMap['累计办结'] / res.data.allCountMap['累计上报']
|
||||||
this.finshNum = Number(num * 100).toFixed(2)
|
this.finshNum = Number(num * 100).toFixed(2)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,7 +140,8 @@ export default {
|
|||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.selectGird.girdName = res.data.girdName
|
this.selectGird.girdName = res.data.girdName
|
||||||
this.selectGird.id = res.data.id
|
this.selectGird.id = res.data.id
|
||||||
this.$dict.load('clapEventStatusHistory').then(() => {
|
this.selectGird.girdCode = res.data.girdCode
|
||||||
|
this.$dict.load('qujingEventStatus').then(() => {
|
||||||
this.getStatistics()
|
this.getStatistics()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -156,7 +158,7 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '事件办结率',
|
name: '事件办结率',
|
||||||
type: 'pie',
|
type: 'pie',
|
||||||
radius: ['30%', '60%'],
|
radius: ['50%', '70%'],
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: function (colors) {
|
color: function (colors) {
|
||||||
@@ -269,7 +271,7 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '巡查事件分类',
|
name: '巡查事件分类',
|
||||||
type: 'pie',
|
type: 'pie',
|
||||||
radius: ['0%', '70%'],
|
radius: ['40%', '70%'],
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: function (colors) {
|
color: function (colors) {
|
||||||
@@ -298,17 +300,18 @@ export default {
|
|||||||
this.getStatistics()
|
this.getStatistics()
|
||||||
},
|
},
|
||||||
handleSelectGird(v) {
|
handleSelectGird(v) {
|
||||||
|
console.log(v)
|
||||||
this.selectGird = v || {}
|
this.selectGird = v || {}
|
||||||
this.getStatistics()
|
this.getStatistics()
|
||||||
},
|
},
|
||||||
toList(row) {
|
toList(row) { //0、查询网格员待办事件;1、查询网格员历史事件;2、累计上报事件;3、今日上报事件;4、今日办结事件;5、办理中事件
|
||||||
var searchType = '', typeList = ['', '', '累计上报', '今日上报', '今日办结', '办理中']
|
var searchType = '', typeList = ['', '', '累计上报', '今日上报', '今日办结', '办理中']
|
||||||
typeList.map((item, index) => {
|
typeList.map((item, index) => {
|
||||||
if (item == row.label) {
|
if (item == row.label) {
|
||||||
return searchType = index
|
return searchType = index
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
uni.navigateTo({url: `./StatisticsList?title=${row.label}&searchType=${searchType}&girdId=${this.selectGird.id}`})
|
uni.navigateTo({url: `./StatisticsList?title=${row.label}&searchType=${searchType}&girdCode=${this.selectGird.girdCode}`})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -323,20 +326,121 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .AiTopFixed {
|
::v-deep .AiTopFixed {
|
||||||
|
background-color: #f5f5f5!important;
|
||||||
|
.fixed {
|
||||||
|
background-color: #f5f5f5!important;
|
||||||
|
}
|
||||||
.content {
|
.content {
|
||||||
background-color: #3975C6;
|
padding: 24px;
|
||||||
color: #fff;
|
box-sizing: border-box;
|
||||||
|
width: 686px;
|
||||||
|
height: 96px;
|
||||||
|
background: #FFF;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 32px 32px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-img {
|
.gird-png {
|
||||||
width: 48px;
|
width: 30px;
|
||||||
height: 48px;
|
height: 30px;
|
||||||
|
margin-right: 16px;
|
||||||
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
width: calc(100% - 84px);
|
||||||
|
font-family: PingFangSC-Medium;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 32px;
|
||||||
|
color: #333;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 48px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .AiMore {
|
::v-deep .AiMore {
|
||||||
span {
|
span {
|
||||||
color: #fff;
|
font-family: PingFangSC-Medium;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 32px;
|
||||||
|
color: #333;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 48px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-row {
|
||||||
|
margin-bottom: 16px;
|
||||||
|
.item {
|
||||||
|
display: inline-block;
|
||||||
|
width: calc(50% - 7px);
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 24px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
div {
|
||||||
|
line-height: 40px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28px;
|
||||||
|
color: #666;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
.circle {
|
||||||
|
display: inline-block;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 8px;
|
||||||
|
padding: 8px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-radius: 50%;
|
||||||
|
position: relative;
|
||||||
|
.cir {
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 4px;
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
padding-left: 32px;
|
||||||
|
font-family: PingFangSC-SNaNpxibold;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 48px;
|
||||||
|
color: #333;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 64px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item:nth-of-type(2n) {
|
||||||
|
margin-left: 7px;
|
||||||
|
}
|
||||||
|
.item:nth-of-type(2n-1) {
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
.item0 {
|
||||||
|
.circle {
|
||||||
|
background-color: #7A8EC5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item1 {
|
||||||
|
.circle {
|
||||||
|
background-color: #F6BD15;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item2 {
|
||||||
|
.circle {
|
||||||
|
background-color: #5C8FFA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item3 {
|
||||||
|
.circle {
|
||||||
|
background-color: #60DCAA;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -373,31 +477,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-row {
|
|
||||||
display: flex;
|
|
||||||
padding: 32px 0 60px 0;
|
|
||||||
|
|
||||||
.item {
|
|
||||||
flex: 1;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 64px;
|
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #3B424A;
|
|
||||||
line-height: 64px;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-size: 28px;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
color: #999;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.echart-content {
|
.echart-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -5,14 +5,11 @@
|
|||||||
<template #custom>
|
<template #custom>
|
||||||
<div class="card-top">
|
<div class="card-top">
|
||||||
<div class="titles">{{ item.content }}</div>
|
<div class="titles">{{ item.content }}</div>
|
||||||
|
<span class="item-type">{{ $dict.getLabel('qujingEventType', item.type) }}</span>
|
||||||
|
|
||||||
<div class="types">
|
<div class="types">
|
||||||
<span>事件类型</span>
|
<span>事件类型</span>
|
||||||
<span class="types-right">{{ item.groupName }}</span>
|
<span class="gards-right">{{ item.groupName }}</span>
|
||||||
</div>
|
|
||||||
<div class="types">
|
|
||||||
<span>事件来源</span>
|
|
||||||
<span class="types-right">{{ $dict.getLabel('residentEventSource', item.eventSource) }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="gards">
|
<div class="gards">
|
||||||
@@ -21,12 +18,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="status" :class="item.eventStatus == 0 ? 'status0' : item.eventStatus == 1 ? 'status1' : item.eventStatus == 2 ? 'status2' : 'status3'"
|
<div class="bottom-flex">
|
||||||
v-if="item.eventStatus">
|
<div class="status" :class="`status`+item.eventStatus">
|
||||||
<span class="icon"></span>
|
<span class="icon"></span>
|
||||||
<span>
|
<span>
|
||||||
{{ $dict.getLabel('clapEventStatus', item.eventStatus) }}
|
{{ $dict.getLabel('qujingEventStatus', item.eventStatus) }}
|
||||||
</span>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="risk-level">
|
||||||
|
<span class="`level`+item.judgeRiskLevel">{{ $dict.getLabel('qujingRiskLevel', item.judgeRiskLevel) }}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</AiCard>
|
</AiCard>
|
||||||
@@ -44,33 +45,49 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
datas: [],
|
datas: [],
|
||||||
|
tabList: [
|
||||||
|
{
|
||||||
|
name: '全部待办',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '办件历史',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
currentTabs: 0,
|
||||||
current: 1,
|
current: 1,
|
||||||
pages: 0,
|
pages: 0,
|
||||||
searchType: '',
|
searchGrid: {girdName: '', girdCode: ''},
|
||||||
|
showType: false,
|
||||||
|
eventStatus: '',
|
||||||
|
eventStatusText: '',
|
||||||
|
isAdd: true,
|
||||||
|
eventStatusList: [],
|
||||||
title: '',
|
title: '',
|
||||||
girdId: ''
|
girdCode: '',
|
||||||
|
searchType: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['user']),
|
...mapState(['user']),
|
||||||
listType() {
|
|
||||||
return this.$dict.getDict('clapEventStatusAll')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(option) {
|
||||||
console.log(options)
|
this.title = option.title
|
||||||
this.searchType = options.searchType
|
this.searchType = option.searchType
|
||||||
this.title = options.title
|
this.girdCode = option.girdCode
|
||||||
this.girdId = options.girdId
|
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
document.title = this.title
|
document.title = this.title
|
||||||
|
// this.searchGrid.girdId = this.user.girdId
|
||||||
|
// this.searchGrid.girdName = this.user.girdName
|
||||||
this.current = 1
|
this.current = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.$dict.load('clapEventStatus', 'clapEventStatusAll', 'clapEventStatusHistory', 'residentEventSource').then(() => {
|
this.$dict.load('qujingEventStatus', 'qujingEventType', 'qujingRiskLevel').then(() => {
|
||||||
|
this.eventStatusList = this.$dict.getDict('qujingEventStatus')
|
||||||
|
this.eventStatusList.unshift({dictName: '全部', dictValue: ''})
|
||||||
this.getList()
|
this.getList()
|
||||||
|
// this.getIsAdd()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -83,13 +100,14 @@ export default {
|
|||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
let {current, girdId, searchType} = this
|
let {current} = this
|
||||||
this.$http.post(`/app/apppatrolreportinfov2/listByStatus`, null, {
|
this.$http.post(`/app/appclapeventinfoqujing/listByStatus`, null, {
|
||||||
params: {
|
params: {
|
||||||
size: 10,
|
size: 10,
|
||||||
current,
|
current,
|
||||||
girdId,
|
// eventStatus: this.searchType,
|
||||||
searchType
|
girdCode: this.searchGrid.girdCode,
|
||||||
|
searchType: this.searchType,
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
@@ -99,13 +117,55 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
confirm(e) {
|
||||||
|
if (this.showType) {
|
||||||
|
this.eventStatus = e[0].value
|
||||||
|
this.eventStatusText = e[0].label
|
||||||
|
}
|
||||||
|
this.current = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSelectGird(v) {
|
||||||
|
console.log(v)
|
||||||
|
this.searchGrid = v
|
||||||
|
this.current = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
clearGrid() {
|
||||||
|
this.searchGrid = {girdName: ''}
|
||||||
|
this.current = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
goDetail(item) {
|
goDetail(item) {
|
||||||
uni.navigateTo({url: `./Detail?id=${item.id}&isShowBtn=0`})
|
uni.navigateTo({url: `./Detail?id=${item.id}&isShowBtn=1`})
|
||||||
|
},
|
||||||
|
|
||||||
|
change(index) {
|
||||||
|
this.current = 1
|
||||||
|
this.datas = []
|
||||||
|
this.eventStatus = ''
|
||||||
|
this.currentTabs = index
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
linkTo(url) {
|
||||||
|
uni.navigateTo({url})
|
||||||
|
},
|
||||||
|
add() {
|
||||||
|
uni.navigateTo({url: './Add'})
|
||||||
|
},
|
||||||
|
|
||||||
|
getIsAdd() {
|
||||||
|
this.$http.post(`/app/apppatrolreportinfov2/checkGirdMemberUser`).then((res) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.isAdd = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onReachBottom() {
|
|
||||||
this.nextPage()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -155,9 +215,11 @@ export default {
|
|||||||
|
|
||||||
.card-top {
|
.card-top {
|
||||||
padding: 32px;
|
padding: 32px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.titles {
|
.titles {
|
||||||
margin-bottom: 34px;
|
width: 480px;
|
||||||
|
margin-bottom: 24px;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
@@ -170,22 +232,58 @@ export default {
|
|||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
.types,
|
.item-type {
|
||||||
|
position: absolute;
|
||||||
|
top: 32px;
|
||||||
|
right: 32px;
|
||||||
|
padding: 4px 10px;
|
||||||
|
line-height: 34px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 24px;
|
||||||
|
color: #3D88F5;
|
||||||
|
background-color: #EBF3FD;
|
||||||
|
}
|
||||||
|
|
||||||
.gards {
|
.gards {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
|
}
|
||||||
|
.gards-right {
|
||||||
|
margin-left: 32px;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.types-right,
|
.bottom-flex {
|
||||||
.gards-right {
|
display: flex;
|
||||||
margin-left: 32px;
|
justify-content: space-between;
|
||||||
color: #333333;
|
border-top: 1px solid #dddddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.risk-level {
|
||||||
|
padding: 32px;
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 40px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
.level1 {
|
||||||
|
color: #3D88F5;
|
||||||
|
}
|
||||||
|
.level2 {
|
||||||
|
color: #52C75B;
|
||||||
|
}
|
||||||
|
.level3 {
|
||||||
|
color: #FF883C;
|
||||||
|
}
|
||||||
|
.level4 {
|
||||||
|
color: #FF3C3C;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.status {
|
.status {
|
||||||
padding: 32px;
|
padding: 32px;
|
||||||
border-top: 1px solid #dddddd;
|
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -198,31 +296,27 @@ export default {
|
|||||||
|
|
||||||
.status0 {
|
.status0 {
|
||||||
color: #ff883c;
|
color: #ff883c;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
background: #ff883c;
|
background: #ff883c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.status1 {
|
.status1, .status2 {
|
||||||
color: #1aaaff;
|
color: #1aaaff;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
background: #1aaaff;
|
background: #1aaaff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.status2 {
|
.status3 {
|
||||||
color: #42d784;
|
color: #42d784;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
background: #42d784;
|
background: #42d784;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.status3 {
|
.status4 {
|
||||||
color: #ff4466;
|
color: #ff4466;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
background: #ff4466;
|
background: #ff4466;
|
||||||
}
|
}
|
||||||
@@ -243,4 +337,4 @@ export default {
|
|||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Before Width: | Height: | Size: 623 B After Width: | Height: | Size: 623 B |
|
Before Width: | Height: | Size: 810 B After Width: | Height: | Size: 810 B |
|
Before Width: | Height: | Size: 815 B After Width: | Height: | Size: 815 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 803 B After Width: | Height: | Size: 803 B |
|
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 373 B |
|
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 854 B After Width: | Height: | Size: 854 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |