Commit 0395e0bc authored by 罗超's avatar 罗超

1

parent 07942665
<template>
<div>
<el-form label-width="100px">
<div v-for="(item, index) in detailList" :key="index">
<el-form-item :label="item.prop" v-if="item.type == 1">{{
data[item.field]
}}</el-form-item>
<el-form-item :label="item.prop" v-if="item.type == 2">
<el-image
style="width: 200px; height: auto"
:src="data[item.field]"
:fit="fit"
></el-image>
</el-form-item>
<el-form-item :label="item.prop" v-if="item.type == 3" class="imgList">
<div v-for="(subItem, subIndex) in data[item.field]" :key="subIndex">
<el-image
style="width: 200px; height: auto"
:src="subItem"
:fit="fit"
></el-image>
</div>
</el-form-item>
</div>
</el-form>
</div>
</template>
<script>
export default {
props: {
data: Object,
default: {},
},
data() {
return {
detailList: [
//type:1.字符串,2.图片,3.数组
{ prop: "姓名:", field: "RealName", type: 1 },
{ prop: "姓别:", field: "SexStr", type: 1 },
{ prop: "年龄:", field: "Age", type: 1 },
{ prop: "学历:", field: "EducationType", type: 1 },
{ prop: "出生日期:", field: "Birthday", type: 1 },
{ prop: "生肖:", field: "ShenXiao", type: 1 },
{ prop: "星座:", field: "ConoldBaseInfostellation", type: 1 },
{ prop: "体重:", field: "Weight", type: 1 },
{ prop: "身高:", field: "Height", type: 1 },
{ prop: "籍贯:", field: "NativePlace", type: 1 },
{ prop: "户口所在地:", field: "HuKou", type: 1 },
{ prop: "身份证号:", field: "IDCardNo", type: 1 },
{ prop: "身份证正面照:", field: "IDCard", type: 2 },
{ prop: "身份证反面照:", field: "IDCardBack", type: 2 },
{ prop: "毕业院校:", field: "SchoolInfo", type: 1 },
{ prop: "专业:", field: "MajorInfo", type: 1 },
{ prop: "职业:", field: "Job", type: 1 },
{ prop: "年薪:", field: "YearMoney", type: 1 },
{ prop: "房产信息:", field: "HouseInfo", type: 1 },
{ prop: "车辆信息:", field: "CarInfo", type: 1 },
{ prop: "母亲信息:", field: "MotherInfo", type: 1 },
{ prop: "父亲信息:", field: "FatherInfo", type: 1 },
{ prop: "其他家庭成员:", field: "OtherPople", type: 1 },
{ prop: "爱情宣言:", field: "IdealLove", type: 1 },
{ prop: "其它信息介绍:", field: "About", type: 1 },
{ prop: "照片墙:", field: "AlbumList", type: 3 },
],
};
},
methods: {},
};
</script>
<style >
.imgList {
display: flex;
flex-wrap: wrap;
}
</style>
\ No newline at end of file
......@@ -3,155 +3,373 @@
<div class="head-title">
用户管理
<el-button @click="dialogVisible=true" style="float:right;margin-top: -5px;" size="small" type="primary">批量导出
<el-button
@click="dialogVisible = true"
style="float: right; margin-top: -5px"
size="small"
type="primary"
>批量导出
</el-button>
<el-button @click="addusers" style="float:right;margin-top: -5px;margin-right: 10px" size="small" type="primary">新增
<el-button
@click="addusers"
style="float: right; margin-top: -5px; margin-right: 10px"
size="small"
type="primary"
>新增
</el-button>
</div>
<div class="content">
<div>
<el-select class="w100" @change="msg.pageIndex=1,getList()" style="margin-right: 10px;" v-model="msg.MemberGrade" size="small"
placeholder="请选择">
<el-select
class="w100"
@change="(msg.pageIndex = 1), getList()"
style="margin-right: 10px"
v-model="msg.MemberGrade"
size="small"
placeholder="请选择"
>
<el-option label="全部会员" :value="0"></el-option>
<el-option v-for="item in memberGradeList" :key="item.Id" :label="item.Name" :value="item.Id">
<el-option
v-for="item in memberGradeList"
:key="item.Id"
:label="item.Name"
:value="item.Id"
>
</el-option>
</el-select>
<el-select class="w100" @change="msg.pageIndex=1,getList()" style="margin-right: 10px;" v-model="msg.Source" size="small"
placeholder="请选择">
<el-select
class="w100"
@change="(msg.pageIndex = 1), getList()"
style="margin-right: 10px"
v-model="msg.Source"
size="small"
placeholder="请选择"
>
<el-option label="全部平台" :value="0"></el-option>
<el-option v-for="item in platList" :key="item.Id" :label="item.Name" :value="item.Id">
<el-option
v-for="item in platList"
:key="item.Id"
:label="item.Name"
:value="item.Id"
>
</el-option>
</el-select>
<div class="searchInput" style="width:150px">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" @clear="msg.pageIndex=1,getList()" style="display:inline-block;width:125px;height:30px" placeholder="请输入ID" v-model="msg.Id"
size="small" clearable>
<div class="searchInput" style="width: 150px">
<el-input
@keyup.enter.native="(msg.pageIndex = 1), getList()"
@clear="(msg.pageIndex = 1), getList()"
style="display: inline-block; width: 125px; height: 30px"
placeholder="请输入ID"
v-model="msg.Id"
size="small"
clearable
>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search"
style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
<span
@click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div>
<div class="searchInput" style="width:150px">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" @clear="msg.pageIndex=1,getList()" style="display:inline-block;width:125px;height:30px" placeholder="请输入昵称" v-model="msg.Name"
size="small" clearable>
<div class="searchInput" style="width: 150px">
<el-input
@keyup.enter.native="(msg.pageIndex = 1), getList()"
@clear="(msg.pageIndex = 1), getList()"
style="display: inline-block; width: 125px; height: 30px"
placeholder="请输入昵称"
v-model="msg.Name"
size="small"
clearable
>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search"
style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
<span
@click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div>
<div class="searchInput" style="width:150px">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" @clear="msg.pageIndex=1,getList()" style="display:inline-block;width:125px;height:30px" placeholder="请输入手机号" v-model="msg.Moblie"
size="small" clearable>
<div class="searchInput" style="width: 150px">
<el-input
@keyup.enter.native="(msg.pageIndex = 1), getList()"
@clear="(msg.pageIndex = 1), getList()"
style="display: inline-block; width: 125px; height: 30px"
placeholder="请输入手机号"
v-model="msg.Moblie"
size="small"
clearable
>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search"
style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
<span
@click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div>
<el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange" range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
<el-date-picker
v-model="dateList"
@change="(msg.pageIndex = 1), getList()"
size="small"
type="datetimerange"
range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
<el-table :data="tableData" v-loading="loading" border style="width: 100%;margin:20px 0">
<el-table-column prop="Id" label="ID" width="100">
</el-table-column>
<el-table
:data="tableData"
v-loading="loading"
border
style="width: 100%; margin: 20px 0"
>
<el-table-column prop="Id" label="ID" width="100"> </el-table-column>
<el-table-column prop="address" width="280" label="头像">
<template slot-scope="scope">
<div class="app-image" :style="{backgroundImage:'url(' + scope.row.Photo + ')',backgroundSize:'cover'}">
</div>
<div
class="app-image"
:style="{
backgroundImage: 'url(' + scope.row.Photo + ')',
backgroundSize: 'cover',
}"
></div>
<div flex="dir:left cross:center">
{{scope.row.Name}}
<span v-if="scope.row.AliasName && scope.row.AliasName!=''" class="remark_name">备注名:{{scope.row.AliasName}}</span>
{{ scope.row.Name }}
<span
v-if="scope.row.AliasName && scope.row.AliasName != ''"
class="remark_name"
>备注名:{{ scope.row.AliasName }}</span
>
</div>
<img v-if="scope.row.Source==1" style="width:24px;height:24px" src="../../assets/img/userman/wx.png" alt=""
class="platform-img">
<button type="button" class="el-button el-button--success" style="float: right; padding: 5px !important;">
<span @click="ChangeOpenidState(scope.$index, scope.row)">显示OpenId</span>
<img
v-if="scope.row.Source == 1"
style="width: 24px; height: 24px"
src="../../assets/img/userman/wx.png"
alt=""
class="platform-img"
/>
<button
type="button"
class="el-button el-button--success"
style="float: right; padding: 5px !important"
>
<span @click="ChangeOpenidState(scope.$index, scope.row)"
>显示OpenId</span
>
</button>
<div v-show="scope.row.OpenIdState">{{scope.row.OpenId}}</div>
<div v-show="scope.row.OpenIdState">{{ scope.row.OpenId }}</div>
</template>
</el-table-column>
<el-table-column prop="PostName" label="职位">
</el-table-column>
<el-table-column prop="PostName" label="职位"> </el-table-column>
<el-table-column label="会员类型">
<template slot-scope="scope">
<span>{{scope.row.MemberGradeName}}
<span>
<el-tag v-if="scope.row.UserPageTypeStr=='全部'" size="mini">{{scope.row.UserPageTypeStr}}</el-tag>
<el-tag v-if="scope.row.UserPageTypeStr=='商城'" type="success" size="mini">{{scope.row.UserPageTypeStr}}</el-tag>
<el-tag v-if="scope.row.UserPageTypeStr=='校园'" type="danger" size="mini">{{scope.row.UserPageTypeStr}}</el-tag>
</span>
<span
>{{ scope.row.MemberGradeName }}
<span>
<el-tag
v-if="scope.row.UserPageTypeStr == '全部'"
size="mini"
>{{ scope.row.UserPageTypeStr }}</el-tag
>
<el-tag
v-if="scope.row.UserPageTypeStr == '商城'"
type="success"
size="mini"
>{{ scope.row.UserPageTypeStr }}</el-tag
>
<el-tag
v-if="scope.row.UserPageTypeStr == '校园'"
type="danger"
size="mini"
>{{ scope.row.UserPageTypeStr }}</el-tag
>
</span>
</span>
</template>
</el-table-column>
<el-table-column prop="name" label="订单数">
<template slot-scope="scope">
<span @click="CommonJump('orderList',{TypeId:4,UserId:scope.row.Id})" class="blue point">{{scope.row.OrderNum}}</span>
<span
@click="
CommonJump('orderList', { TypeId: 4, UserId: scope.row.Id })
"
class="blue point"
>{{ scope.row.OrderNum }}</span
>
</template>
</el-table-column>
<el-table-column prop="name" label="优惠券数量">
<template slot-scope="scope">
<span @click="CommonJump('usersCoupon',{UserId:scope.row.Id})" class="blue point">{{scope.row.CouponsNum}}</span>
<span
@click="CommonJump('usersCoupon', { UserId: scope.row.Id })"
class="blue point"
>{{ scope.row.CouponsNum }}</span
>
</template>
</el-table-column>
<el-table-column prop="name" label="卡券数量">
<template slot-scope="scope">
<span class="blue point">{{scope.row.CardVolumeNum}}</span>
<span class="blue point">{{ scope.row.CardVolumeNum }}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="余额">
<template slot-scope="scope">
<span @click="CommonJump('balanceBudget')" class="blue point">{{scope.row.Balance}}</span>
<span @click="CommonJump('balanceBudget')" class="blue point">{{
scope.row.Balance
}}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="积分">
<template slot-scope="scope">
<span @click="CommonJump('IntegralRecord',{UserId:scope.row.Id})" class="blue point">{{scope.row.Integral}}</span>
<span
@click="CommonJump('IntegralRecord', { UserId: scope.row.Id })"
class="blue point"
>{{ scope.row.Integral }}</span
>
</template>
</el-table-column>
<el-table-column prop="CreateDate" width="150" label="加入时间">
</el-table-column>
<el-table-column prop="address" width="200" label="操作">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="编辑" placement="top">
<img @click="EditgoUrl(scope.row)" style="width:32px;height:32px" src="../../assets/img/userman/edit.png"
alt="">
<el-tooltip
class="item"
effect="dark"
content="编辑"
placement="top"
>
<img
@click="EditgoUrl(scope.row)"
style="width: 32px; height: 32px"
src="../../assets/img/userman/edit.png"
alt=""
/>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="充值积分" placement="top">
<img @click="OpenczjfDig(scope.row,1)" style="width:32px;height:32px;margin:0 10px"
src="../../assets/img/userman/integral.png" alt="">
<el-tooltip
class="item"
effect="dark"
content="充值积分"
placement="top"
>
<img
@click="OpenczjfDig(scope.row, 1)"
style="width: 32px; height: 32px; margin: 0 10px"
src="../../assets/img/userman/integral.png"
alt=""
/>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="充值余额" placement="top">
<img @click="OpenczjfDig(scope.row,2)" style="width:32px;height:32px"
src="../../assets/img/userman/balance.png" alt="">
<el-tooltip
class="item"
effect="dark"
content="充值余额"
placement="top"
>
<img
@click="OpenczjfDig(scope.row, 2)"
style="width: 32px; height: 32px"
src="../../assets/img/userman/balance.png"
alt=""
/>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="二维码" placement="top">
<img @click="showQRcode(scope.row)" style="width:32px;height:32px"
src="../../assets/img/userman/QRcode.png" alt="">
<el-tooltip
class="item"
effect="dark"
content="二维码"
placement="top"
>
<img
@click="showQRcode(scope.row)"
style="width: 32px; height: 32px"
src="../../assets/img/userman/QRcode.png"
alt=""
/>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="查看详情"
placement="top"
>
<img
@click="showDetail(scope.row)"
style="width: 32px; height: 32px"
src="../../assets/img/userman/QRcode.png"
alt=""
/>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize" :current-page.sync="msg.pageIndex"
layout="total,prev, pager, next" :total="total">
<el-pagination
style="text-align: right"
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
:current-page.sync="msg.pageIndex"
layout="total,prev, pager, next"
:total="total"
>
</el-pagination>
</div>
<!-- 选择导出信息 -->
<el-dialog title="选择导出信息" :visible.sync="dialogVisible" width="960px">
<el-form style="border: 1px solid #F0F2F7;" :model="addMsg" ref="addMsg" label-width="100px">
<el-form
style="border: 1px solid #f0f2f7"
:model="addMsg"
ref="addMsg"
label-width="100px"
>
<div
style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选
style="
box-sizing: border-box;
background-color: #f3f5f6;
width: 100%;
padding-left: 20px;
height: 50px;
line-height: 50px;
"
>
<el-checkbox
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange"
>全选
</el-checkbox>
</div>
<div style="margin: 15px 0;"></div>
<div style="padding: 10px 25px 20px;">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox style="margin-bottom:10px;width:135px" v-for="city in cities" :label="city.Id" :key="city.Name">
{{city.Name}}</el-checkbox>
<div style="margin: 15px 0"></div>
<div style="padding: 10px 25px 20px">
<el-checkbox-group
v-model="checkedCities"
@change="handleCheckedCitiesChange"
>
<el-checkbox
style="margin-bottom: 10px; width: 135px"
v-for="city in cities"
:label="city.Id"
:key="city.Name"
>
{{ city.Name }}</el-checkbox
>
</el-checkbox-group>
</div>
</el-form>
<div style="text-align:right;margin-top:20px">
<div style="text-align: right; margin-top: 20px">
<el-button size="small" type="primary" @click="Export">导出</el-button>
</div>
</el-dialog>
......@@ -166,17 +384,35 @@
<el-radio v-model="addMsg.Type" :label="1">充值</el-radio>
<el-radio v-model="addMsg.Type" :label="2">扣除</el-radio>
</el-form-item>
<el-form-item v-if="czType==1" label="积分数" prop="Integral">
<el-input @keyup.native="checkInteger(addMsg,'Integral')" size="small" v-model="addMsg.Integral"></el-input>
<el-form-item v-if="czType == 1" label="积分数" prop="Integral">
<el-input
@keyup.native="checkInteger(addMsg, 'Integral')"
size="small"
v-model="addMsg.Integral"
></el-input>
</el-form-item>
<el-form-item v-if="czType==2" label="充值金额" prop="Balance">
<el-input @keyup.native="checkInteger(addMsg,'Balance')" size="small" v-model="addMsg.Balance"></el-input>
<el-form-item v-if="czType == 2" label="充值金额" prop="Balance">
<el-input
@keyup.native="checkInteger(addMsg, 'Balance')"
size="small"
v-model="addMsg.Balance"
></el-input>
</el-form-item>
<el-form-item label="充值图片">
<el-button @click="openChangeDig" size="small">选择文件</el-button>
<div>
<img v-if="imgurl==''" style="width:80px;height:80px" src="../../assets/img/default.png" alt="">
<img v-else style="width:80px;height:80px" :src="imgurl" alt="">
<img
v-if="imgurl == ''"
style="width: 80px; height: 80px"
src="../../assets/img/default.png"
alt=""
/>
<img
v-else
style="width: 80px; height: 80px"
:src="imgurl"
alt=""
/>
</div>
</el-form-item>
<el-form-item label="备注">
......@@ -185,311 +421,350 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="czjfDig = false">取 消</el-button>
<el-button size="small" type="primary" @click="czsubmitForm('addMsg')">确 定</el-button>
<el-button size="small" type="primary" @click="czsubmitForm('addMsg')"
>确 定</el-button
>
</span>
</el-dialog>
<!-- 充值积分 -->
<el-dialog title="二维码" :visible.sync="qrshow" width="600px">
<div style="display: flex;align-items: center;justify-content: center">
<div style="display: flex; align-items: center; justify-content: center">
<el-image
style="width: 200px; height: 200px"
:src="qrcodeImg"
></el-image>
></el-image>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="qrshow = false">关 闭</el-button>
</span>
</el-dialog>
<el-dialog title="查看详情" :visible.sync="detailShow" width="600px">
<detail :data="detailData" />
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="detailShow = false">关 闭</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import ChooseImg from "@/components/global/ChooseImg.vue";
export default {
components: {
ChooseImg
},
data() {
return {
czType: 1,
czjfDig: false,
changeState: false,
loading: false,
checkAll: false,
checkedCities: [],
cities: [],
cityOptions: [],
isIndeterminate: false,
addMsg: {},
dialogVisible: false,
value: '',
options: [],
tableData: [],
msg: {
pageIndex: 1,
pageSize: 15,
Name: '',
Source: 0,
MemberGrade: 0,
Id: '',
Moblie: '',
StartTime:'',
EndTime:'',
},
total: 0,
platList: [],
memberGradeList: [],
rules: {
Type: [{
import ChooseImg from "@/components/global/ChooseImg.vue";
import detail from "./components/seeDetail";
export default {
components: {
ChooseImg,
detail,
},
data() {
return {
czType: 1,
czjfDig: false,
changeState: false,
loading: false,
checkAll: false,
checkedCities: [],
cities: [],
cityOptions: [],
isIndeterminate: false,
addMsg: {},
dialogVisible: false,
value: "",
options: [],
tableData: [],
msg: {
pageIndex: 1,
pageSize: 15,
Name: "",
Source: 0,
MemberGrade: 0,
Id: "",
Moblie: "",
StartTime: "",
EndTime: "",
},
total: 0,
platList: [],
memberGradeList: [],
rules: {
Type: [
{
required: true,
message: '请选择类型',
trigger: 'change'
}],
Integral: [{
message: "请选择类型",
trigger: "change",
},
],
Integral: [
{
required: true,
message: '请输入积分',
trigger: 'blur'
}],
},
addMsg: {
MallBaseId: 0,
Type: 1,
UserId: 0,
Integral: 0,
Image: '',
Description: '',
message: "请输入积分",
trigger: "blur",
},
],
},
addMsg: {
MallBaseId: 0,
Type: 1,
UserId: 0,
Integral: 0,
Image: "",
Description: "",
},
imgurl: "",
dateList: [],
qrcodeImg: "",
qrshow: false,
//查看详情
detailData: {},
detailShow:false,
};
},
created() {
this.getList();
this.getplat();
this.getDown();
this.GetMemberGradeList();
this.addMsg.MallBaseId = this.getLocalStorage().MallBaseId;
},
methods: {
SelectId(msg) {
this.changeState = false;
this.addMsg.Image = msg.id;
this.imgurl = this.getIconLink(msg.url);
},
EditgoUrl(row) {
this.$router.push({
name: "usersListEdit",
query: {
UserId: row.Id,
blank: "y",
},
imgurl: '',
dateList:[],
qrcodeImg:'',
qrshow:false,
};
});
},
created() {
this.getList();
this.getplat();
this.getDown();
this.GetMemberGradeList();
this.addMsg.MallBaseId = this.getLocalStorage().MallBaseId;
addusers() {
this.$router.push({
name: "addUsers",
query: {
blank: "y",
},
});
},
methods: {
SelectId(msg) {
this.changeState = false;
this.addMsg.Image = msg.id;
this.imgurl =this.getIconLink(msg.url);
},
EditgoUrl(row) {
this.$router.push({
name: 'usersListEdit',
query: {
UserId: row.Id,
blank: "y"
}
});
},
addusers(){
this.$router.push({
name: 'addUsers',
query: {
blank: "y"
}
});
},
czsubmitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let cmd = "";
if (this.czType == 1) {
cmd = "/api/user/SetMemberIntegralInfo";
} else {
cmd = "/api/user/SetMemberBalanceInfo";
}
this.apipost(cmd, this.addMsg,
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
this.czjfDig = false;
} else {
this.Error(res.data.message);
}
},
null
);
czsubmitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let cmd = "";
if (this.czType == 1) {
cmd = "/api/user/SetMemberIntegralInfo";
} else {
return false;
cmd = "/api/user/SetMemberBalanceInfo";
}
});
},
OpenczjfDig(row, index) {
this.czType = index;
this.czjfDig = true;
this.addMsg = {
MallBaseId: this.getLocalStorage().MallBaseId,
Type: 1,
UserId: row.Id,
Integral: '',
Image: '',
Description: '',
Balance: '',
this.apipost(
cmd,
this.addMsg,
(res) => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message);
this.czjfDig = false;
} else {
this.Error(res.data.message);
}
},
null
);
} else {
return false;
}
this.imgurl = '';
},
showQRcode(row){
this.apipost("/api/user/GetWeiXinQRCodeForHT", {Path: '/pages/index/index?user_id=' + row.Id,With: 212,}, res => {
});
},
OpenczjfDig(row, index) {
this.czType = index;
this.czjfDig = true;
this.addMsg = {
MallBaseId: this.getLocalStorage().MallBaseId,
Type: 1,
UserId: row.Id,
Integral: "",
Image: "",
Description: "",
Balance: "",
};
this.imgurl = "";
},
showQRcode(row) {
this.apipost(
"/api/user/GetWeiXinQRCodeForHT",
{ Path: "/pages/index/index?user_id=" + row.Id, With: 212 },
(res) => {
if (res.data.resultCode == 1) {
if(res.data.data){
this.qrcodeImg=this.domainManager().DomainUrl+res.data.data;
this.qrshow=true
}
if (res.data.data) {
this.qrcodeImg = this.domainManager().DomainUrl + res.data.data;
this.qrshow = true;
}
} else {
this.Error(res.data.message);
}
})
},
openChangeDig() {
this.changeState = true;
setTimeout(() => {
this.$refs.mychild.InitData(this.czType);
}, 10)
},
Export() {
this.msg.ExcelEnumIds = this.checkedCities;
let msg = JSON.parse(JSON.stringify(this.msg));
if(!msg.Id ||msg.Id==''){
msg.Id=0;
}
this.GetLocalFile(
"/api/user/GetMemberUserListToExcel",
msg,
"用户管理.xls"
);
},
ChangeOpenidState(index, row) {
this.tableData[index].OpenIdState = !this.tableData[index].OpenIdState;
},
getList() {
this.loading = true;
let msg=JSON.parse(JSON.stringify(this.msg));
if(!msg.Id ||msg.Id==''){
msg.Id=0;
}
);
},
openChangeDig() {
this.changeState = true;
setTimeout(() => {
this.$refs.mychild.InitData(this.czType);
}, 10);
},
Export() {
this.msg.ExcelEnumIds = this.checkedCities;
let msg = JSON.parse(JSON.stringify(this.msg));
if (!msg.Id || msg.Id == "") {
msg.Id = 0;
}
this.GetLocalFile(
"/api/user/GetMemberUserListToExcel",
msg,
"用户管理.xls"
);
},
ChangeOpenidState(index, row) {
this.tableData[index].OpenIdState = !this.tableData[index].OpenIdState;
},
getList() {
this.loading = true;
let msg = JSON.parse(JSON.stringify(this.msg));
if (!msg.Id || msg.Id == "") {
msg.Id = 0;
}
if(this.dateList && this.dateList.length>0){
msg.StartTime=this.dateList[0];
msg.EndTime=this.dateList[1];
this.msg.StartTime=this.dateList[0];
this.msg.EndTime=this.dateList[1];
}else{
msg.StartTime='';
msg.EndTime='';
this.msg.StartTime='';
this.msg.EndTime='';
}
this.apipost("/api/user/GetMemberUserPageList", msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
let pageData = res.data.data.pageData;
pageData.forEach(item => {
item.OpenIdState = false;
})
this.tableData = pageData;
}
})
},
getDown() {
this.cityOptions = [];
this.apipost("/api/user/GetMemberUserExcelEnumList", {}, res => {
this.cities = res.data.data;
let data = res.data.data;
data.forEach(item => {
this.cityOptions.push(item.Id)
})
})
},
GetMemberGradeList() {
let msg = {
Grade: 0,
Name: '',
Enabled: 1,
};
this.apipost("/api/user/GetMemberGradeList", msg, res => {
this.memberGradeList = res.data.data;
})
},
getplat() {
this.apipost("/api/user/GetMemberUserSourceEnumList", {}, res => {
this.platList = res.data.data;
})
},
handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
if (this.dateList && this.dateList.length > 0) {
msg.StartTime = this.dateList[0];
msg.EndTime = this.dateList[1];
this.msg.StartTime = this.dateList[0];
this.msg.EndTime = this.dateList[1];
} else {
msg.StartTime = "";
msg.EndTime = "";
this.msg.StartTime = "";
this.msg.EndTime = "";
}
this.apipost("/api/user/GetMemberUserPageList", msg, (res) => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
let pageData = res.data.data.pageData;
pageData.forEach((item) => {
item.OpenIdState = false;
});
this.tableData = pageData;
}
});
},
getDown() {
this.cityOptions = [];
this.apipost("/api/user/GetMemberUserExcelEnumList", {}, (res) => {
this.cities = res.data.data;
let data = res.data.data;
data.forEach((item) => {
this.cityOptions.push(item.Id);
});
});
},
GetMemberGradeList() {
let msg = {
Grade: 0,
Name: "",
Enabled: 1,
};
this.apipost("/api/user/GetMemberGradeList", msg, (res) => {
this.memberGradeList = res.data.data;
});
},
getplat() {
this.apipost("/api/user/GetMemberUserSourceEnumList", {}, (res) => {
this.platList = res.data.data;
});
},
mounted() {
}
};
handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate =
checkedCount > 0 && checkedCount < this.cities.length;
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
//详情页
showDetail(row) {
let msg = {
UserId: row.Id,
};
this.apipost("/api/Miai/GetMiAiBaseIfo", msg, (res) => {
console.log(res);
if (res.data.resultCode == 1) {
this.detailData = res.data.data;
this.detailShow=true
} else {
this.$message({
message: res.data.message,
type: "warning",
});
}
});
},
},
mounted() {},
};
</script>
<style>
.usersList .remark_name {
color: #888888;
font-size: 12px;
margin-left: 10px;
float: right;
}
.usersList .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
.usersList .blue {
color: #409EFF;
.usersList .remark_name {
color: #888888;
font-size: 12px;
margin-left: 10px;
float: right;
}
}
.usersList .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
.usersList .content .searchInput {
border: 1px solid #DCDFE6;
border-radius: 4px;
}
.usersList .blue {
color: #409eff;
}
.usersList .content .searchInput .el-input__inner {
border: none;
outline: none;
height: 30px;
line-height: 30px;
}
.usersList .content .searchInput {
border: 1px solid #dcdfe6;
border-radius: 4px;
}
.usersList .content .searchInput {
line-height: normal;
display: inline-table;
width: 100%;
border-collapse: separate;
border-spacing: 0;
width: 250px;
margin-right: 20px;
}
.usersList .content .searchInput .el-input__inner {
border: none;
outline: none;
height: 30px;
line-height: 30px;
}
.usersList .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
.usersList .content .searchInput {
line-height: normal;
display: inline-table;
width: 100%;
border-collapse: separate;
border-spacing: 0;
width: 250px;
margin-right: 20px;
}
.usersList .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
</style>
......@@ -191,6 +191,9 @@
<li class="menu_item" :class="{'Fchecked':isChecked=='/appointList'}" @click="isChecked='/appointList',CommonJump('appointList')">
<i class="el-icon-menu"></i><span>相亲约会记录</span>
</li>
<li class="menu_item" :class="{'Fchecked':isChecked=='/vipBuyList'}" @click="isChecked='/vipBuyList',CommonJump('vipBuyList')">
<i class="el-icon-menu"></i><span>vip购买记录</span>
</li>
</ul>
</div>
</div>
......
<template>
<div class="appointList">
<div class="el-card__header">
<span>vip购买记录</span>
<div style="display: flex; flex-direction: row; align-items: center">
<el-button type="primary" class="el-button--small" @click="addAppoint"
>新增</el-button
>
</div>
</div>
<div class="content">
<div style="display: flex; flex-direction: row; align-items: center">
<div class="block">
<div class="searchInput" style="width: 200px">
<el-input
style="display: inline-block; width: 170px; height: 30px"
placeholder="用户昵称"
v-model="msg.UserName"
size="small"
@clear="getList"
@keyup.enter.native="getList"
clearable
>
</el-input>
<span
@click="getList"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div>
<div class="searchInput" style="width: 200px">
<el-input
style="display: inline-block; width: 170px; height: 30px"
placeholder="订单号"
v-model.number="msg.OrderNo"
size="small"
@clear="getList"
@keyup.enter.native="getList"
clearable
>
</el-input>
<span
@click="getList"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div>
<el-date-picker
size="small"
v-model="dateList"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="getList"
></el-button>
</div>
</div>
</div>
<div style="padding: 20px; background: #fff">
<el-table
:data="dataList"
header-cell-class-name="headClass"
style="width: 100%"
border
>
<el-table-column type="index" label="序号" width="55" align="center">
</el-table-column>
<el-table-column
prop="Id"
label="充值ID"
width="100"
align="center"
></el-table-column>
<el-table-column
prop="OrderNo"
label="订单号"
width="240"
align="center"
></el-table-column>
<el-table-column prop=" UserName" label="用户昵称" align="center">
</el-table-column>
<el-table-column prop="Money" label="购买金额" align="center">
</el-table-column>
<el-table-column prop=" GradeName" label="购买vip名称" align="center">
</el-table-column>
<el-table-column
prop="PayTime"
label="支付时间"
width="200"
align="center"
>
</el-table-column>
<el-table-column fixed="right" label="操作" width="130" align="center">
<template slot-scope="scope">
<el-tooltip
class="item"
effect="dark"
content="删除"
placement="top"
>
<img
src="../../assets/img/setup/del.png"
alt=""
class="imgstyle"
@click="delete_b(scope.row)"
/>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<el-pagination
style="text-align: right"
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
layout="prev, pager, next"
:current-page.sync="msg.pageIndex"
:total="pageCount"
>
</el-pagination>
</div>
</div>
</template>
<script>
export default {
name: "appointList",
data() {
return {
msg: {
pageIndex: 1,
pageSize: 10,
UserId: 0,
OrderNo: "",
UserName: "",
StartTime: "",
EndTime: "",
},
pageCount: 0,
dateList: [],
dataList: [],
};
},
methods: {
getList() {
if (this.dateList.length > 0) {
this.msg.StartTime = this.dateList[0];
this.msg.EndTime = this.dateList[1];
}
this.apipost("/api/User/GetMemberBuyUserPageList", this.msg, (res) => {
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
} else {
this.Error(res.data.message);
}
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
//新增
addAppoint() {
// this.$router.push("/editAppoint");
},
//删除记录
delete_b(item) {
let that = this;
that.Confirm("是否删除?", function () {
that.apipost(
"/api/Miai/DelMiaiDatingInfo",
{
DatingId: item.Id,
},
(res) => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
} else {
that.Error(res.data.message);
}
}
);
});
},
},
created() {
this.getList();
},
};
</script>
<style>
.appointList .el-card__header {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background: #fff;
}
.appointList .content {
background: #fff;
margin-top: 10px;
padding: 15px;
box-sizing: border-box;
}
.appointUserInfo {
display: flex;
}
.el-table .cell{
white-space: nowrap;
}
</style>
......@@ -56,8 +56,10 @@ export default {
Vue.prototype.domainManager = function () {
let domainUrl = '';
let javaUrl = 'http://192.168.2.65:8018';
domainUrl = "http://192.168.1.27:8200";
domainUrl = "https://localhost:5001";
// domainUrl = "http://192.168.1.27:8200";
// domainUrl = "https://localhost:5001";
// domainUrl= "http://192.168.1.48:8019"
domainUrl = "http://192.168.1.13:8088"
let vtUploadUrl = "http://192.168.1.214:8120";
let vtViewUrl = "http://192.168.1.214:8130";
......
......@@ -326,7 +326,11 @@ export default new Router({
path: '/editAppoint', //编辑约会记录
name: 'editAppoint',
component: resolve => require(['@/components/blindDate/editAppoint'], resolve),
}]
},{
path: '/vipBuyList', //vip购买记录、
name: 'vipBuyList',
component: resolve => require(['@/components/blindDate/vipBuyList'], resolve),
},]
},
{
path: '/educationIndex', //网课专区
......
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