Commit e3a5f04a authored by hanfeng's avatar hanfeng

app用户后台

parent f6d161b9
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-form :rules="rules" ref="queryForm" :model="listQuery" label-width="100px">
<el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item label="手机号">
......@@ -33,7 +33,7 @@
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入已预订日期范围">
placeholder="请选择注册时间范围">
</el-date-picker>
</el-form-item>
</el-col>
......@@ -41,7 +41,7 @@
<el-form-item label="用户来源">
<el-select class="filter-item" v-model="listQuery.source" placeholder="请选用户来源">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in sourceList " :key="val.id" :label="val.name"
<el-option v-for="(val, key, index) in sourceList" :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -49,8 +49,8 @@
</el-row>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click=""
type="primary" icon="edit">新增会员<!-- handleCreate-->
<el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click="newMember"
type="primary" icon="edit">新增会员
</el-button>
<el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click="bulkUpload"
......@@ -111,38 +111,46 @@
<!-- </el-table-column>-->
<el-table-column align="center" label="操作" width="400">
<template scope="scope">
<el-button v-if="userManager_btn_edit" size="small" type="success" @click="viewDetails(scope.row)">查看详情
<el-button size="small" type="success" @click="viewDetails(scope.row)">查看详情
</el-button>
<el-button v-if="userManager_btn_del" size="small" type="success" @click="">设置会员信息<!-- setMember(scope.row)-->
<el-button v-if="scope.row.status!=1" size="small" type="success" @click=" setMember(scope.row)">设置会员信息
</el-button>
<el-button v-if="userManager_btn_del" size="small" type="success" @click="">用户订单 <!-- handleDelete(scope.row)-->
<el-button v-if="scope.row.status!=1" size="small" type="success" @click="userOrder(scope.row)">用户订单
</el-button>
<el-button v-if="userManager_btn_del" size="small" type="danger" @click="handleDelete(scope.row)">设为禁用
<el-button v-if="scope.row.status!=1" size="small" type="danger" @click="disable(scope.row)">设为禁用
</el-button>
<el-button v-if="scope.row.status==1" size="small" type="danger" @click="available(scope.row)">取消禁用
</el-button>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<!-- 用户详细信息窗口-->
<el-dialog :visible.sync="detailsDialogFormVisible">
<span>用户详情</span>
<el-form :model="userDetails" :rules="rules" ref="form" label-width="100px">
<!-- 用户详细信息窗口-->
<el-dialog title="用户详情" :visible.sync="detailsDialogFormVisible" type="text" label-width="95px">
<el-form :model="userDetails" ref="form" label-width="95px">
<el-row>
<el-row>
<el-form-item v-if="userManager_btn_del" v label="基础信息">
<el-form-item v-if="userManager_btn_del" label="基础信息">
<span>(状态-正常)</span>
</el-form-item>
<el-form-item v-if="!userManager_btn_del" v label="基础信息">
<el-form-item v-if="!userManager_btn_del" label="基础信息">
<span>(状态-已禁用)</span>
</el-form-item>
</el-row>
<el-row>
<el-col :span="6">
<!-- <img src="{{userDetails.userId}}">-->
<div class="demo-type">
<el-avatar name="image" :size="60"
src="https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"
@error="errorHandler">
<img :src="userDetails.headimgurl"/>
</el-avatar>
</div>
</el-col>
<el-col :span="18">
<el-row>
......@@ -240,19 +248,19 @@
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="注册终端:">
<span>{{userDetails.channel}}</span>
<el-col :span="8">
<el-form-item label="最近充值时间:">
<span>{{userDetails.recentRecharge}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="注册时间:">
<span>{{userDetails.createTime}}</span>
<el-col :span="8">
<el-form-item label="赠送总天数:">
<span>{{userDetails.totalNumber}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最近登录时间:">
<span>{{userDetails.lastTime}}</span>
<el-col :span="8">
<el-form-item label="剩余总天数:">
<span>{{userDetails.rentFreeDays}}</span>
</el-form-item>
</el-col>
</el-row>
......@@ -275,7 +283,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="邀请人账号:">
<span>{{userDetails.inviterAccount}}</span>
<span>{{userDetails.inviter}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
......@@ -291,60 +299,209 @@
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancelNotDeleteForm()">确 定</el-button>
<el-button type="primary" @click="closeMembershipWindow">确 定</el-button>
</div>
</el-dialog>
<!-- 设置会员信息窗口-->
<el-dialog :visible.sync="memberArea">
<el-form :model="userMembershipInformation" :rules="rules" ref="form" label-width="100px">
<el-form-item label="会员等级" placeholder="会员等级" prop="password">
<el-input type="password" v-model="userMembershipInformation.password"></el-input>
<!-- 设置会员信息窗口-->
<el-dialog title="设置会员信息" :visible.sync="setMemberArea" class="member">
<el-form :model="userMembershipInformation" ref="userMembership" label-width="100px">
<el-row>
<el-col :span="16">
<el-form-item label="会员等级" prop="memberLevel">
<el-select class="filter-item" v-model="userMembershipInformation.memberLevel" placeholder="请选择会员等级">
<el-option v-for="(val, key, index) in memberLevelist " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="有效期" prop="validTime">
<el-radio-group v-model="validityType">
<el-radio-button label="无"></el-radio-button>
<el-radio-button label="永久"></el-radio-button>
<el-radio-button label="自定义"></el-radio-button>
</el-radio-group>
<dir></dir>
<div class="block" v-if="validityType=='自定义'">
<el-date-picker
v-model="validTime"
type="datetime"
placeholder="请选择注册时间范围">
</el-date-picker>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="充值次数/次" prop="buyCount">
<el-input type="text" :disabled="true" v-model="userMembershipInformation.buyCount"
placeholder="请填写充值次数"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="赠送天数/天" prop="totalNumber">
<el-input type="text" v-model="userMembershipInformation.totalNumber" placeholder="请填写赠送天数"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="剩余天数/天" prop="rentFreeDays" placeholder="请填写剩余天数">
<el-input type="text" v-model="userMembershipInformation.rentFreeDays"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancelSetMemberArea('userMembership')">取消</el-button>
<el-button type="primary" @click="saveMember('userMembership')">确 定</el-button>
</div>
</el-dialog>
<!-- 新建会员窗口-->
<el-dialog title="新建会员" :visible.sync="newMemberArea" width="10%">
<el-form :model="newMemberObject" :rules="newMemberObjectVerify" ref="nmo" label-width="100px">
<el-form-item label="会员等级">
<el-select class="filter-item" v-model="newMemberObject.memberLevel" placeholder="选择会员等级">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in memberLevelist " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号" placeholder="手机号" prop="phone">
<el-input size="small " type="text" v-model="newMemberObject.phone"></el-input>
</el-form-item>
<el-form-item label="免费天数" placeholder="免费天数" prop="totalNumber">
<el-input size="small " type="text" v-model="newMemberObject.totalNumber"></el-input>
</el-form-item>
<el-form-item label="剩余天数" placeholder="剩余天数" prop="rentFreeDays">
<el-input size="small " type="text" v-model="newMemberObject.rentFreeDays"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel('form')">确 定</el-button>
<!-- <el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>-->
<!-- <el-button v-else type="primary" @click="update('form')">确 定</el-button>-->
<el-button type="primary" @click="cancelNewMemberArea('nmo')">取消</el-button>
<el-button type="primary" @click="setNewMemberObject('nmo')">确 定</el-button>
</div>
</el-dialog>
<!-- 用户订单窗口-->
<el-dialog :visible.sync="userOrderForm">
<el-form :model="userOrderMessage" :rules="rules" ref="form" label-width="100px">
<!-- <el-form-item label="会员等级" placeholder="会员等级" prop="password">-->
<!-- <el-input type="password" v-model="userMembershipInformation.password"></el-input>-->
<!-- </el-form-item>-->
<!-- 用户订单窗口-->
<el-dialog title="用户订单详情" :visible.sync="userOrderForm">
<div class="filter-container">
<el-form ref="queryForm" :model="orderQuery" label-width="100px">
<el-row>
<el-col :span="7">
<el-form-item label="订单类型">
<el-select class="filter-item" v-model="orderQuery.type" placeholder="请选订单装太">
<el-option :key="undefined" label="所有订单" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in orderTypeList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="订单状态">
<el-select class="filter-item" v-model="orderQuery.status" placeholder="请选会员类型">
<el-option :key="undefined" label="所有订单" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in orderStatusList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-button class="filter-item" type="primary" v-waves icon="search" @click="userOrder">搜索</el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-form :model="userOrderMessage" ref="alterUserOrder" label-width="100px">
<el-table
:data="orderData"
style="width: 100%"
:row-class-name="tableRowClassName">
<el-table-column
prop="no"
label="订单号"
style="width: 100%" align="center">
</el-table-column>
<el-table-column
prop="type"
label="订单类型"
width="180" align="center">
</el-table-column>
<el-table-column
prop="status"
label="订单状态" align="center">
</el-table-column>
<el-table-column
prop="crtTime"
label="下单时间" align="center">
</el-table-column>
<el-table-column
prop="updTime"
label="修改时间" align="center">
</el-table-column>
<el-table-column
label="操作"
align="center">
<el-button size="small" type="success">查看详情
</el-button>
</el-table-column>
</el-table>
</el-form>
<div v-show="!orderListLoading" class="pagination-container">
<el-pagination @size-change="orderSizeChange" @current-change="orderCurrentChange"
:current-page.sync="orderQuery.page" :page-sizes="[10,20,30, 50]" :page-size="orderQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="orderTotal"></el-pagination>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel('form')">确 定</el-button>
<!-- <el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>-->
<!-- <el-button v-else type="primary" @click="update('form')">确 定</el-button>-->
<el-button type="primary" @click="cancelOrder('alterUserOrder')">确 定</el-button>
</div>
</el-dialog>
<!--批量导入会员窗口-->
<el-dialog :visible.sync="bulkUploadMember">
<el-form ref="upload" label-width="100px">
<!--批量导入会员窗口-->
<el-dialog title="导入会员" :visible.sync="bulkUploadMember">
<el-form :model="fileForm">
<el-form-item label="上传文件" :label-width="formLabelWidth">
<el-button type="primary" icon="el-icon-download">
<a class="el-icon-download" :href="BASE_API+'/api/admin/admin/member/app/unauth/user/excel_model/dowload'">下载模板
</a>
</el-button>
<el-upload
class="upload-demo"
ref="upload"
:action="BASE_API+'/api/admin/member/user/export'"
:on-preview="handlePreview"
ref="uploadExcel"
:limit=limitNum
action="1111"
:headers="getHeaderWithToken"
accept=".xlsx"
:http-request="upLoad"
:on-remove="handleRemove"
:file-list="fileList"
:auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">只能上传xlsx格式文件</div>
:before-remove="beforeRemove"
:before-upload="beforeUploadFile"
:on-change="fileChange"
:on-exceed="exceedFile"
:file-list="fileList">
<el-button size="small" type="primary" icon="el-icon-edit">上传文件<i class="el-icon-upload el-icon--right">
</i></el-button>
<div slot="tip" class="el-upload__tip">只能上传xlsx(Excel2007以上版本)文件,且不超过10M</div>
</el-upload>
<el-button size="small" class="filter-item" type="primary" @click="cancelNotDeleteForm">取消</el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancelNotDeleteForm('upload')">关闭</el-button>
</div>
</el-dialog>
<!-- <book-info-viewer ref="bookInfoViewer"></book-info-viewer>-->
......@@ -354,145 +511,167 @@
<script>
import {
page,
addObj,
getObj,
delObj,
putObj
appPage,
seveObj,
setDisable,
setAvailable
} from 'src/api/admin/userManagement/index';
import {getToken} from 'src/utils/auth';
import {mapGetters} from 'vuex';
import {getUserMemberByUserId} from 'src/api/admin/baseUserMember/index';
import {
getAllCompany,
getAll
} from 'src/api/base_info/branch_company/index';
import {timestamp2Date} from 'src/utils/dateUtils';
import {fetchTree} from 'src/api/admin/group/index';
import {page} from 'src/api/order/memeber';
import {
UploadMembershipList,
saveNewMemberObject
} from 'src/api/admin/UserMember/index';
export default {
name: 'user',
data() {
return {
fileList:[],
userMembershipInformation:{},
userOrderMessage:{},
mobileList: [],
memberLevelist: [],
sourceList: [],
orderData: [],
validTime: '',
userMembershipInformation: {
memberLevel: undefined,
validTime: '',
buyCount: undefined,
totalNumber: undefined,
rentFreeDays: undefined,
id: undefined,
userId: undefined
},
saveUserId: undefined,
validityType: '无',
userOrderMessage: {},
mobileList: [{id: 1, name: 'app'}, {id: 2, name: "小程序"}],
memberLevelist: [{id: 1, name: '普通会员'}, {id: 2, name: '黄金会员'}, {id: 3, name: '钻石会员'}],
sourceList: [{id: 1, name: '自来'}, {id: 2, name: '用户邀请'}],
orderStatusList: [
{id: 1, name: '删除'},
{id: 2, name: '创建订单'},
{id: 3, name: '取消'},
{id: 4, name: '待付款'},
{id: 5, name: '待出行'},
{id: 6, name: '出行中'},
{id: 7, name: '已完成'}
],
orderTypeList: [
{id: 1, name: '旅游'},
{id: 2, name: '租车'},
{id: 3, name: '会员订单'}
],
BASE_API: process.env.BASE_API,
userDetails: {
userDetails: {},
limitNum: 1,
formLabelWidth: '80px',
fileForm: {
file: ''
},
rules: {
name: [
{
required: true,
message: '请输入用户',
trigger: 'blur'
fileList: [],
errorHandler: true,
list: null,
total: null,
orderTotal: null,
listLoading: true,
orderListLoading: true,
newMemberObject: {
phone: undefined,
memberLevel: undefined,
totalNumber: undefined,
rentFreeDays: undefined
},
{
min: 3,
max: 20,
message: '长度在 3 到 20 个字符',
trigger: 'blur'
}
],
username: [
orderQuery: {
limit: 10,
page: 1,
userId: undefined,
type: undefined,
status: undefined
},
newMemberObjectVerify: {
phone: [
{
required: true,
message: '请输入账户',
message: '手机号',
trigger: 'blur'
},
{
min: 3,
max: 20,
message: '长度在 3 到 20 个字符',
trigger: 'blur'
}
],
password: [
memberLevel: [
{
required: true,
message: '请输入密码',
message: '会员等级',
trigger: 'blur'
},
{
min: 5,
max: 20,
message: '长度在 5 到 20 个字符',
trigger: 'blur'
}
],
status: [
totalNumber: [
{
type: 'integer',
required: true,
message: '请选择',
message: '免费天数',
trigger: 'blur'
}
},
],
zoneId: [
rentFreeDays: [
{
type: 'integer',
required: true,
message: '请选择',
message: '剩余总天天数',
trigger: 'blur'
}
},
],
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
mobileList: undefined,
mobile: undefined,
memberLevel: undefined,
registrationDate: undefined,
source: undefined,
channel: undefined,
registrationTimeEnd: undefined,
registrationTimeBegin: undefined,
registrationDate: undefined
},
source: {
0: '自来',
1: '用户邀请'
},
terminal: {
1: 'app',
2: '小程序'
},
orderStatus: {
0: '删除',
1: '创建订单',
2: '取消',
3: '待付款',
4: '待出行',
5: '出行中',
6: '已完成',
},
orderType: {
1: '旅游',
2: '租车',
3: '会员订单'
},
sexOptions: ['男', '女'],
zoneOptions: ['男', '女'],
dataOptions: [{id: "1", val: "所属分公司"}, {id: "2", val: "所属片区"}, {id: "3", val: "所有数据"}],
statusOptions: [{id: 1, val: '开启'}, {id: 2, val: '禁用'}],
detailsDialogFormVisible: false,
memberArea: false,
userOrderForm:false,
bulkUploadMember:false,
setMemberArea: false,
newMemberArea: false,
userOrderForm: false,
bulkUploadMember: false,
dialogStatus: '',
userManager_btn_edit: false,
userManager_btn_del: false,
userManager_btn_add: false,
allCompanies: {},
allCompaniesArr: [],
myGroups: [],
loading: false,
textMap: {
update: '编辑',
create: '创建'
},
tableKey: 0,
tableKey: 0,
selectedAccItem: undefined
}
},
created() {
this.getList();
getAll()
.then(response => {
this.allCompaniesArr = response.data;
})
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
this.userManager_btn_edit = this.elements['userManager:btn_edit'];
this.userManager_btn_del = this.elements['userManager:btn_del'];
this.userManager_btn_add = this.elements['userManager:btn_add'];
}
,
computed: {
......@@ -505,97 +684,126 @@
*/
getHeaderWithToken() {
return {Authorization: getToken()};
}
},
}
,
methods: {
/**
* 上传excel文件方法(批量导入会员)
*/
submitUpload() {
this.$refs.upload.submit();
this.$refs.upload.clearFiles();
},
/**
* 删除
* 上传
*/
upLoad(file) {
var form = new FormData();
// 文件对象
form.append("file", file.file);
UploadMembershipList(form)
.then(res => {
if (res.rel) {
this.$notify.success({
title: '上传成功',
message: `success`
})
} else {
this.$notify.warning({
title: '上传失败',
message: `failed`
})
}
this.getList();
})
},
//excel上传
handleRemove(file, fileList) {
console.log(file, fileList);
},
/**
* 预览
*/
handlePreview(file) {
console.log(file);
},
/**
* 弹出导入窗体
*/
bulkUpload(){
this.bulkUploadMember=true
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
/**
*
* @param query
*/
remoteGroupsMethod(query) {
if (query !== '') {
this.loading = true;
this.loading = false;
fetchTree({
name: query
}).then(response => {
this.myGroups = response;
// this.total = response.data.total;
this.loading = false;
// 文件超出个数限制时的钩子
exceedFile(files, fileList) {
this.$notify.warning({
title: '警告',
message: `只能选择 ${this.limitNum} 个文件,当前共选择了 ${files.length + fileList.length} 个`
});
},
// 文件状态改变时的钩子
fileChange(file, fileList) {
console.log('change')
console.log(file)
this.fileForm.file = file.raw
console.log(this.fileForm.file)
console.log(fileList)
},
// 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
beforeUploadFile(file) {
console.log('before upload')
console.log(file)
let extension = file.name.substring(file.name.lastIndexOf('.') + 1)
let size = file.size / 1024 / 1024
if (extension !== 'xlsx') {
this.$notify.warning({
title: '警告',
message: `只能上传Excel 2007以上版本(即后缀是.xlsx)的文件`
});
} else {
this.myGroups = [];
}
if (size > 10) {
this.$notify.warning({
title: '警告',
message: `文件大小不得超过10M`
});
}
,
},
/**
* 弹出导入窗体
*/
bulkUpload() {
this.bulkUploadMember = true
},
/**
* 获取用户列表
*/
getList() {
this.listLoading = true;
page(this.listQuery)
.then(response => {
let query = JSON.parse(JSON.stringify(this.listQuery))
query.source = query.source ? query.source - 1 : ''
JSON.stringify(query)
appPage(query)
.then(response => {
for (let listKey of response.data.list) {
if (listKey.timeOfMembership != undefined && listKey.timeOfMembership != '') {
listKey.timeOfMembership = timestamp2Date(listKey.timeOfMembership);
}
if (listKey.recentRecharge != undefined && listKey.recentRecharge != '') {
listKey.recentRecharge = timestamp2Date(listKey.recentRecharge);
}
if (listKey.lastTime != undefined && listKey.lastTime != '') {
listKey.lastTime = timestamp2Date(listKey.lastTime);
}
if (listKey.createTime != undefined && listKey.createTime != '') {
listKey.createTime = timestamp2Date(listKey.createTime);
}
if (listKey.buyCount != undefined && listKey.buyCount != '') {
listKey.buyCount = 0;
}
if (listKey.source == 0) {
listKey.source = "自来"
}
if (listKey.source == 1) {
listKey.source = "用户邀请"
}
listKey = this.getListKey(listKey)
}
this.list = response.data.list;
this.total = response.data.total;
this.listLoading = false;
})
}
,
},
/**
*
* 处理返回的列表的参数
*/
getListKey(listKey) {
listKey.timeOfMembership = listKey.timeOfMembership ? timestamp2Date(listKey.timeOfMembership) : '';
listKey.recentRecharge = listKey.recentRecharge ? timestamp2Date(listKey.recentRecharge) : '';
listKey.lastTime = listKey.lastTime ? timestamp2Date(listKey.lastTime) : '';
listKey.createTime = listKey.createTime ? timestamp2Date(listKey.createTime) : '';
listKey.buyCount = listKey.buyCount ? listKey.buyCount : 0;
listKey.channel = this.terminal[listKey.channel];
listKey.source = this.source[listKey.source];
listKey.validTime = listKey.validTime ? ((listKey.validTime == 0) ? '永久' : listKey.validTime) : '无';
},
/**
*查询
*/
handleFilter() {
this.listQuery.registrationTimeBegin = this.listQuery.registrationDate ? (new Date(this.listQuery.registrationDate[0]).getTime()) / 1000 : null
this.listQuery.registrationTimeEnd = this.listQuery.registrationDate ? (new Date(this.listQuery.registrationDate[1]).getTime()) / 1000 : null
alert(JSON.stringify(this.listQuery))
this.getList();
}
,
......@@ -610,7 +818,6 @@
}
,
handleCreate() {
this.resetTemp();
this.dialogStatus = 'create';
// this.dialogFormVisible = true;
},
......@@ -619,20 +826,90 @@
* @param row
*/
viewDetails(row) {
// alert(JSON.stringify(row))
this.userDetails = row
this.detailsDialogFormVisible = true
}
,
/**
* 设置会员
* 显示设置会员窗口
* @param row
*/
setMember(row) {
this.userMembershipInformation = {}
this.saveUserId = row.userId
getUserMemberByUserId(row.userId).then(response => {
if (response.data.validTime == 0) {
this.validityType = '永久'
} else if (response.data.validTime) {
this.validityType = '自定义'
response.data.validTime = timestamp2Date(response.data.validTime);
} else {
this.validityType = '无'
}
this.userMembershipInformation = response.data
this.memberArea=true
this.validTime = response.data.validTime
console.log(this.userMembershipInformation)
this.setMemberArea = true
})
this.userMembershipInformation.userId = this.saveUserId
},
/**
* 提交会员修改
* @param formName
*/
saveMember(formName) {
let date = new Date(this.validTime);
this.userMembershipInformation.validTime = date.getTime()
console.log(this.userMembershipInformation)
seveObj(this.userMembershipInformation).then(res => {
if (res.rel) {
this.$notify.success({
title: '修改成功',
message: `success`
})
} else {
this.$notify.warning({
title: '修改成功',
message: `failed`
})
}
this.setMemberArea = false
this.$refs[formName].resetFields()
this.getList();
})
},
/**
* 显示新增会员窗口
* @param row
*/
newMember() {
this.newMemberArea = true
},
/**
* 提交新增会员
*
*/
setNewMemberObject(formName) {
saveNewMemberObject(this.newMemberObject)
.then(res => {
if (res.rel) {
this.$notify.success({
title: '新增成功',
message: `success`
})
} else {
this.$notify.warning({
title: '新增失败',
message: `failed`
})
}
this.newMemberArea = false
this.$refs[formName].resetFields()
this.getList();
}
)
},
create(formName) {
......@@ -660,92 +937,131 @@
}
,
/**
* 关闭窗口,不需要清除表单
* 关闭窗口,清除批量上传
*/
cancelNotDeleteForm(){
cancelNotDeleteForm() {
this.bulkUploadMember = false;
this.$refs.uploadExcel.clearFiles();
},
closeMembershipWindow() {
this.detailsDialogFormVisible = false;
this.bulkUploadMember=false;
this.$refs.upload.clearFiles();
},
/**
* 关闭窗口,需要清除表单
*/
cancel(formName) {
//设置会员
cancelSetMemberArea(formName) {
this.setMemberArea = false
this.validityType = '永久'
this.$refs[formName].resetFields();
},
//新增会员
cancelNewMemberArea(formName) {
this.newMemberArea = false
this.$refs[formName].resetFields();
},
/**
* 获取用户订单列表
*/
userOrder(row) {
this.saveUserId = row.userId ? row.userId : this.saveUserId
this.orderQuery.userId = this.saveUserId
let query = JSON.parse(JSON.stringify(this.orderQuery))
query.status = query.status ? query.status - 1 : null
alert(JSON.stringify(query))
page(query).then(
res => {
this.disposeOrderList(res.data.data)
this.orderData = res.data.data
this.orderTotal = res.data.totalCount
this.userOrderForm = true;
this.orderListLoading = false
})
},
/**
* 点击确定按钮,关闭订单列表
*/
cancelOrder(formName) {
this.userOrderForm = false
if (!this.$refs[formName]) {
this.$refs[formName].resetFields();
}
,
querySearch(queryString, cb) {
let selectArry = [];
this.allCompaniesArr.map(function (item) {
item.value = item.name;
selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
}
,
handleSelect1(item) {
if (item.value == "全部") {
this.form.companyId = undefined;
} else {
this.form.companyId = item.id;
}
console.log(item);
},
/**
* 处理响应数据
*/
disposeOrderList(data) {
if (data) {
for (let key of data) {
key.type = key.type ? this.orderType[key.type] : '/';
key.status = key.status ? this.orderStatus[key.status] : '/';
}
,
createFilter(queryString) {
return (restaurant) => {
return (restaurant.name.indexOf(queryString.toLowerCase()) != -1);
};
return null;
}
,
update(formName) {
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
// this.dialogFormVisible = false;
if (this.form.passwordEdit) {
this.form.password = this.form.passwordEdit;
this.form.passwordEdit = undefined;
} else {
this.form.password = undefined;
},
orderSizeChange(val) {
this.orderQuery.limit = val;
this.userOrder(this.orderQuery);
},
orderCurrentChange(val) {
this.orderQuery.page = val;
this.userOrder(this.orderQuery);
},
disable(obj){
setDisable(obj.userId).then(res=> {
if (res.rel){
this.$notify.success({
title: '成功',
message: `success`
})
}else {
this.$notify.warning({
title: '失败',
message: `failed`
})
}
putObj(this.form.id, this.form).then(() => {
// this.dialogFormVisible = false;
this.getList();
this.form.password = undefined;
this.$notify({
this.getList()
})
},
/**
* 设置为禁用取消禁用
*/
available(obj){
setAvailable(obj.userId).then(res=>{
if (res.rel){
this.$notify.success({
title: '成功',
message: '编辑成功',
type: 'success',
duration: 2000
});
});
} else {
return false;
message: `success`
})
}else {
this.$notify.warning({
title: '失败',
message: `failed`
})
}
});
this.getList()
})
},
tableRowClassName({row, rowIndex}) {
if (rowIndex/2==0) {
return 'warning-row';
}
,
resetTemp() {
this.form = {
username: undefined,
name: undefined,
sex: '男',
status: 1,
zoneId: undefined,
passwordEdit: undefined,
companyId: undefined,
state2: '',
password: "",
description: undefined,
dataLimit: [],
members: [],
};
// else if (rowIndex === 3) {
// return 'success-row';
// }
return '';
}
}
}
</script>
<style>
.member .el-dialog--small {
width: 500px;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment