4 changed files with 366 additions and 2 deletions
@ -0,0 +1,80 @@ |
|||
<template> |
|||
<el-dialog width="80%" title="积分记录" :visible.sync="visible" append-to-body> |
|||
<el-table :data="volunteerPointsRecords" border style="width: 100%;"> |
|||
<el-table-column label="姓名" header-align="center" align="center">{{ dataForm.realName }}</el-table-column> |
|||
<el-table-column prop="actName" label="参与活动名称" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="volunteerPoints" label="获得积分" header-align="center" align="center"></el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="pageIndex" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limitVal" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandleNew" |
|||
@current-change="pageCurrentChangeHandleNew"> |
|||
</el-pagination> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
userId: '', |
|||
realName: '', |
|||
startTime: '', |
|||
endTime: '' |
|||
}, |
|||
volunteerPointsRecords: [], |
|||
order: '', |
|||
orderField: '', |
|||
pageIndex: 1, |
|||
limitVal: 10, |
|||
total: 0 |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.order = '' |
|||
this.orderField = '' |
|||
this.pageIndex = 1 |
|||
this.limitVal = 10 |
|||
this.total = 0 |
|||
this.$nextTick(() => { |
|||
if (this.dataForm.userId) { |
|||
this.getVolunteerPointsRecords() |
|||
} |
|||
}) |
|||
}, |
|||
getVolunteerPointsRecords () { |
|||
this.$http.get(`analysis/volunteer/volunteerPointsRecords`, { params: { userId: this.dataForm.userId, startTime: this.dataForm.startTime, endTime: this.dataForm.endTime, order: this.order, orderField: this.orderField, page: this.pageIndex, limit: this.limitVal } |
|||
}).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
this.volunteers = [] |
|||
this.total = 0 |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.volunteerPointsRecords = res.data.list |
|||
this.total = res.data.total |
|||
}).catch(() => {}) |
|||
}, |
|||
pageSizeChangeHandleNew (val) { |
|||
this.pageIndex = 1 |
|||
this.limitVal = val |
|||
this.getVolunteerPointsRecords() |
|||
}, |
|||
pageCurrentChangeHandleNew (val) { |
|||
this.pageIndex = val |
|||
this.getVolunteerPointsRecords() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
@ -0,0 +1,112 @@ |
|||
<template> |
|||
<el-dialog width="90%" title="志愿者" :visible.sync="visible" append-to-body> |
|||
<el-table :data="volunteers" border style="width: 100%;"> |
|||
<el-table-column prop="realName" label="姓名" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="identityNo" label="身份证号" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="mobile" label="联系电话" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="tagName" label="所在小组" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="volunteerSignature" label="格言" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="address" label="居住地址" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="volunteerPoints" label="公益积分" header-align="center" align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="pointsRecords(scope.row.userId, scope.row.realName)">积分记录</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="pageIndex" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limitVal" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandleNew" |
|||
@current-change="pageCurrentChangeHandleNew"> |
|||
</el-pagination> |
|||
<!-- 积分记录 --> |
|||
<volunteer-points-records v-if="volunteerPointsRecordsVisible" |
|||
@firstDialogCallBack="firstDialogCallBack" |
|||
ref="volunteerPointsRecords"></volunteer-points-records> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import volunteerPointsRecords from './volunteer-points-records' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
volunteerPointsRecordsVisible: false, |
|||
dataForm: { |
|||
volunteerDeptId: '', |
|||
startTime: '', |
|||
endTime: '' |
|||
}, |
|||
volunteers: [], |
|||
order: '', |
|||
orderField: '', |
|||
pageIndex: 1, |
|||
limitVal: 10, |
|||
total: 0 |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.order = '' |
|||
this.orderField = '' |
|||
this.pageIndex = 1 |
|||
this.limitVal = 10 |
|||
this.total = 0 |
|||
this.$nextTick(() => { |
|||
if (this.dataForm.volunteerDeptId) { |
|||
this.getVolunteerList() |
|||
} |
|||
}) |
|||
}, |
|||
getVolunteerList () { |
|||
this.$http.get(`analysis/volunteer/volunteers`, { params: { volunteerDeptId: this.dataForm.volunteerDeptId, startTime: this.dataForm.startTime, endTime: this.dataForm.endTime, order: this.order, orderField: this.orderField, page: this.pageIndex, limit: this.limitVal } |
|||
}).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
this.volunteers = [] |
|||
this.total = 0 |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.volunteers = res.data.list |
|||
this.total = res.data.total |
|||
}).catch(() => {}) |
|||
}, |
|||
pointsRecords (userId, realName) { |
|||
this.volunteerPointsRecordsVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.volunteerPointsRecords.dataForm.userId = userId |
|||
this.$refs.volunteerPointsRecords.dataForm.realName = realName |
|||
this.$refs.volunteerPointsRecords.dataForm.startTime = this.dataForm.startTime |
|||
this.$refs.volunteerPointsRecords.dataForm.endTime = this.dataForm.endTime |
|||
this.$refs.volunteerPointsRecords.init() |
|||
}) |
|||
}, |
|||
pageSizeChangeHandleNew (val) { |
|||
this.pageIndex = 1 |
|||
this.limitVal = val |
|||
this.getVolunteerList() |
|||
}, |
|||
pageCurrentChangeHandleNew (val) { |
|||
this.pageIndex = val |
|||
this.getVolunteerList() |
|||
}, |
|||
firstDialogCallBack (value) { |
|||
if (value) { |
|||
this.getVolunteerList() |
|||
} |
|||
} |
|||
}, |
|||
components: { |
|||
volunteerPointsRecords |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
@ -0,0 +1,173 @@ |
|||
<template> |
|||
<el-card shadow="never" |
|||
class="aui-card--fill"> |
|||
<div class="mod-epdc__user}"> |
|||
<el-form :inline="true" |
|||
:model="dataForm" |
|||
@keyup.enter.native="getDataList()"> |
|||
<el-form-item label="部门"> |
|||
<el-select v-model="dataForm.id" placeholder="请选择" clearable> |
|||
<el-option |
|||
v-for="item in volunteerDepts" |
|||
:key="item.id" |
|||
:label="item.deptName" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<span class="demonstration">时间</span> |
|||
<el-date-picker @change='setTime' |
|||
v-model="time" |
|||
value-format="yyyy-MM-dd" |
|||
type="daterange" |
|||
range-separator="至" |
|||
start-placeholder="开始日期" |
|||
end-placeholder="结束日期"></el-date-picker> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" |
|||
:data="dataList" |
|||
border |
|||
style="width: 100%;"> |
|||
<el-table-column label="序号" |
|||
align="center" |
|||
width="50px" |
|||
type="index" |
|||
:index="table_index"></el-table-column> |
|||
<el-table-column prop="deptName" |
|||
label="部门" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="volunteerNum" |
|||
label="注册志愿者人数" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="volunteerPoints" |
|||
label="累计公益积分" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" |
|||
fixed="right" |
|||
header-align="center" |
|||
align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" |
|||
size="small" |
|||
@click="volunteerPointsStaticDetail(scope.row.id)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination :current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"></el-pagination> |
|||
<!-- 志愿者 --> |
|||
<volunteer-points-static-detail v-if="volunteerPointsStaticDetailVisible" |
|||
@firstDialogCallBack="firstDialogCallBack" |
|||
ref="volunteerPointsStaticDetail" |
|||
@refreshDataList="getDataList"></volunteer-points-static-detail> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import volunteerPointsStaticDetail from './volunteer-points-static-detail' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: 'analysis/volunteer/volunteerpointsstatic', |
|||
getDataListIsPage: true |
|||
}, |
|||
dataForm: { |
|||
id: '', |
|||
startTime: '', |
|||
endTime: '' |
|||
}, |
|||
volunteerDepts: [], |
|||
time: '', |
|||
volunteerPointsStaticDetailVisible: false |
|||
} |
|||
}, |
|||
created () { |
|||
this.getVolunteerDepts() |
|||
}, |
|||
methods: { |
|||
// 获取志愿者部门信息 |
|||
getVolunteerDepts () { |
|||
this.$http.get(`/app-user/volunteerdept/volunteerdepts`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.volunteerDepts = { |
|||
...this.volunteerDepts, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
setTime () { |
|||
this.dataForm.startTime = this.time[0] |
|||
this.dataForm.endTime = this.time[1] |
|||
}, |
|||
// 获取数据列表 |
|||
getDataList () { |
|||
if (this.time === null) { |
|||
this.dataForm.startTime = '' |
|||
this.dataForm.endTime = '' |
|||
} |
|||
this.dataListLoading = true |
|||
this.$http.get(this.mixinViewModuleOptions.getDataListURL, { |
|||
params: { |
|||
order: this.order, |
|||
orderField: this.orderField, |
|||
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null, |
|||
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null, |
|||
...this.dataForm |
|||
} |
|||
}).then(({ data: res }) => { |
|||
this.dataListLoading = false |
|||
if (res.code !== 0) { |
|||
this.dataList = [] |
|||
this.total = 0 |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data |
|||
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0 |
|||
}).catch(() => { |
|||
this.dataListLoading = false |
|||
}) |
|||
}, |
|||
volunteerPointsStaticDetail (volunteerDeptId) { |
|||
this.volunteerPointsStaticDetailVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.volunteerPointsStaticDetail.dataForm.volunteerDeptId = volunteerDeptId |
|||
this.$refs.volunteerPointsStaticDetail.dataForm.startTime = this.dataForm.startTime |
|||
this.$refs.volunteerPointsStaticDetail.dataForm.endTime = this.dataForm.endTime |
|||
this.$refs.volunteerPointsStaticDetail.init() |
|||
}) |
|||
}, |
|||
firstDialogCallBack (value) { |
|||
if (value) { |
|||
this.getDataList() |
|||
} |
|||
}, |
|||
table_index (index) { |
|||
return (this.page - 1) * this.limit + index + 1 |
|||
} |
|||
}, |
|||
components: { |
|||
volunteerPointsStaticDetail |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
Loading…
Reference in new issue