Merge remote-tracking branch 'origin/build' into build
This commit is contained in:
@@ -100,8 +100,8 @@
|
||||
<ai-echart-v2
|
||||
style="height: 220px; width: 100%; margin-top: 10px;"
|
||||
:ref="'chart2'"
|
||||
:data="lineData1"
|
||||
:ops="barChart8">
|
||||
:data="lineData9"
|
||||
:ops="barChart9">
|
||||
</ai-echart-v2>
|
||||
</div>
|
||||
</div>
|
||||
@@ -330,46 +330,6 @@
|
||||
data () {
|
||||
return {
|
||||
isShowInfo: false,
|
||||
lineData: [
|
||||
{
|
||||
"name": "阿斯达",
|
||||
"v1": 23,
|
||||
"v2": 33
|
||||
},
|
||||
{
|
||||
"name": "水电费",
|
||||
"v1": 12,
|
||||
"v2": 34
|
||||
},
|
||||
{
|
||||
"name": "凡哥",
|
||||
"v1": 67,
|
||||
"v2": 25
|
||||
},
|
||||
{
|
||||
"name": "党费",
|
||||
"v1": 98,
|
||||
"v2": 85
|
||||
}
|
||||
],
|
||||
lineData1: [
|
||||
{
|
||||
"name": "1月",
|
||||
"v1": 23
|
||||
},
|
||||
{
|
||||
"name": "2月",
|
||||
"v1": 12
|
||||
},
|
||||
{
|
||||
"name": "3月",
|
||||
"v1": 67
|
||||
},
|
||||
{
|
||||
"name": "4月",
|
||||
"v1": 98
|
||||
}
|
||||
],
|
||||
lineChart1: {
|
||||
legend: {
|
||||
icon: 'roundRect',
|
||||
@@ -483,6 +443,75 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
lineData9: [
|
||||
{
|
||||
"name": "宣传群",
|
||||
"标签数": 198
|
||||
},
|
||||
{
|
||||
"name": "学校",
|
||||
"标签数": 66
|
||||
},
|
||||
{
|
||||
"name": "临街商行",
|
||||
"标签数": 118
|
||||
},
|
||||
{
|
||||
"name": "建筑工程",
|
||||
"标签数": 6
|
||||
},
|
||||
{
|
||||
"name": "建筑工程",
|
||||
"标签数": 6
|
||||
},
|
||||
{
|
||||
"name": "物流快递",
|
||||
"标签数": 14
|
||||
},
|
||||
{
|
||||
"name": "餐饮美食",
|
||||
"标签数": 116
|
||||
}],
|
||||
barChart9: {
|
||||
legend: {
|
||||
show: false,
|
||||
textStyle: {
|
||||
color: "#fff"
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '0%',
|
||||
right: '0%',
|
||||
bottom: '0%',
|
||||
top: '10px',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
backgroundColor: 'rgba(0, 102, 154, 0.65)',
|
||||
borderColor: 'rgba(0, 102, 154, 0.65)',
|
||||
textStyle: { color: '#fff' },
|
||||
axisPointer: { type: 'cross' }
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
axisLine: { lineStyle: { color: 'rgba(179, 223, 255, 0.4)' } },
|
||||
axisLabel: {color: '#8FABBF', fontSize: 12},
|
||||
axisTick: {show: false},
|
||||
},
|
||||
xAxis: {
|
||||
nameGap: 23, minInterval: 1,
|
||||
splitLine: {lineStyle: {color: 'rgba(108, 128, 151, 0.3)', type: 'dashed'}},
|
||||
axisLabel: {color: '#8FABBF', fontSize: 12}
|
||||
},
|
||||
color: ['#65E0DE', '#E7C074', '#7AA3CC'],
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
barWidth: '15'
|
||||
}
|
||||
]
|
||||
},
|
||||
barChart8: {
|
||||
legend: {
|
||||
textStyle: {
|
||||
@@ -734,7 +763,10 @@
|
||||
},
|
||||
|
||||
qhyData () {
|
||||
return [{key: '活跃居民群', value: this.wxGroupOverview['活跃居民群数量(7天)']}, {key: '全部居民群', value: this.wxGroupOverview['群数量']}]
|
||||
if (!this.wxGroupOverview['活跃居民群数量(7天)']) {
|
||||
return {}
|
||||
}
|
||||
return [{key: '活跃居民群', value: (this.wxGroupOverview['活跃居民群数量(7天)'] / 7).toFixed(0)}, {key: '全部居民群', value: this.wxGroupOverview['群数量']}]
|
||||
},
|
||||
|
||||
qhyRate () {
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
<ai-info-item label="当前状态" :value="dict.getLabel('clapEventStatus', detail.eventStatus)"></ai-info-item>
|
||||
<ai-info-item label="联系方式">{{ detail.phone }}</ai-info-item>
|
||||
<ai-info-item label="上报时间">{{ detail.createTime }}</ai-info-item>
|
||||
<ai-info-item label="事件来源">{{ detail.groupName }}</ai-info-item>
|
||||
<ai-info-item label="事件类型">{{ detail.groupName }} </ai-info-item>
|
||||
<ai-info-item label="事件来源">{{ dict.getLabel('residentEventSource', detail.eventSource) }}</ai-info-item>
|
||||
<ai-info-item label="事件类型">{{ detail.groupName }}</ai-info-item>
|
||||
<ai-info-item label="事件描述" isLine>{{ detail.content }}</ai-info-item>
|
||||
<ai-info-item label="现场照片" isLine>
|
||||
<ai-uploader :instance="instance" disabled v-model="detail.files"></ai-uploader>
|
||||
@@ -123,7 +123,7 @@
|
||||
<ai-dialog
|
||||
:visible.sync="isShowUser"
|
||||
width="800px"
|
||||
title="选择网格或网格员"
|
||||
title="选择网格员"
|
||||
@onConfirm="onConfirm">
|
||||
<div class="grid-wrapper">
|
||||
<el-input
|
||||
@@ -210,14 +210,14 @@ export default {
|
||||
|
||||
created() {
|
||||
this.getDict()
|
||||
this.dict.load('clapEventStatus').then(() => {
|
||||
this.dict.load('clapEventStatus', 'residentEventSource').then(() => {
|
||||
this.getDetail()
|
||||
})
|
||||
},
|
||||
|
||||
methods: {
|
||||
getDetail() {
|
||||
this.instance.post('/app/appclapeventinfo/queryDetailById', null, {
|
||||
this.instance.post('/app/appresidentreportinfo/queryDetailById', null, {
|
||||
params: {id: this.$route.query.id}
|
||||
}).then(res => {
|
||||
if (res?.data) {
|
||||
@@ -236,9 +236,15 @@ export default {
|
||||
},
|
||||
|
||||
getGirdList() {
|
||||
return this.instance.post(`/app/appgirdinfo/listAllByTop`).then(res => {
|
||||
return this.instance.post(`/app/appresidentreportinfo/listGirdInfoByTransfer?id=${this.$route.query.id}`).then(res => {
|
||||
if (res?.data) {
|
||||
return this.tree = this.formatList([res.data])
|
||||
// return this.tree = this.formatList([res.data])
|
||||
this.tree = res.data
|
||||
this.tree.map((item) => {
|
||||
item.children = [item.girdMemberList?.map(e => ({
|
||||
...e, isUser: true, girdName: item.girdName
|
||||
})) || []].flat()
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -283,7 +289,7 @@ export default {
|
||||
onForwardConfirm() {
|
||||
this.$refs.forwardForm.validate(v => {
|
||||
if (v) {
|
||||
this.instance.post('/app/appclapeventinfo/transferByManager', {
|
||||
this.instance.post('/app/appresidentreportinfo/transfer', {
|
||||
...this.forwardForm,
|
||||
id: this.$route.query.id
|
||||
}).then(res => {
|
||||
@@ -298,20 +304,29 @@ export default {
|
||||
},
|
||||
|
||||
onConfirm() {
|
||||
if (this.gridInfo.userId) {
|
||||
this.forwardForm.girdId = this.gridInfo.girdId
|
||||
this.forwardForm.girdName = this.gridInfo.girdName
|
||||
this.forwardForm.girdMemberId = this.gridInfo.id
|
||||
this.forwardForm.girdMemberName = this.gridInfo.name
|
||||
} else {
|
||||
this.forwardForm.girdId = this.gridInfo.id
|
||||
}
|
||||
// if (this.gridInfo.userId) {
|
||||
// this.forwardForm.girdId = this.gridInfo.girdId
|
||||
// this.forwardForm.girdName = this.gridInfo.girdName
|
||||
// this.forwardForm.girdMemberId = this.gridInfo.id
|
||||
// this.forwardForm.girdMemberName = this.gridInfo.name
|
||||
// } else {
|
||||
// this.forwardForm.girdId = this.gridInfo.id
|
||||
// }
|
||||
// this.forwardForm.girdName = this.gridInfo.girdName
|
||||
// this.forwardForm.name = `${this.gridInfo.girdName}${this.gridInfo.name ? '-' + this.gridInfo.name : ''}`
|
||||
// this.isShowUser = false
|
||||
if(!this.gridInfo.userId) {
|
||||
return this.$message.error('请选择网格员!')
|
||||
}
|
||||
this.forwardForm.girdId = this.gridInfo.girdId
|
||||
this.forwardForm.girdName = this.gridInfo.girdName
|
||||
this.forwardForm.girdMemberId = this.gridInfo.id
|
||||
this.forwardForm.girdMemberName = this.gridInfo.name
|
||||
this.forwardForm.name = `${this.gridInfo.girdName}${this.gridInfo.name ? '-' + this.gridInfo.name : ''}`
|
||||
this.isShowUser = false
|
||||
},
|
||||
getDict() {
|
||||
this.instance.post(`/app/appclapeventgroup/list?current=1&size=100000`).then(res => {
|
||||
this.instance.post(`/app/appresidentreportgroup/list?current=1&size=100000`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.dictList = res.data.records.map(v => {
|
||||
return {
|
||||
@@ -325,7 +340,7 @@ export default {
|
||||
|
||||
close() {
|
||||
this.$confirm('确定关闭该事件?').then(() => {
|
||||
this.instance.post(`/app/appmininotice/delete?ids=${this.$route.query.id}`).then(res => {
|
||||
this.instance.post(`/app/appresidentreportinfo/delete?ids=${this.$route.query.id}`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('删除成功!')
|
||||
this.getList()
|
||||
@@ -372,7 +387,7 @@ export default {
|
||||
handleEvent() {
|
||||
this.$refs.form.validate(v => {
|
||||
if (v) {
|
||||
this.instance.post('/app/appclapeventinfo/finishByManager', {
|
||||
this.instance.post('/app/appresidentreportinfo/finishByGirdMember', {
|
||||
...this.form,
|
||||
groupName: this.dictList.filter(v => v.dictValue === this.form.groupId)[0].dictName,
|
||||
id: this.$route.query.id
|
||||
|
||||
@@ -9,12 +9,30 @@
|
||||
<ai-search-bar>
|
||||
<template #left>
|
||||
<ai-select
|
||||
v-model="search.eventStatus"
|
||||
clearable
|
||||
placeholder="处理状态"
|
||||
:selectList="dict.getDict('clapEventStatus')"
|
||||
@change="search.current = 1, getList()">
|
||||
v-model="search.eventStatus"
|
||||
clearable
|
||||
placeholder="处理状态"
|
||||
:selectList="dict.getDict('clapEventStatus')"
|
||||
@change="search.current = 1, getList()">
|
||||
</ai-select>
|
||||
<ai-select
|
||||
v-model="search.eventSource"
|
||||
clearable
|
||||
placeholder="事件来源"
|
||||
:selectList="dict.getDict('residentEventSource')"
|
||||
@change="search.current = 1, getList()">
|
||||
</ai-select>
|
||||
<ai-select
|
||||
v-model="search.groupId"
|
||||
clearable
|
||||
placeholder="事件类型"
|
||||
:selectList="typeList"
|
||||
@change="search.current = 1, getList()">
|
||||
</ai-select>
|
||||
<el-cascader ref="cascader1" v-model="girdArr" :options="girdOptions" placeholder="所属网格" size="small"
|
||||
:props="defaultProps" :show-all-levels="false" @change="gridChange" clearable></el-cascader>
|
||||
<el-date-picker size="small" v-model="searchDotime" type="daterange" range-separator="至" @change="timeChange"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
|
||||
</template>
|
||||
<template #right>
|
||||
<el-input
|
||||
@@ -62,12 +80,25 @@ export default {
|
||||
current: 1,
|
||||
size: 10,
|
||||
eventStatus: '',
|
||||
content: ''
|
||||
content: '',
|
||||
eventSource: '',
|
||||
groupId: ''
|
||||
},
|
||||
total: 0,
|
||||
tableData: [],
|
||||
content: '',
|
||||
id: ''
|
||||
id: '',
|
||||
girdId: '',
|
||||
girdArr: [],
|
||||
girdOptions: [],
|
||||
defaultProps: {
|
||||
label: 'girdName',
|
||||
value: 'id',
|
||||
children: 'children',
|
||||
checkStrictly: true,
|
||||
},
|
||||
searchDotime: [],
|
||||
typeList: []
|
||||
}
|
||||
},
|
||||
|
||||
@@ -77,11 +108,11 @@ export default {
|
||||
colConfigs() {
|
||||
return [
|
||||
{prop: 'content', label: '内容描述', width: '300px'},
|
||||
{prop: 'groupName', label: '事件来源', align: 'center'},
|
||||
{prop: 'eventSource', label: '事件来源', align: 'center', dict: 'residentEventSource'},
|
||||
{prop: 'groupName', label: '事件类型', align: 'center'},
|
||||
{prop: 'girdName', label: '所属网格', align: 'center'},
|
||||
{prop: 'createTime', label: '上报时间', align: 'center'},
|
||||
{prop: 'name', label: '上报居民', align: 'center'},
|
||||
{prop: 'name', label: '上报人员', align: 'center'},
|
||||
{prop: 'phone', label: '联系方式', align: 'center'},
|
||||
{prop: 'eventStatus', label: '处理状态', align: 'center', format: v => this.dict.getLabel('clapEventStatus', v)},
|
||||
{prop: 'processTime', label: '处理时长', align: 'center'},
|
||||
@@ -95,14 +126,62 @@ export default {
|
||||
},
|
||||
|
||||
created() {
|
||||
this.dict.load('clapEventStatus').then(() => {
|
||||
this.dict.load('clapEventStatus', 'residentEventSource').then(() => {
|
||||
this.getList()
|
||||
this.getGridList()
|
||||
this.getTypeList()
|
||||
})
|
||||
},
|
||||
|
||||
methods: {
|
||||
timeChange() {
|
||||
if (this.searchDotime) {
|
||||
this.search.doTimeStart = this.searchDotime[0]
|
||||
this.search.doTimeEnd = this.searchDotime[1]
|
||||
} else {
|
||||
this.search.doTimeStart = null
|
||||
this.search.doTimeEnd = null
|
||||
}
|
||||
this.search.current = 1
|
||||
this.getList()
|
||||
},
|
||||
// 所有网格
|
||||
getGridList() {
|
||||
this.instance.post(`/app/appgirdinfo/listAll3`).then((res) => {
|
||||
if (res?.code == 0) {
|
||||
this.girdOptions = this.toTree(res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 转树形结构
|
||||
toTree(data) {
|
||||
let result = [];
|
||||
if (!Array.isArray(data)) {
|
||||
return result
|
||||
}
|
||||
let map = {};
|
||||
data.forEach(item => {
|
||||
map[item.id] = item;
|
||||
});
|
||||
data.forEach(item => {
|
||||
let parent = map[item.parentGirdId];
|
||||
if (parent) {
|
||||
(parent.children || (parent.children = [])).push(item);
|
||||
} else {
|
||||
result.push(item);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
},
|
||||
gridChange(val) {
|
||||
this.girdArr = val
|
||||
this.girdId = val?.[val.length - 1]
|
||||
this.$refs.cascader1.dropDownVisible = false;
|
||||
this.search.current = 1
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
this.instance.post(`/app/appclapeventinfo/list`, null, {
|
||||
this.instance.post(`/app/appresidentreportinfo/list`, null, {
|
||||
params: {
|
||||
...this.search
|
||||
}
|
||||
@@ -133,7 +212,7 @@ export default {
|
||||
},
|
||||
handleDelete(ids) {
|
||||
this.$confirm("是否要进行删除?").then(() => {
|
||||
this.instance.post("/app/appclapeventinfo/delete", null, {
|
||||
this.instance.post("/app/appresidentreportinfo/delete", null, {
|
||||
params: {ids}
|
||||
}).then(res => {
|
||||
if (res?.code == 0) {
|
||||
@@ -142,8 +221,20 @@ export default {
|
||||
}
|
||||
})
|
||||
}).catch(() => 0)
|
||||
},
|
||||
getTypeList() {
|
||||
this.instance.post(`/app/appresidentreportgroup/list?size=10000`).then(res => {
|
||||
if (res.code == 0) {
|
||||
res.data.records.map((item) => {
|
||||
item.dictName = item.groupName
|
||||
item.dictValue = item.id
|
||||
})
|
||||
this.typeList = res.data.records
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
|
||||
methods: {
|
||||
getList() {
|
||||
this.instance.post(`/app/appclapeventgroup/list`, null, {
|
||||
this.instance.post(`/app/appresidentreportgroup/list`, null, {
|
||||
params: {
|
||||
...this.search
|
||||
}
|
||||
@@ -138,7 +138,7 @@
|
||||
onConfirm () {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
this.instance.post(`/app/appclapeventgroup/addOrUpdate`, {
|
||||
this.instance.post(`/app/appresidentreportgroup/addOrUpdate`, {
|
||||
...this.form,
|
||||
id: this.id || null
|
||||
}).then(res => {
|
||||
@@ -162,7 +162,7 @@
|
||||
|
||||
remove(id) {
|
||||
this.$confirm('确定删除该数据?').then(() => {
|
||||
this.instance.post(`/app/appclapeventgroup/delete?ids=${id}`).then(res => {
|
||||
this.instance.post(`/app/appresidentreportgroup/delete?ids=${id}`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('删除成功!')
|
||||
this.getList()
|
||||
|
||||
Reference in New Issue
Block a user