<template> <div class="putForward"> <el-form :model="search" class="demo-form-inline" inline label-width="80px"> <el-form-item label="昵称"> <el-input v-model="search.nickname" placeholder="昵称"></el-input> </el-form-item> <el-form-item label="用户ID"> <el-input v-model="search.user_id" placeholder="用户ID"></el-input> </el-form-item> <el-form-item label="手机号"> <el-input v-model="search.mobile" placeholder="手机号"></el-input> </el-form-item> <el-form-item label="提交时间"> <el-date-picker type="daterange" v-model="search.payTime" range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00','23:59:59']"> </el-date-picker> </el-form-item> <el-form-item label=""> <el-button type="primary" @click="onSearch">查询</el-button> <el-button type="success" @click="exportTable" v-if="$store.state.export">导出</el-button> </el-form-item> </el-form> <el-table :data="tableData" border fixed style="width: 100%"> <el-table-column label="用户" width="200" className="f-c"> <template slot-scope="scope"> <img class="avatar" :src="scope.row.user_avatar"/> {{scope.row.user_nickname}}(ID:{{scope.row.user_id}})<br>手机:{{scope.row.user_mobile}} </template> </el-table-column> <el-table-column prop="element_title" width="200" label="歌曲名"> </el-table-column> <el-table-column prop="category_name" width="200" label="课程"> </el-table-column> <el-table-column prop="interest" width="100" label="兴趣度"> </el-table-column> <el-table-column prop="concent" width="100" label="专注度"> </el-table-column> <el-table-column prop="parent_child" width="100" label="亲子互动"> </el-table-column> <el-table-column prop="growth_record" label="成长记录"> <template slot-scope="scope"> <el-popover placement="top-start" width="200" trigger="hover" :content="scope.row.growth_record"> <el-button slot="reference">{{scope.row.growth_record}}</el-button> </el-popover> </template> </el-table-column> <el-table-column prop="created_at" width="200" label="提交时间"> </el-table-column> </el-table> <page :nowPage="nowPage" :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange"/> </div> </template> <script> import {getGrowthRecordApi} from "../../service/api"; import Cookie from '../../util/cookie' import page from '../framework/page' import CommonJs from '../../util/common'; import md5 from 'js-md5'; let singjson = { sing: "singsingenglish21000" }; export default { name: "growthRecord", data(){ return { // today:{ // text:'今天', // onClick:(vm)=>{ // vm.$emit('pick', [this.formatTime(new Date())+' 00:00:00',this.formatTime(new Date())+' 23:59:59']) // } // }, // yesterday:{ // text:'昨天', // onClick:(vm)=>{ // let preDate = this.formatTime(new Date(new Date().getTime() - 24*60*60*1000)); // vm.$emit('pick', [preDate+' 00:00:00',preDate+' 23:59:59']) // } // }, // last30Day:{ // text:'过去30天', // onClick:(vm)=>{ // let preDate = this.formatTime(new Date(new Date().getTime() - 30*24*60*60*1000)); // vm.$emit('pick', [preDate+' 00:00:00',this.formatTime(new Date())+' 23:59:59']); // } // }, // last7Day:{ // text:'过去7天', // onClick:(vm)=>{ // let preDate = this.formatTime(new Date(new Date().getTime() - 7*24*60*60*1000)); // vm.$emit('pick', [preDate+' 00:00:00',this.formatTime(new Date())+' 23:59:59']); // } // }, uploadHeader:{token:Cookie.get('cc_token')}, param_token:CommonJs.md5Code(), nowPage: 1, total: 0, limit: 10, search:{ key:'', status:'1', payTime:[] }, liStatus:[ { label: '全部', status: '' }, { label: '申请中', status: 0 },{ label: '提现成功', status: 1 },{ label: '提现失败', status: 2 } ], tableData:[], showDialog:false, showDesc:false, dialogTitle:'审核', nowObj:{ id:'', status:1, reason:'', desc:"" }, page:{ current:1, pageSize:100, total:0 }, putForwardDialog: { show: false, user_id: '', userLabel: '', money: 0, desc: '' }, userList: [], rules:{ userLabel:[ { required: true, message: '请选择用户', trigger: 'change' } ], money:[ { required: true, message: '请输入提现金额', trigger: 'change' } ], desc:[ { required: true, message: '请输入提现说明', trigger: 'change' } ] }, searchFrom:{}, selectUserList:[], userDialog: { show: false, nowPage: 1, total: 0, limit: 5 } } }, components:{ page }, filters:{ moneyYuan:function (value) { if(!value){ return 0 + '元'; } return value = (value/100).toFixed(2) + '元'; }, filterStatus:function (value) { let msg = ''; if(value.status === 0){ msg = '审核中' }else if(value.status === 1){ msg = '提现成功' }else if(value.status === 2){ msg = '提现失败'+'('+value.reason+")" } return msg; }, userLabel: function (val) { return `${val.nickname}[${val.user_id}]` } }, mounted:function(){ this.getList() }, methods:{ fileSuccess(){ this.$message({ message: '提交成功,请稍后刷新', type: 'success' }); }, /*formatTime(date){ let year = date.getFullYear(); let Month = date.getMonth()+1; if(Month < 10){ Month = `0${Month}` } let Day = date.getDate(); if(Day<10)Day = `0${Day}`; return `${year}-${Month}-${Day}`; },*/ onSizeChange(val){ this.nowPage = 1; this.limit = val; this.getList() }, exportTable(){ let json = { limit: this.limit, page: this.nowPage }; if(this.search.user_id){ json.user_id = this.search.user_id } if(this.search.nickname){ json.nickname = this.search.nickname } if(this.search.mobile){ json.mobile = this.search.mobile } if (this.search.payTime && this.search.payTime.length > 0) { json.start_at = this.search.payTime[0] json.over_at = this.search.payTime[1] } exportExcelApi('/api/admin/user/growth/record/export', json, '成长记录') }, //获取列表 getList:function () { // console.log(this.limit) let json = { limit: this.limit, page: this.nowPage }; if(this.search.user_id){ json.user_id = this.search.user_id } if(this.search.nickname){ json.nickname = this.search.nickname } if(this.search.mobile){ json.mobile = this.search.mobile } if (this.search.payTime && this.search.payTime.length > 0) { json.start_at = this.search.payTime[0] json.over_at = this.search.payTime[1] } getGrowthRecordApi(json).then(res=>{ console.log(res) this.tableData = res.list; this.total = res.total; }) }, // 查询按钮 onSearch(){ this.nowPage = 1; //调用查询接口 this.getList(); }, //分页切换 onPageChange(current){ this.nowPage = current; this.page.current=current; this.getList(); }, // 弹框保存按钮 manualPutForward() { this.putForwardDialog.show = true; this.putForwardDialog.user_id = ''; this.putForwardDialog.userLabel = ''; this.putForwardDialog.money = 0; this.putForwardDialog.desc = ''; this.getUserList(); }, getUserList(){ let json = { limit: this.userDialog.limit, page: this.userDialog.nowPage } if (this.searchFrom.userId) { json.user_id = this.searchFrom.userId } if (this.searchFrom.nickName) { json.nickname = this.searchFrom.nickName } if (this.searchFrom.mobile) { json.mobile = this.searchFrom.mobile } getUserListApi(json).then(res=>{ this.userList = res.list; this.userDialog.total = res.total; }) }, confirmPutForward(){ let json = { user_id: this.putForwardDialog.user_id, money: this.putForwardDialog.money, desc: this.putForwardDialog.desc } this.$refs["refPutForward"].validate((valid) => { if (valid) { this.$confirm('确定保存?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(()=>{ payToUserApi(json).then(res=>{ this.$message({ type: 'success', message: '保存成功' }); this.getList(); this.putForwardDialog.show = false; }); }); } else { return false; } }); }, handleSelectionChange(a){ this.selectUserList = a }, onUserPageChange(val){ this.userDialog.nowPage = val this.getUserList() }, onUserSizeChange(val){ this.userDialog.limit = val this.userDialog.nowPage = 1; this.getUserList() }, } } </script> <style scoped> .putForward { padding: 20px 0; } .status{ color: #e9a038; } .status.red{ color: #c30005; } .status.green{ color: #00ac00; } .avatar{ width: 50px; margin-right: 5px; border-radius: 50%; height: 50px; } .el-popover__reference{ /* background: #c30005; */ max-width: 100%; } </style> <style> .el-popover__reference span{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; white-space:normal; } .f-c > .cell { display: flex !important; flex-flow: row; justify-content: flex-start; align-items: center; } </style>