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