This commit is contained in:
花有清香月有阴
2022-01-07 17:30:54 +08:00
5 changed files with 120 additions and 97 deletions

View File

@@ -16,19 +16,19 @@
<div class="item">
<div class="mini-title">小区管理</div>
<div class="info">
<div class="line-bg"><div class="active-bg"></div></div>共11条 | 已办结9 <img src="./components/img/right-icon.png" alt="">
<div class="line-bg"><div class="active-bg"></div></div>共11条 | 已办结9
</div>
</div>
<div class="item">
<div class="mini-title">小区管理</div>
<div class="info">
<div class="line-bg" style="width:50%;"><div class="active-bg"></div></div>共11条 | 已办结9 <img src="./components/img/right-icon.png" alt="">
<div class="line-bg" style="width:44%;"><div class="active-bg"></div></div>共11条 | 已办结9
</div>
</div>
<div class="item">
<div class="mini-title">小区管理</div>
<div class="info">
<div class="line-bg" style="width:40%;"><div class="active-bg"></div></div>共11条 | 已办结9 <img src="./components/img/right-icon.png" alt="">
<div class="line-bg" style="width:30%;"><div class="active-bg"></div></div>共11条 | 已办结9
</div>
</div>
</div>
@@ -186,7 +186,7 @@ export default {
line-height: 48px;
.line-bg{
display: inline-block;
width: 63%;
width: 56%;
height: 14px;
background: #D7D8D9;
border-radius: 8px;

View File

@@ -115,11 +115,7 @@ export default {
}
})
}else { //查网格员
this.$http.post(`/app/appgirdmemberinfo/listByGirdId`, {
appGirdMemberInfo: {
girdId: row.id
}
}).then((res) => {
this.$http.post(`/app/appgirdmemberinfo/listByGirdId`, {girdId: row.id}).then((res) => {
if (res?.data) {
this.userList = res.data
this.userList.map((item) => {

View File

@@ -1,10 +1,11 @@
<template>
<div class="statistics">
<div class="gird-select">
<div class="statistics" v-if="pageShow">
<!-- <div class="gird-select">
<img src="./components/img/gird-icon.png" alt="">
<span>全部网格</span>
<span>{{girdName}}</span>
<img src="./components/img/down-icon.png" alt="">
</div>
<u-select v-model="showSelect" :list="myGirdList" value-name="id" label-name="girdName" @confirm="confirm"></u-select> -->
<div class="info-content">
<div class="title">今日概况</div>
<div class="el-row">
@@ -20,11 +21,11 @@
<div class="left">
<div class="item">
<p>受理率</p>
<h2>{{info.businessCountMap['受理率'] * 100}}%</h2>
<h2>{{info.businessCountMap['受理率'] * 100 || '0'}}%</h2>
</div>
<div class="item">
<p>办结率</p>
<h2>{{info.businessCountMap['办结率'] * 100}}%</h2>
<h2>{{info.businessCountMap['办结率'] * 100 || '0'}}%</h2>
</div>
</div>
<div class="right">
@@ -35,15 +36,15 @@
<div class="num">
<div class="item bg1">
<h2>累计反馈</h2>
<p>{{info.businessCountMap['累计反馈']}}</p>
<p>{{info.businessCountMap['累计反馈'] || '0'}}</p>
</div>
<div class="item bg2">
<h2>累计受理</h2>
<p>{{info.businessCountMap['累计受理']}}</p>
<p>{{info.businessCountMap['累计受理'] || '0'}}</p>
</div>
<div class="item bg3">
<h2>累计办理</h2>
<p>{{info.businessCountMap['累计办结']}}</p>
<p>{{info.businessCountMap['累计办结'] || '0'}}</p>
</div>
</div>
</div>
@@ -51,34 +52,22 @@
</div>
<div class="info-content">
<div class="title" @click="toPercentageDetail">分类统计
<img src="./components/img/right-icon.png" alt="">
<!-- <img src="./components/img/right-icon.png" alt=""> -->
</div>
<div class="percentage">
<div class="item">
<div class="mini-title">小区管理</div>
<div class="item" v-for="(item, index) in info.groupList" :key="index">
<div class="mini-title">{{item.groupName}}</div>
<div class="info">
<div class="line-bg"><div class="active-bg"></div></div>共11条 | 已办结9 <img src="./components/img/right-icon.png" alt="">
</div>
</div>
<div class="item">
<div class="mini-title">小区管理</div>
<div class="info">
<div class="line-bg" style="width:44%;"><div class="active-bg"></div></div>共11条 | 已办结9 <img src="./components/img/right-icon.png" alt="">
</div>
</div>
<div class="item">
<div class="mini-title">小区管理</div>
<div class="info">
<div class="line-bg" style="width:30%;"><div class="active-bg"></div></div>共11条 | 已办结9 <img src="./components/img/right-icon.png" alt="">
<div class="line-bg" :style="`width:${item.width}%`"><div class="active-bg" :style="`width:${item.percentage*100}%`"></div></div>{{item.totalNum}} | 已办结{{item.finishNum}}
</div>
</div>
</div>
</div>
<div class="info-content" @click="toUserList">
<!-- <div class="info-content" @click="toUserList">
<div class="title">成员明细
<img src="./components/img/right-icon.png" alt="">
</div>
</div>
</div> -->
<div class="pad-b120"></div>
</div>
</template>
@@ -89,10 +78,16 @@ export default {
data() {
return {
todayList: [],
info: {}
info: {},
pageShow: false,
myGirdList: [],
showSelect: false,
myGirdList: [],
girdName: '全部网格'
}
},
mounted() {
this.girdList()
this.getStatistics()
},
methods: {
@@ -107,7 +102,18 @@ export default {
}
this.todayList.push(info)
})
if(this.info.groupList.length) {
this.info.groupList.map((item, index) => {
if(item.finishNum) {
item.percentage = (item.finishNum/item.totalNum).toFixed(2)
}else {
item.percentage = 0
}
item.width = 56-(index*10)
})
}
}
this.pageShow = true
})
},
@@ -125,6 +131,27 @@ export default {
},
toUserList() {
uni.navigateTo({url: './UserList'})
},
girdList() {
this.$http.post(`/app/appgirdmemberinfo/queryMyGirdList`, null, {
params: {
size: 9999,
},
})
.then((res) => {
if (res.code == 0) {
this.myGirdList = res.data
var all = {
id: '',
girdName: '全部'
}
this.myGirdList.unshift(all)
}
})
},
confirm(e) {
}
},
}
@@ -291,13 +318,11 @@ export default {
line-height: 48px;
.line-bg{
display: inline-block;
width: 56%;
height: 14px;
background: #D7D8D9;
border-radius: 8px;
margin-right: 12px;
.active-bg{
width: 80%;
height: 100%;
background: #257FF1;
border-radius: 8px;

View File

@@ -35,14 +35,14 @@
<div class="options" v-if="form.type == 1">
<div class="oneopt">
<div class="items info" v-for="(item, index) in list" :key="index">
<!-- <div class="items info" v-for="(item, index) in list" :key="index">
<img src="./img/22.png" alt="" @click="del(index)" />
<div class="rightopts" style="color: #666">{{ item }}</div>
</div>
<div class="items">
<img src="./img/22.png" alt="" />
</div> -->
<div class="items" v-for="(item, index) in list" :key="index">
<img src="./img/22.png" alt="" @click="del(index)" />
<div class="rightopts">
<u-input v-model="contents" placeholder="选项" maxlength="200" :clearable="false" />
<u-input v-model="item.content" placeholder="选项" maxlength="200" :clearable="false" />
</div>
</div>
<div class="items" @click="addOpts">
@@ -133,6 +133,7 @@ export default {
},
submit() {
let list = []
if (this.flag) return
if (!this.form.content) {
return this.$u.toast('请输入主题')
@@ -146,26 +147,27 @@ export default {
if (!this.form.publicityDeadline) {
return this.$u.toast('请选择公示截止时间')
}
if (this.form.type == 1 && this.opts == 0 && !this.contents) {
return this.$u.toast('请输入单选选项')
if (this.form.type === '1') {
if (!this.list.length) {
return this.$u.toast('请添加选项')
}
if (this.opts == 1 && !this.list.length) {
return this.$u.toast('请输入多选选项')
if (this.list.length < 2) {
return this.$u.toast('选项不能少于2个')
}
if (this.contents) {
this.list.push(this.contents)
list = this.list.map((v, index) => {
return {
content: v.content,
item: this.keys[index]
}
if (this.opts == 1) {
var lists = []
this.list.map((item, index) => {
item.contents == item, item.item == this.keys[index]
lists.push({
content: item,
item: this.keys[index],
})
})
console.log(lists)
for (let i = 0; i < list.length; i ++) {
if (!list[i].content) {
return this.$u.toast(`请输入弟${i + 1}个选项的内容`)
}
}
}
var params = {
@@ -173,7 +175,7 @@ export default {
// voteItems: this.list,
areaId: this.form.areaId,
areaName: this.form.areaName,
voteItems: lists,
voteItems: list,
anonymous: this.checked == true ? 1 : 0,
createUserId: this.user.id,
createUserName: this.user.name,
@@ -194,11 +196,12 @@ export default {
},
addOpts() {
if (!this.contents) {
return this.$u.toast('请输入选项内容')
}
this.list.push(this.contents)
this.contents = ''
// if (!this.contents) {
// return this.$u.toast('请输入选项内容')
// }
this.list.push({
content: ''
})
},
del(index) {
@@ -211,8 +214,6 @@ export default {
},
confirmTime(e) {
console.log(e)
if (this.showStartTime == true) {
var nowTime = new Date().getTime() * 1

View File

@@ -41,6 +41,7 @@
<div class="content" v-text="op.content" @click="adddeleShow(op.id)" />
<div class="content" v-text="op.content" />
<div class="content color-999" v-text="op.createTime" />
</div>
<AiEmpty v-if="!data.messages.length"></AiEmpty>
@@ -111,6 +112,7 @@ export default {
deleShow: false,
modalShow: false,
deleId: '',
isAnnouncer: false,
}
},
computed: {
@@ -157,7 +159,7 @@ export default {
this.timestamp = discussTime - nowTime
}
if (res.data.voteType === '1') {
if (res.data.type === '1') {
const total = Object.values(res.data.statistic).reduce((x, y) => {
return x + y
})
@@ -183,9 +185,7 @@ export default {
like(id) {
this.$loading()
this.$http
.post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`)
.then((res) => {
this.$http.post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`).then((res) => {
this.$hideLoading()
if (res.code === 0) {
this.$u.toast('点赞成功')
@@ -197,19 +197,16 @@ export default {
this.$u.toast(res.msg)
}
})
.catch((e) => {
this.$hideLoading()
this.$u.toast(e)
})
},
adddeleShow(id) {
this.deleId = id
this.deleShow = true
},
confirmDelete() {
this.$http.post(`/app/appvillagediscussmessage/delete?ids=${this.deleId}`).then((res) => {
this.$http
.post(`/app/appvillagediscussmessage/delete?ids=${this.deleId}`)
.then((res) => {
if (res?.data) {
this.deleShow = false
this.modalShow = false
@@ -217,6 +214,10 @@ export default {
this.getDetail()
}
})
.catch((e) => {
this.$hideLoading()
this.$u.toast(e)
})
},
publish() {
@@ -293,7 +294,7 @@ export default {
})
.then((res) => {
if (res?.code == 0) {
this.$u.toast('结束公示!')
this.$u.toast('结束公示成功!')
this.getDetail()
}
})