123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- <template>
- <div class="app-container calendar-list-container">
- <!-- 查询和其他操作 -->
- <div class="filter-container">
- <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入姓名"
- v-model="listQuery.userName"></el-input>
- <el-input clearable class="filter-item" style="width: 200px;" placeholder="积分说明"
- v-model="listQuery.comment"></el-input>
- <el-select v-model="listQuery.deptId" clearable placeholder="请选择部门" style="top: -4px;width: 200px;">
- <el-option :key="item.type" v-for="item in depTypeList" :label="item.deptName" :value="item.deptId">
- </el-option>
- </el-select>
-
- <el-select v-model="listQuery.integralType" clearable placeholder="请选择积分类型" style="top: -4px;width: 200px;">
- <el-option :key="item.dictValue" v-for="item in allTypeList" :label="item.dictLabel" :value="item.dictValue">
- </el-option>
- </el-select>
- <el-date-picker class="filter-item" value-format="yyyy-MM-dd" v-model="listQuery.createTime" type="date" placeholder="选择获取时间">
- </el-date-picker>
- <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
- <el-button class="filter-item" type="primary" :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
- </div>
- <!-- 查询结果 -->
- <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
- highlight-current-row>
- <el-table-column type="index" label="序号" header-align="center" align="center">
- </el-table-column>
- <el-table-column align="center" min-width="80px" label="姓名" prop="userName">
- </el-table-column>
- <el-table-column align="center" min-width="150px" label="部门" prop="deptName">
- </el-table-column>
- <el-table-column align="center" min-width="80px" label="积分类型" prop="integralTypeName">
- </el-table-column>
- <el-table-column align="center" min-width="200px" label="积分说明" prop="comment">
- </el-table-column>
- <el-table-column align="center" min-width="80px" label="积分">
- <template slot-scope="scope">
- <span style="color: #67C23A;font-weight: 600;font-size: 14px;" v-if="scope.row.pm == 0">
- + {{ scope.row.integral }}
- </span>
- <span style="color: #F56C6C;font-weight: 600;font-size: 14px;" v-else>
- - {{ scope.row.integral }}
- </span>
- </template>
- </el-table-column>
- <el-table-column align="center" min-width="80px" label="获取时间" prop="createTime">
- </el-table-column>
- </el-table>
- <!-- 分页 -->
- <div class="pagination-container">
- <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
- :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
- layout="total, sizes, prev, pager, next, jumper" :total="total">
- </el-pagination>
- </div>
- </div>
- </template>
-
- <style>
- .demo-table-expand {
- font-size: 0;
- }
- .demo-table-expand label {
- width: 200px;
- color: #99a9bf;
- }
- .demo-table-expand .el-form-item {
- margin-right: 0;
- margin-bottom: 0;
- }
- </style>
-
- <script>
- import { getPointDetailList } from "@/api/pointManage";
- import { depTypeList,dataTypeList } from "@/api/public";
- import waves from "@/directive/waves"; // 水波纹指令
- import Tinymce from '@/components/Tinymce'
- export default {
- name: 'pointList',
- components: { Tinymce },
- directives: { waves },
- data() {
- return {
- depTypeList: [],
- allTypeList: [],
- list: [],
- total: 0,
- listLoading: false,
- downloadLoading: false,
- listQuery: {
- page: 1,
- limit: 10,
- deptId: '',
- userName: '',
- comment:'',
- createTime: '',
- integralType:'',
- },
- }
- },
- created() {
- this.getDepTypeList();
- this.getPointRulesType();
- this.getList();
- },
- methods: {
- handleDownload() {
- window.location.href = process.env.BASE_API + '/mall-integral/export/details/page?integralType=' + this.listQuery.integralType + '&deptId=' + this.listQuery.deptId + '&userName=' + this.listQuery.userName + '&createTime=' + this.listQuery.createTime + '&comment=' + this.listQuery.comment;
- },
- getDepTypeList() {
- depTypeList().then(response => {
- this.depTypeList = response.data.data;
- })
- },
- getPointRulesType() {
- dataTypeList({dictType:'integral_rule_type'}).then(response => {
- this.allTypeList = response.data.data;
- })
- },
- getList() {
- this.listLoading = true
- getPointDetailList(this.listQuery).then(response => {
- this.list = response.data.data.items
- this.total = response.data.data.total
- this.listLoading = false
- })
- },
- handleFilter() {
- this.listQuery.page = 1
- this.getList()
- },
- handleSizeChange(val) {
- this.listQuery.limit = val
- this.getList()
- },
- handleCurrentChange(val) {
- this.listQuery.page = val
- this.getList()
- },
- }
- }
- </script>
- <style>
- .ad-avatar-uploader .el-upload {
- border: 1px dashed #d9d9d9;
- border-radius: 6px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- }
- .ad-avatar-uploader .el-upload:hover {
- border-color: #409EFF;
- }
- .ad-avatar-uploader-icon {
- font-size: 28px;
- color: #8c939d;
- width: 178px;
- height: 178px;
- line-height: 178px;
- text-align: center;
- }
- .ad-avatar {
- display: block;
- }
- </style>
-
|