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 @@ ...@@ -3,155 +3,373 @@
<div class="head-title"> <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>
<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> </el-button>
</div> </div>
<div class="content"> <div class="content">
<div> <div>
<el-select class="w100" @change="msg.pageIndex=1,getList()" style="margin-right: 10px;" v-model="msg.MemberGrade" size="small" <el-select
placeholder="请选择"> 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 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-option>
</el-select> </el-select>
<el-select class="w100" @change="msg.pageIndex=1,getList()" style="margin-right: 10px;" v-model="msg.Source" size="small" <el-select
placeholder="请选择"> 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 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-option>
</el-select> </el-select>
<div class="searchInput" style="width:150px"> <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" <el-input
size="small" clearable> @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> </el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" <span
style="color:#979dad;font-size:14px;position:relative;top:1px"></span> @click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div> </div>
<div class="searchInput" style="width:150px"> <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" <el-input
size="small" clearable> @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> </el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" <span
style="color:#979dad;font-size:14px;position:relative;top:1px"></span> @click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div> </div>
<div class="searchInput" style="width:150px"> <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" <el-input
size="small" clearable> @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> </el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" <span
style="color:#979dad;font-size:14px;position:relative;top:1px"></span> @click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad;
font-size: 14px;
position: relative;
top: 1px;
"
></span>
</div> </div>
<el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange" range-separator="至" <el-date-picker
value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期"> 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> </el-date-picker>
</div> </div>
<el-table :data="tableData" v-loading="loading" border style="width: 100%;margin:20px 0"> <el-table
<el-table-column prop="Id" label="ID" width="100"> :data="tableData"
</el-table-column> 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="头像"> <el-table-column prop="address" width="280" label="头像">
<template slot-scope="scope"> <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"> <div flex="dir:left cross:center">
{{scope.row.Name}} {{ scope.row.Name }}
<span v-if="scope.row.AliasName && scope.row.AliasName!=''" class="remark_name">备注名:{{scope.row.AliasName}}</span> <span
v-if="scope.row.AliasName && scope.row.AliasName != ''"
class="remark_name"
>备注名:{{ scope.row.AliasName }}</span
>
</div> </div>
<img v-if="scope.row.Source==1" style="width:24px;height:24px" src="../../assets/img/userman/wx.png" alt="" <img
class="platform-img"> v-if="scope.row.Source == 1"
<button type="button" class="el-button el-button--success" style="float: right; padding: 5px !important;"> style="width: 24px; height: 24px"
<span @click="ChangeOpenidState(scope.$index, scope.row)">显示OpenId</span> 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> </button>
<div v-show="scope.row.OpenIdState">{{scope.row.OpenId}}</div> <div v-show="scope.row.OpenIdState">{{ scope.row.OpenId }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="PostName" label="职位"> <el-table-column prop="PostName" label="职位"> </el-table-column>
</el-table-column>
<el-table-column label="会员类型"> <el-table-column label="会员类型">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.MemberGradeName}} <span
>{{ scope.row.MemberGradeName }}
<span> <span>
<el-tag v-if="scope.row.UserPageTypeStr=='全部'" size="mini">{{scope.row.UserPageTypeStr}}</el-tag> <el-tag
<el-tag v-if="scope.row.UserPageTypeStr=='商城'" type="success" size="mini">{{scope.row.UserPageTypeStr}}</el-tag> v-if="scope.row.UserPageTypeStr == '全部'"
<el-tag v-if="scope.row.UserPageTypeStr=='校园'" type="danger" size="mini">{{scope.row.UserPageTypeStr}}</el-tag> 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>
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="订单数"> <el-table-column prop="name" label="订单数">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="优惠券数量"> <el-table-column prop="name" label="优惠券数量">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="卡券数量"> <el-table-column prop="name" label="卡券数量">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="blue point">{{scope.row.CardVolumeNum}}</span> <span class="blue point">{{ scope.row.CardVolumeNum }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="余额"> <el-table-column prop="name" label="余额">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="积分"> <el-table-column prop="name" label="积分">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="CreateDate" width="150" label="加入时间"> <el-table-column prop="CreateDate" width="150" label="加入时间">
</el-table-column> </el-table-column>
<el-table-column prop="address" width="200" label="操作"> <el-table-column prop="address" width="200" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="编辑" placement="top"> <el-tooltip
<img @click="EditgoUrl(scope.row)" style="width:32px;height:32px" src="../../assets/img/userman/edit.png" class="item"
alt=""> 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>
<el-tooltip class="item" effect="dark" content="充值积分" placement="top"> <el-tooltip
<img @click="OpenczjfDig(scope.row,1)" style="width:32px;height:32px;margin:0 10px" class="item"
src="../../assets/img/userman/integral.png" alt=""> 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>
<el-tooltip class="item" effect="dark" content="充值余额" placement="top"> <el-tooltip
<img @click="OpenczjfDig(scope.row,2)" style="width:32px;height:32px" class="item"
src="../../assets/img/userman/balance.png" alt=""> 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>
<el-tooltip class="item" effect="dark" content="二维码" placement="top"> <el-tooltip
<img @click="showQRcode(scope.row)" style="width:32px;height:32px" class="item"
src="../../assets/img/userman/QRcode.png" alt=""> 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>
<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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize" :current-page.sync="msg.pageIndex" <el-pagination
layout="total,prev, pager, next" :total="total"> 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> </el-pagination>
</div> </div>
<!-- 选择导出信息 --> <!-- 选择导出信息 -->
<el-dialog title="选择导出信息" :visible.sync="dialogVisible" width="960px"> <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 <div
style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;"> style="
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选 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> </el-checkbox>
</div> </div>
<div style="margin: 15px 0;"></div> <div style="margin: 15px 0"></div>
<div style="padding: 10px 25px 20px;"> <div style="padding: 10px 25px 20px">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> <el-checkbox-group
<el-checkbox style="margin-bottom:10px;width:135px" v-for="city in cities" :label="city.Id" :key="city.Name"> v-model="checkedCities"
{{city.Name}}</el-checkbox> @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> </el-checkbox-group>
</div> </div>
</el-form> </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> <el-button size="small" type="primary" @click="Export">导出</el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -166,17 +384,35 @@ ...@@ -166,17 +384,35 @@
<el-radio v-model="addMsg.Type" :label="1">充值</el-radio> <el-radio v-model="addMsg.Type" :label="1">充值</el-radio>
<el-radio v-model="addMsg.Type" :label="2">扣除</el-radio> <el-radio v-model="addMsg.Type" :label="2">扣除</el-radio>
</el-form-item> </el-form-item>
<el-form-item v-if="czType==1" label="积分数" prop="Integral"> <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-input
@keyup.native="checkInteger(addMsg, 'Integral')"
size="small"
v-model="addMsg.Integral"
></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="czType==2" label="充值金额" prop="Balance"> <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-input
@keyup.native="checkInteger(addMsg, 'Balance')"
size="small"
v-model="addMsg.Balance"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="充值图片"> <el-form-item label="充值图片">
<el-button @click="openChangeDig" size="small">选择文件</el-button> <el-button @click="openChangeDig" size="small">选择文件</el-button>
<div> <div>
<img v-if="imgurl==''" style="width:80px;height:80px" src="../../assets/img/default.png" alt=""> <img
<img v-else style="width:80px;height:80px" :src="imgurl" alt=""> 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> </div>
</el-form-item> </el-form-item>
<el-form-item label="备注"> <el-form-item label="备注">
...@@ -185,12 +421,14 @@ ...@@ -185,12 +421,14 @@
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button size="small" @click="czjfDig = false">取 消</el-button> <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> </span>
</el-dialog> </el-dialog>
<!-- 充值积分 --> <!-- 充值积分 -->
<el-dialog title="二维码" :visible.sync="qrshow" width="600px"> <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 <el-image
style="width: 200px; height: 200px" style="width: 200px; height: 200px"
:src="qrcodeImg" :src="qrcodeImg"
...@@ -200,13 +438,22 @@ ...@@ -200,13 +438,22 @@
<el-button size="small" @click="qrshow = false">关 闭</el-button> <el-button size="small" @click="qrshow = false">关 闭</el-button>
</span> </span>
</el-dialog> </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> </div>
</template> </template>
<script> <script>
import ChooseImg from "@/components/global/ChooseImg.vue"; import ChooseImg from "@/components/global/ChooseImg.vue";
export default { import detail from "./components/seeDetail";
export default {
components: { components: {
ChooseImg ChooseImg,
detail,
}, },
data() { data() {
return { return {
...@@ -221,47 +468,54 @@ ...@@ -221,47 +468,54 @@
isIndeterminate: false, isIndeterminate: false,
addMsg: {}, addMsg: {},
dialogVisible: false, dialogVisible: false,
value: '', value: "",
options: [], options: [],
tableData: [], tableData: [],
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 15, pageSize: 15,
Name: '', Name: "",
Source: 0, Source: 0,
MemberGrade: 0, MemberGrade: 0,
Id: '', Id: "",
Moblie: '', Moblie: "",
StartTime:'', StartTime: "",
EndTime:'', EndTime: "",
}, },
total: 0, total: 0,
platList: [], platList: [],
memberGradeList: [], memberGradeList: [],
rules: { rules: {
Type: [{ Type: [
{
required: true, required: true,
message: '请选择类型', message: "请选择类型",
trigger: 'change' trigger: "change",
}], },
Integral: [{ ],
Integral: [
{
required: true, required: true,
message: '请输入积分', message: "请输入积分",
trigger: 'blur' trigger: "blur",
}], },
],
}, },
addMsg: { addMsg: {
MallBaseId: 0, MallBaseId: 0,
Type: 1, Type: 1,
UserId: 0, UserId: 0,
Integral: 0, Integral: 0,
Image: '', Image: "",
Description: '', Description: "",
}, },
imgurl: '', imgurl: "",
dateList:[], dateList: [],
qrcodeImg:'', qrcodeImg: "",
qrshow:false, qrshow: false,
//查看详情
detailData: {},
detailShow:false,
}; };
}, },
created() { created() {
...@@ -275,23 +529,23 @@ ...@@ -275,23 +529,23 @@
SelectId(msg) { SelectId(msg) {
this.changeState = false; this.changeState = false;
this.addMsg.Image = msg.id; this.addMsg.Image = msg.id;
this.imgurl =this.getIconLink(msg.url); this.imgurl = this.getIconLink(msg.url);
}, },
EditgoUrl(row) { EditgoUrl(row) {
this.$router.push({ this.$router.push({
name: 'usersListEdit', name: "usersListEdit",
query: { query: {
UserId: row.Id, UserId: row.Id,
blank: "y" blank: "y",
} },
}); });
}, },
addusers(){ addusers() {
this.$router.push({ this.$router.push({
name: 'addUsers', name: "addUsers",
query: { query: {
blank: "y" blank: "y",
} },
}); });
}, },
czsubmitForm(formName) { czsubmitForm(formName) {
...@@ -303,13 +557,14 @@ ...@@ -303,13 +557,14 @@
} else { } else {
cmd = "/api/user/SetMemberBalanceInfo"; cmd = "/api/user/SetMemberBalanceInfo";
} }
this.apipost(cmd, this.addMsg, this.apipost(
res => { cmd,
this.addMsg,
(res) => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.getList(); this.getList();
this.Success(res.data.message) this.Success(res.data.message);
this.czjfDig = false; this.czjfDig = false;
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -328,36 +583,40 @@ ...@@ -328,36 +583,40 @@
MallBaseId: this.getLocalStorage().MallBaseId, MallBaseId: this.getLocalStorage().MallBaseId,
Type: 1, Type: 1,
UserId: row.Id, UserId: row.Id,
Integral: '', Integral: "",
Image: '', Image: "",
Description: '', Description: "",
Balance: '', Balance: "",
} };
this.imgurl = ''; this.imgurl = "";
}, },
showQRcode(row){ showQRcode(row) {
this.apipost("/api/user/GetWeiXinQRCodeForHT", {Path: '/pages/index/index?user_id=' + row.Id,With: 212,}, res => { this.apipost(
"/api/user/GetWeiXinQRCodeForHT",
{ Path: "/pages/index/index?user_id=" + row.Id, With: 212 },
(res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
if(res.data.data){ if (res.data.data) {
this.qrcodeImg=this.domainManager().DomainUrl+res.data.data; this.qrcodeImg = this.domainManager().DomainUrl + res.data.data;
this.qrshow=true this.qrshow = true;
} }
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
}) }
);
}, },
openChangeDig() { openChangeDig() {
this.changeState = true; this.changeState = true;
setTimeout(() => { setTimeout(() => {
this.$refs.mychild.InitData(this.czType); this.$refs.mychild.InitData(this.czType);
}, 10) }, 10);
}, },
Export() { Export() {
this.msg.ExcelEnumIds = this.checkedCities; this.msg.ExcelEnumIds = this.checkedCities;
let msg = JSON.parse(JSON.stringify(this.msg)); let msg = JSON.parse(JSON.stringify(this.msg));
if(!msg.Id ||msg.Id==''){ if (!msg.Id || msg.Id == "") {
msg.Id=0; msg.Id = 0;
} }
this.GetLocalFile( this.GetLocalFile(
"/api/user/GetMemberUserListToExcel", "/api/user/GetMemberUserListToExcel",
...@@ -370,58 +629,58 @@ ...@@ -370,58 +629,58 @@
}, },
getList() { getList() {
this.loading = true; this.loading = true;
let msg=JSON.parse(JSON.stringify(this.msg)); let msg = JSON.parse(JSON.stringify(this.msg));
if(!msg.Id ||msg.Id==''){ if (!msg.Id || msg.Id == "") {
msg.Id=0; msg.Id = 0;
} }
if(this.dateList && this.dateList.length>0){ if (this.dateList && this.dateList.length > 0) {
msg.StartTime=this.dateList[0]; msg.StartTime = this.dateList[0];
msg.EndTime=this.dateList[1]; msg.EndTime = this.dateList[1];
this.msg.StartTime=this.dateList[0]; this.msg.StartTime = this.dateList[0];
this.msg.EndTime=this.dateList[1]; this.msg.EndTime = this.dateList[1];
}else{ } else {
msg.StartTime=''; msg.StartTime = "";
msg.EndTime=''; msg.EndTime = "";
this.msg.StartTime=''; this.msg.StartTime = "";
this.msg.EndTime=''; this.msg.EndTime = "";
} }
this.apipost("/api/user/GetMemberUserPageList", msg, res => { this.apipost("/api/user/GetMemberUserPageList", msg, (res) => {
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.total = res.data.data.count; this.total = res.data.data.count;
let pageData = res.data.data.pageData; let pageData = res.data.data.pageData;
pageData.forEach(item => { pageData.forEach((item) => {
item.OpenIdState = false; item.OpenIdState = false;
}) });
this.tableData = pageData; this.tableData = pageData;
} }
}) });
}, },
getDown() { getDown() {
this.cityOptions = []; this.cityOptions = [];
this.apipost("/api/user/GetMemberUserExcelEnumList", {}, res => { this.apipost("/api/user/GetMemberUserExcelEnumList", {}, (res) => {
this.cities = res.data.data; this.cities = res.data.data;
let data = res.data.data; let data = res.data.data;
data.forEach(item => { data.forEach((item) => {
this.cityOptions.push(item.Id) this.cityOptions.push(item.Id);
}) });
}) });
}, },
GetMemberGradeList() { GetMemberGradeList() {
let msg = { let msg = {
Grade: 0, Grade: 0,
Name: '', Name: "",
Enabled: 1, Enabled: 1,
}; };
this.apipost("/api/user/GetMemberGradeList", msg, res => { this.apipost("/api/user/GetMemberGradeList", msg, (res) => {
this.memberGradeList = res.data.data; this.memberGradeList = res.data.data;
}) });
}, },
getplat() { getplat() {
this.apipost("/api/user/GetMemberUserSourceEnumList", {}, res => { this.apipost("/api/user/GetMemberUserSourceEnumList", {}, (res) => {
this.platList = res.data.data; this.platList = res.data.data;
}) });
}, },
handleCheckAllChange(val) { handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : []; this.checkedCities = val ? this.cityOptions : [];
...@@ -430,52 +689,69 @@ ...@@ -430,52 +689,69 @@
handleCheckedCitiesChange(value) { handleCheckedCitiesChange(value) {
let checkedCount = value.length; let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length; this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length; this.isIndeterminate =
checkedCount > 0 && checkedCount < this.cities.length;
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getList(); this.getList();
}, },
}, //详情页
mounted() { 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> </script>
<style> <style>
.usersList .remark_name { .usersList .remark_name {
color: #888888; color: #888888;
font-size: 12px; font-size: 12px;
margin-left: 10px; margin-left: 10px;
float: right; float: right;
} }
.usersList .app-image { .usersList .app-image {
background-position: center center; background-position: center center;
width: 50px; width: 50px;
height: 50px; height: 50px;
border-radius: 0%; border-radius: 0%;
float: left; float: left;
margin-right: 8px; margin-right: 8px;
} }
.usersList .blue { .usersList .blue {
color: #409EFF; color: #409eff;
}
} .usersList .content .searchInput {
border: 1px solid #dcdfe6;
.usersList .content .searchInput {
border: 1px solid #DCDFE6;
border-radius: 4px; border-radius: 4px;
} }
.usersList .content .searchInput .el-input__inner { .usersList .content .searchInput .el-input__inner {
border: none; border: none;
outline: none; outline: none;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
} }
.usersList .content .searchInput { .usersList .content .searchInput {
line-height: normal; line-height: normal;
display: inline-table; display: inline-table;
width: 100%; width: 100%;
...@@ -483,13 +759,12 @@ ...@@ -483,13 +759,12 @@
border-spacing: 0; border-spacing: 0;
width: 250px; width: 250px;
margin-right: 20px; margin-right: 20px;
} }
.usersList .content { .usersList .content {
background: #fff; background: #fff;
margin-top: 10px; margin-top: 10px;
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
} }
</style> </style>
...@@ -191,6 +191,9 @@ ...@@ -191,6 +191,9 @@
<li class="menu_item" :class="{'Fchecked':isChecked=='/appointList'}" @click="isChecked='/appointList',CommonJump('appointList')"> <li class="menu_item" :class="{'Fchecked':isChecked=='/appointList'}" @click="isChecked='/appointList',CommonJump('appointList')">
<i class="el-icon-menu"></i><span>相亲约会记录</span> <i class="el-icon-menu"></i><span>相亲约会记录</span>
</li> </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> </ul>
</div> </div>
</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 { ...@@ -56,8 +56,10 @@ export default {
Vue.prototype.domainManager = function () { Vue.prototype.domainManager = function () {
let domainUrl = ''; let domainUrl = '';
let javaUrl = 'http://192.168.2.65:8018'; let javaUrl = 'http://192.168.2.65:8018';
domainUrl = "http://192.168.1.27:8200"; // domainUrl = "http://192.168.1.27:8200";
domainUrl = "https://localhost:5001"; // 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 vtUploadUrl = "http://192.168.1.214:8120";
let vtViewUrl = "http://192.168.1.214:8130"; let vtViewUrl = "http://192.168.1.214:8130";
......
...@@ -326,7 +326,11 @@ export default new Router({ ...@@ -326,7 +326,11 @@ export default new Router({
path: '/editAppoint', //编辑约会记录 path: '/editAppoint', //编辑约会记录
name: 'editAppoint', name: 'editAppoint',
component: resolve => require(['@/components/blindDate/editAppoint'], resolve), component: resolve => require(['@/components/blindDate/editAppoint'], resolve),
}] },{
path: '/vipBuyList', //vip购买记录、
name: 'vipBuyList',
component: resolve => require(['@/components/blindDate/vipBuyList'], resolve),
},]
}, },
{ {
path: '/educationIndex', //网课专区 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