Merge remote-tracking branch 'origin/build' into build

This commit is contained in:
aixianling
2023-05-10 10:22:35 +08:00
4 changed files with 216 additions and 78 deletions

View File

@@ -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 () {

View File

@@ -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

View File

@@ -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>

View File

@@ -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()