@@ -0,0 +1,27 @@ | |||||
import request from '@/utils/request' | |||||
export function getUserList(params) { | |||||
return request({ | |||||
url: 'user/list', | |||||
method: 'get', | |||||
params: params | |||||
}) | |||||
} | |||||
export function getUserDelete(id) { | |||||
return request({ | |||||
url: `user/delete/${id}`, | |||||
method: 'DELETE', | |||||
}) | |||||
} | |||||
export function getUserUpdate(id, params) { | |||||
return request({ | |||||
url: `user/update/${id}`, | |||||
method: 'PUT', | |||||
params: params, | |||||
}) | |||||
} |
@@ -0,0 +1,18 @@ | |||||
import request from '@/utils/request' | |||||
export function getPlatformList() { | |||||
return request({ | |||||
url: 'platform/index', | |||||
method: 'get' | |||||
}) | |||||
} | |||||
export function getCategoryList(params) { | |||||
return request({ | |||||
url: 'category/index', | |||||
method: 'get', | |||||
params: params | |||||
}) | |||||
} | |||||
@@ -38,7 +38,6 @@ | |||||
<span v-if="textBtn2.length > 0">{{ textBtn2 }}</span> | <span v-if="textBtn2.length > 0">{{ textBtn2 }}</span> | ||||
</el-button> | </el-button> | ||||
<!-- 按钮3 --> | <!-- 按钮3 --> | ||||
<el-button | <el-button | ||||
v-if="openBtn3" | v-if="openBtn3" | ||||
@@ -67,11 +66,8 @@ | |||||
<span v-if="textBtn4.length > 0">{{ textBtn4 }}</span> | <span v-if="textBtn4.length > 0">{{ textBtn4 }}</span> | ||||
</el-button> | </el-button> | ||||
<!-- 下拉按钮 --> | |||||
<el-dropdown v-if="openBtn5" style="margin-left: 10px"> | |||||
<!-- 下拉按钮 --> | |||||
<el-dropdown trigger="click" v-if="openBtn5" style="margin-left: 10px"> | |||||
<!-- 按钮2 --> | <!-- 按钮2 --> | ||||
<el-button | <el-button | ||||
:disabled="disabledBtn5" | :disabled="disabledBtn5" | ||||
@@ -87,17 +83,15 @@ | |||||
<i class="el-icon-caret-bottom" style="margin-left: 5px" /> | <i class="el-icon-caret-bottom" style="margin-left: 5px" /> | ||||
</span> | </span> | ||||
</el-button> | </el-button> | ||||
<el-dropdown-menu slot="dropdown"> | |||||
<el-dropdown-item>黄金糕</el-dropdown-item> | |||||
<el-dropdown-item>狮子头</el-dropdown-item> | |||||
<el-dropdown-item>螺蛳粉</el-dropdown-item> | |||||
<el-dropdown-item disabled>双皮奶</el-dropdown-item> | |||||
<el-dropdown-item divided>蚵仔煎</el-dropdown-item> | |||||
<el-dropdown-menu slot="dropdown" v-if="dropdownData"> | |||||
<el-dropdown-item v-for="(item, index) in dropdownData" :key="index"> | |||||
<span @click="onCommand(item)"> | |||||
{{ item.name }} | |||||
</span></el-dropdown-item | |||||
> | |||||
</el-dropdown-menu> | </el-dropdown-menu> | ||||
</el-dropdown> | </el-dropdown> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -136,6 +130,10 @@ export default { | |||||
type: String, | type: String, | ||||
default: "mini", | default: "mini", | ||||
}, | }, | ||||
dropdownData: { | |||||
type: Array, | |||||
default: ()=> [] | |||||
}, | |||||
// 按钮1 | // 按钮1 | ||||
openBtn1: { | openBtn1: { | ||||
type: Boolean, | type: Boolean, | ||||
@@ -301,8 +299,10 @@ export default { | |||||
handleButton4() { | handleButton4() { | ||||
this.$emit("handle-button4"); | this.$emit("handle-button4"); | ||||
}, | }, | ||||
handleButton5() { | |||||
this.$emit("handle-button5"); | |||||
handleButton5() {}, | |||||
onCommand(data) { | |||||
this.$emit("handle-button5", data); | |||||
}, | }, | ||||
}, | }, | ||||
}; | }; | ||||
@@ -0,0 +1,115 @@ | |||||
<template> | |||||
<Dialog | |||||
:is-dialog-exist="openDeleteDialog" | |||||
:title="dialogTitle" | |||||
:dialog-style="dialogStyle" | |||||
@close-dialog="handleClose" | |||||
> | |||||
<el-container> | |||||
<el-main> | |||||
<el-form ref="formData" :model="formData" label-width="auto"> | |||||
<div class="formData-title">是否确认删除该用户?</div> | |||||
<span style="color:#666666;font-size:14px">删除后该用户信息将永久删除, 且不可复原, 请谨慎操作!</span> | |||||
</el-form> | |||||
</el-main> | |||||
<el-footer> | |||||
<el-button type="primary" @click="handleSuccess">确定</el-button> | |||||
<el-button type="info" plain @click="handleClose">取消</el-button> | |||||
</el-footer> | |||||
</el-container> | |||||
</Dialog> | |||||
</template> | |||||
<script> | |||||
import Dialog from "@/components/Dialog/index"; | |||||
/** | |||||
* 站长等级的编辑dialog | |||||
*/ | |||||
export default { | |||||
components: { Dialog }, | |||||
props: { | |||||
// 弹窗控制参数 | |||||
openDeleteDialog: { | |||||
type: Boolean, | |||||
default: false, | |||||
}, | |||||
// 选中的数据 | |||||
selectItem: { | |||||
type: Object, | |||||
default: () => {}, | |||||
}, | |||||
}, | |||||
data() { | |||||
return { | |||||
dialogTitle: "删除提示", | |||||
// dialog样式 | |||||
dialogStyle: { | |||||
"--dialog-width": "440px", | |||||
"--dialog-height": "243px", | |||||
"--title-height": "51px", | |||||
}, | |||||
// 提交参数 | |||||
formData: {}, | |||||
// 校验规则 | |||||
rules: {}, | |||||
}; | |||||
}, | |||||
watch: { | |||||
showDialog(val) { | |||||
if (val) { | |||||
this.initDataView(); | |||||
} | |||||
}, | |||||
}, | |||||
methods: { | |||||
// 关闭弹窗 | |||||
handleClose() { | |||||
this.$emit("handle-close"); | |||||
}, | |||||
// 提交弹窗 | |||||
handleSuccess() { | |||||
this.$emit("handle-success"); | |||||
}, | |||||
// 初始化弹窗参数 | |||||
initDataView() { | |||||
console.log("初始化弹窗参数"); | |||||
}, | |||||
// 提交表单 | |||||
submitForm() { | |||||
this.$refs.formData.validate((vaild) => { | |||||
if (vaild && this.customValidate()) { | |||||
console.log("提交表单"); | |||||
} | |||||
}); | |||||
}, | |||||
customValidate() {}, | |||||
}, | |||||
}; | |||||
</script> | |||||
<style lang="scss" scoped> | |||||
.el-container { | |||||
width: 100%; | |||||
height: 100%; | |||||
.el-main { | |||||
height: 90%; | |||||
width: 100%; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
.formData-title { | |||||
text-align: center; | |||||
margin-bottom: 20px; | |||||
color: #333333; | |||||
font-size: 18px; | |||||
} | |||||
} | |||||
.el-footer { | |||||
height: 10%; | |||||
width: 100%; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
} | |||||
} | |||||
</style> |
@@ -21,30 +21,39 @@ | |||||
<div class="item-box"> | <div class="item-box"> | ||||
<el-form-item label="头像"> | <el-form-item label="头像"> | ||||
<img | <img | ||||
v-if="selectItem.avatarUrl" | |||||
:src="selectItem.avatarUrl" | |||||
class="circle-box size-35" | |||||
alt="avatar" | |||||
style="width: 70px; height: 70px; border-radius: 5px" | |||||
/> | |||||
<img | |||||
v-else | |||||
:src="defaultAvatar" | |||||
class="circle-box size-35" | |||||
alt="avatar" | |||||
style="width: 70px; height: 70px; border-radius: 5px" | style="width: 70px; height: 70px; border-radius: 5px" | ||||
src="https://img1.baidu.com/it/u=4154498888,1222423227&fm=11&fmt=auto&gp=0.jpg" | |||||
alt="" | |||||
/> | /> | ||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="会员ID"> | <el-form-item label="会员ID"> | ||||
<el-input disabled></el-input> | |||||
<el-input disabled v-model="selectItem.id"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
</div> | </div> | ||||
<div class="item-box"> | <div class="item-box"> | ||||
<el-form-item label="会员昵称"> | <el-form-item label="会员昵称"> | ||||
<el-input></el-input> | |||||
<el-input v-model="selectItem.username"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="手机号"> | <el-form-item label="手机号"> | ||||
<el-input></el-input> | |||||
<el-input v-model="selectItem.mobile"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
</div> | </div> | ||||
<div class="item-box"> | <div class="item-box"> | ||||
<el-form-item label="账号状态"> | <el-form-item label="账号状态"> | ||||
<el-select v-model="value" placeholder="请选择"> | |||||
<el-select v-model="selectItem.status" placeholder="请选择"> | |||||
<el-option | <el-option | ||||
v-for="item in options" | v-for="item in options" | ||||
:key="item.value" | :key="item.value" | ||||
@@ -56,63 +65,92 @@ | |||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="邀请码"> | <el-form-item label="邀请码"> | ||||
<el-input></el-input> | |||||
<el-input v-model="selectItem.invite_code"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
</div> | </div> | ||||
<div class="item-box"> | <div class="item-box"> | ||||
<el-form-item label="微信号"> | <el-form-item label="微信号"> | ||||
<el-input></el-input> | |||||
<el-input v-model="selectItem.wx_account"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="密码"> | <el-form-item label="密码"> | ||||
<el-input></el-input> | |||||
<el-input v-model="selectItem.password"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
</div> | </div> | ||||
<div class="item-box" style="width: 100%"> | <div class="item-box" style="width: 100%"> | ||||
<el-form-item label="备注"> | <el-form-item label="备注"> | ||||
<el-input style="width: 100%"></el-input> | |||||
<el-input style="width: 100%" v-model="selectItem.remark"></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
</div> | </div> | ||||
<!-- | |||||
<div class="item-list"> | <div class="item-list"> | ||||
<span class="itemSpan1">邀请码</span> | <span class="itemSpan1">邀请码</span> | ||||
<span class="itemSpan2" style="color: #178cf8">YT23694</span> | <span class="itemSpan2" style="color: #178cf8">YT23694</span> | ||||
<el-button @click="setInvitation('设置邀请码')" type="primary" size="mini" icon="el-icon-edit" plain | |||||
<el-button | |||||
@click="setInvitation('设置邀请码')" | |||||
type="primary" | |||||
size="mini" | |||||
icon="el-icon-edit" | |||||
plain | |||||
>自定义邀请码</el-button | >自定义邀请码</el-button | ||||
> | > | ||||
</div> | |||||
</div> --> | |||||
<div class="item-list"> | <div class="item-list"> | ||||
<span class="itemSpan1">支付宝账号</span> | <span class="itemSpan1">支付宝账号</span> | ||||
<span class="itemSpan2">******</span> | |||||
<el-button @click="setInvitation('修改绑定的支付宝')" type="danger" size="mini" icon="el-icon-bank-card" plain | |||||
<span class="itemSpan2">{{ selectItem.alipay_account || "-" }}</span> | |||||
<el-button | |||||
@click="setInvitation('修改绑定的支付宝')" | |||||
type="danger" | |||||
size="mini" | |||||
icon="el-icon-bank-card" | |||||
plain | |||||
>更改绑定账号</el-button | >更改绑定账号</el-button | ||||
> | > | ||||
</div> | </div> | ||||
<div class="item-list"> | |||||
<!-- <div class="item-list"> | |||||
<span class="itemSpan1">会员等级</span> | <span class="itemSpan1">会员等级</span> | ||||
<span class="itemSpan2" style="color: #178cf8">普通会员</span> | <span class="itemSpan2" style="color: #178cf8">普通会员</span> | ||||
<el-button @click="setInvitation('设置等级')" type="primary" size="mini" icon="el-icon-edit" plain | |||||
<el-button | |||||
@click="setInvitation('设置等级')" | |||||
type="primary" | |||||
size="mini" | |||||
icon="el-icon-edit" | |||||
plain | |||||
>设置等级</el-button | >设置等级</el-button | ||||
> | > | ||||
</div> | |||||
</div> --> | |||||
<div class="formTitle">钱包数据</div> | <div class="formTitle">钱包数据</div> | ||||
<div class="item-list"> | <div class="item-list"> | ||||
<span class="itemSpan1">余额变动</span> | <span class="itemSpan1">余额变动</span> | ||||
<span class="itemSpan2" style="color: #ff4242">0.0000</span> | |||||
<el-button @click="setInvitation('调整余额')" type="primary" size="mini" icon="el-icon-edit" plain | |||||
<span class="itemSpan2" style="color: #ff4242">{{ | |||||
selectItem.balance || "0.00" | |||||
}}</span> | |||||
<el-button | |||||
@click="setInvitation('调整余额')" | |||||
type="primary" | |||||
size="mini" | |||||
icon="el-icon-edit" | |||||
plain | |||||
>调整</el-button | >调整</el-button | ||||
> | > | ||||
</div> | </div> | ||||
<div class="item-list"> | <div class="item-list"> | ||||
<span class="itemSpan1">积分变动</span> | <span class="itemSpan1">积分变动</span> | ||||
<span class="itemSpan2" style="color: #ff4242">0.0000</span> | |||||
<el-button @click="setInvitation('调整积分')" type="primary" size="mini" icon="el-icon-edit" plain | |||||
<span class="itemSpan2" style="color: #ff4242">{{ | |||||
selectItem.integral || "0.00" | |||||
}}</span> | |||||
<el-button | |||||
@click="setInvitation('调整积分')" | |||||
type="primary" | |||||
size="mini" | |||||
icon="el-icon-edit" | |||||
plain | |||||
>调整</el-button | >调整</el-button | ||||
> | > | ||||
</div> | </div> | ||||
@@ -132,7 +170,7 @@ | |||||
<OtherSettingsDialog | <OtherSettingsDialog | ||||
:showDialog="isOtherSettings" | :showDialog="isOtherSettings" | ||||
:dialogTitle="othoerItem.title" | :dialogTitle="othoerItem.title" | ||||
:selectItem="othoerItem.data" | |||||
:selectItem="selectItem" | |||||
@handle-close="OtherClose" | @handle-close="OtherClose" | ||||
></OtherSettingsDialog> | ></OtherSettingsDialog> | ||||
</Dialog> | </Dialog> | ||||
@@ -174,6 +212,7 @@ export default { | |||||
formData: {}, | formData: {}, | ||||
// 校验规则 | // 校验规则 | ||||
rules: {}, | rules: {}, | ||||
defaultAvatar: "./pic/default/default_avatar.png", | |||||
// | // | ||||
isOtherSettings: false, | isOtherSettings: false, | ||||
@@ -181,24 +220,12 @@ export default { | |||||
options: [ | options: [ | ||||
{ | { | ||||
value: "选项1", | |||||
label: "黄金糕", | |||||
}, | |||||
{ | |||||
value: "选项2", | |||||
label: "双皮奶", | |||||
value: 1, | |||||
label: "正常", | |||||
}, | }, | ||||
{ | { | ||||
value: "选项3", | |||||
label: "蚵仔煎", | |||||
}, | |||||
{ | |||||
value: "选项4", | |||||
label: "龙须面", | |||||
}, | |||||
{ | |||||
value: "选项5", | |||||
label: "北京烤鸭", | |||||
value: -1, | |||||
label: "不正常", | |||||
}, | }, | ||||
], | ], | ||||
value: "", | value: "", | ||||
@@ -216,21 +243,15 @@ export default { | |||||
handleClose() { | handleClose() { | ||||
this.$emit("handle-close"); | this.$emit("handle-close"); | ||||
}, | }, | ||||
// 提交弹窗 | |||||
handleSuccess() { | |||||
this.$emit("handle-success"); | |||||
}, | |||||
// 初始化弹窗参数 | // 初始化弹窗参数 | ||||
initDataView() { | initDataView() { | ||||
console.log("初始化弹窗参数"); | console.log("初始化弹窗参数"); | ||||
}, | }, | ||||
// 提交表单 | // 提交表单 | ||||
submitForm() { | submitForm() { | ||||
this.$refs.formData.validate((valid) => { | |||||
if (valid && this.customValidate()) { | |||||
console.log("提交表单"); | |||||
} | |||||
}); | |||||
this.$emit("handle-success"); | |||||
}, | }, | ||||
customValidate() { | customValidate() { | ||||
let rlt = true; | let rlt = true; | ||||
@@ -239,19 +260,18 @@ export default { | |||||
}, | }, | ||||
// 自定义邀请码 | // 自定义邀请码 | ||||
setInvitation(title){ | |||||
this.othoerItem = { | |||||
title: title, | |||||
data: [] | |||||
} | |||||
this.isOtherSettings = true | |||||
setInvitation(title) { | |||||
this.othoerItem = { | |||||
title: title, | |||||
data: [], | |||||
}; | |||||
this.isOtherSettings = true; | |||||
}, | }, | ||||
OtherClose(){ | |||||
console.log(123) | |||||
this.isOtherSettings = false | |||||
} | |||||
OtherClose() { | |||||
console.log(123); | |||||
this.isOtherSettings = false; | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -10,14 +10,21 @@ | |||||
<el-form ref="formData" :model="formData" :rules="rules" label-width="auto"> | <el-form ref="formData" :model="formData" :rules="rules" label-width="auto"> | ||||
<div class="formData"> | <div class="formData"> | ||||
<img | <img | ||||
src="https://img0.baidu.com/it/u=963870570,3690182722&fm=26&fmt=auto&gp=0.jpg" | |||||
alt="" | |||||
v-if="selectItem.avatarUrl" | |||||
:src="selectItem.avatarUrl" | |||||
class="circle-box size-35" | |||||
alt="avatar" | |||||
/> | /> | ||||
<span style="margin-bottom: 20px; color: #333333; font-size: 14px" | |||||
>15326713918</span | |||||
> | |||||
<el-form-item label="等级" v-if="dialogTitle === '设置等级'"> | |||||
<el-select style="width: 360px" v-model="value" placeholder="请选择"> | |||||
<img v-else :src="defaultAvatar" class="circle-box size-35" alt="avatar" /> | |||||
<span style="margin-bottom: 20px; color: #333333; font-size: 14px">{{ | |||||
selectItem.mobile | |||||
}}</span> | |||||
<!-- <el-form-item label="等级" v-if="dialogTitle === '设置等级'"> | |||||
<el-select | |||||
style="width: 360px" | |||||
v-model="formData.status" | |||||
placeholder="请选择" | |||||
> | |||||
<el-option | <el-option | ||||
v-for="item in options" | v-for="item in options" | ||||
:key="item.value" | :key="item.value" | ||||
@@ -26,32 +33,41 @@ | |||||
> | > | ||||
</el-option> | </el-option> | ||||
</el-select> | </el-select> | ||||
</el-form-item> | |||||
</el-form-item> --> | |||||
<el-form-item label="支付宝提现账号" v-if="dialogTitle === '修改绑定的支付宝'"> | |||||
<el-form-item | |||||
label="支付宝提现账号" | |||||
v-if="dialogTitle === '修改绑定的支付宝'" | |||||
> | |||||
<el-input | <el-input | ||||
style="width: 360px" | style="width: 360px" | ||||
placeholder="请输入支付宝提现账号" | placeholder="请输入支付宝提现账号" | ||||
v-model="formData.alipay_account" | |||||
></el-input> | ></el-input> | ||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="真实姓名" v-if="dialogTitle === '修改绑定的支付宝'"> | |||||
<el-input style="width: 360px" placeholder="请输入真实姓名"></el-input> | |||||
<el-form-item label="真实姓名" v-if="dialogTitle === '修改绑定的支付宝'"> | |||||
<el-input | |||||
v-model="formData.realName" | |||||
style="width: 360px" | |||||
placeholder="请输入真实姓名" | |||||
></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="邀请码" v-if="dialogTitle === '设置邀请码'"> | |||||
<el-input style="width: 360px" placeholder="请输入邀请码"></el-input> | |||||
<el-form-item label="可提现余额" v-if="dialogTitle === '调整余额'"> | |||||
<el-input | |||||
style="width: 360px" | |||||
v-model="formData.balance" | |||||
placeholder="0.00" | |||||
></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="可提现余额" v-if="dialogTitle === '调整余额'"> | |||||
<el-input style="width: 360px" placeholder="0.00"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="积分变动" v-if="dialogTitle === '调整积分'"> | |||||
<el-input style="width: 360px" placeholder="0.00"></el-input> | |||||
<el-form-item label="积分变动" v-if="dialogTitle === '调整积分'"> | |||||
<el-input | |||||
style="width: 360px" | |||||
v-model="formData.integral" | |||||
placeholder="0.00" | |||||
></el-input> | |||||
</el-form-item> | </el-form-item> | ||||
</div> | </div> | ||||
</el-form> | </el-form> | ||||
@@ -79,7 +95,7 @@ export default { | |||||
}, | }, | ||||
// 选中的数据 | // 选中的数据 | ||||
selectItem: { | selectItem: { | ||||
type: Array, | |||||
type: Object, | |||||
default: () => {}, | default: () => {}, | ||||
}, | }, | ||||
dialogTitle: { | dialogTitle: { | ||||
@@ -89,9 +105,7 @@ export default { | |||||
}, | }, | ||||
}, | }, | ||||
}, | }, | ||||
mounted(){ | |||||
console.log(this.selectItem) | |||||
}, | |||||
mounted() {}, | |||||
data() { | data() { | ||||
return { | return { | ||||
// dialog样式 | // dialog样式 | ||||
@@ -105,27 +119,16 @@ export default { | |||||
formData: {}, | formData: {}, | ||||
// 校验规则 | // 校验规则 | ||||
rules: {}, | rules: {}, | ||||
defaultAvatar: "./pic/default/default_avatar.png", | |||||
options: [ | options: [ | ||||
{ | { | ||||
value: "选项1", | |||||
label: "黄金糕", | |||||
}, | |||||
{ | |||||
value: "选项2", | |||||
label: "双皮奶", | |||||
}, | |||||
{ | |||||
value: "选项3", | |||||
label: "蚵仔煎", | |||||
}, | |||||
{ | |||||
value: "选项4", | |||||
label: "龙须面", | |||||
value: 1, | |||||
label: "正常", | |||||
}, | }, | ||||
{ | { | ||||
value: "选项5", | |||||
label: "北京烤鸭", | |||||
value: -1, | |||||
label: "不正常", | |||||
}, | }, | ||||
], | ], | ||||
value: "", | value: "", | ||||
@@ -141,7 +144,6 @@ export default { | |||||
methods: { | methods: { | ||||
// 关闭弹窗 | // 关闭弹窗 | ||||
handleClose() { | handleClose() { | ||||
console.log(123) | |||||
this.$emit("handle-close"); | this.$emit("handle-close"); | ||||
}, | }, | ||||
// 提交弹窗 | // 提交弹窗 | ||||
@@ -151,14 +153,30 @@ export default { | |||||
// 初始化弹窗参数 | // 初始化弹窗参数 | ||||
initDataView() { | initDataView() { | ||||
console.log("初始化弹窗参数"); | console.log("初始化弹窗参数"); | ||||
this.formData = JSON.parse(JSON.stringify(this.selectItem)); | |||||
}, | }, | ||||
// 提交表单 | // 提交表单 | ||||
submitForm() { | submitForm() { | ||||
this.$refs.formData.validate((valid) => { | |||||
if (valid && this.customValidate()) { | |||||
console.log("提交表单"); | |||||
} | |||||
}); | |||||
if (this.dialogTitle === "修改绑定的支付宝") { | |||||
this.selectItem.alipay_account = this.formData.alipay_account; | |||||
this.handleClose(); | |||||
return; | |||||
} | |||||
if (this.dialogTitle === "调整余额") { | |||||
this.selectItem.balance = this.formData.balance; | |||||
this.handleClose(); | |||||
return; | |||||
} | |||||
if (this.dialogTitle === "调整积分") { | |||||
this.selectItem.integral = this.formData.integral; | |||||
this.handleClose(); | |||||
return; | |||||
} | |||||
console.log(this.dialogTitle); | |||||
}, | }, | ||||
customValidate() { | customValidate() { | ||||
let rlt = true; | let rlt = true; | ||||
@@ -29,26 +29,57 @@ | |||||
</el-form> | </el-form> | ||||
<ActionButton | <ActionButton | ||||
@handle-refresh="refreshData" | |||||
@handle-refresh="_fetchData(true)" | |||||
@handle-search="isSearchVisible = !isSearchVisible" | @handle-search="isSearchVisible = !isSearchVisible" | ||||
/> | /> | ||||
<div> | <div> | ||||
<el-table :data="[{}]"> | |||||
<el-table :data="tableData"> | |||||
<el-table-column type="index" label="序号" align="center"></el-table-column> | <el-table-column type="index" label="序号" align="center"></el-table-column> | ||||
<el-table-column label="头像" align="center"></el-table-column> | |||||
<el-table-column label="会员id" align="center"></el-table-column> | |||||
<el-table-column label="会员昵称" align="center"></el-table-column> | |||||
<el-table-column label="手机号" align="center"></el-table-column> | |||||
<el-table-column label="会员等级" align="center"></el-table-column> | |||||
<el-table-column label="备注" align="center"></el-table-column> | |||||
<el-table-column label="头像" max-width="160" align="center"> | |||||
<template slot-scope="scope"> | |||||
<img | |||||
v-if="scope.row.avatarUrl" | |||||
:src="scope.row.avatarUrl" | |||||
class="circle-box size-35" | |||||
alt="avatar" | |||||
/> | |||||
<img v-else :src="defaultAvatar" class="circle-box size-35" alt="avatar" /> | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column | |||||
max-width="200" | |||||
label="会员id" | |||||
prop="id" | |||||
align="center" | |||||
></el-table-column> | |||||
<el-table-column | |||||
label="会员昵称" | |||||
prop="username" | |||||
align="center" | |||||
max-width="230" | |||||
></el-table-column> | |||||
<el-table-column | |||||
label="手机号" | |||||
max-width="220" | |||||
prop="mobile" | |||||
align="center" | |||||
></el-table-column> | |||||
<!-- <el-table-column label="会员等级" align="center"> | |||||
<template slot-scope="scope"> 会员等级1 </template> | |||||
</el-table-column> --> | |||||
<el-table-column label="备注" prop="remark" align="center" max-width="200"> | |||||
<template slot-scope="scope"> | |||||
{{ scope.row.remark || "-" }} | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column prop="address" label="操作" align="center" min-width="200px"> | <el-table-column prop="address" label="操作" align="center" min-width="200px"> | ||||
<template slot-scope="scope"> | <template slot-scope="scope"> | ||||
<CustomButton | <CustomButton | ||||
tip-text="查看明细" | tip-text="查看明细" | ||||
type="primary" | type="primary" | ||||
icon="el-icon-tickets" | icon="el-icon-tickets" | ||||
@onClick="handleDetalis" | |||||
@onClick="handleDetalis(scope.$index)" | |||||
></CustomButton> | ></CustomButton> | ||||
<CustomButton | <CustomButton | ||||
tip-text="删除" | tip-text="删除" | ||||
@@ -76,28 +107,48 @@ | |||||
</div> | </div> | ||||
</el-main> | </el-main> | ||||
<memberDialog :showDialog="isSearchDialog" @handle-close="handleClose"></memberDialog> | |||||
<memberDialog | |||||
:selectItem="selectItem" | |||||
:showDialog="isSearchDialog" | |||||
@handle-close="handleClose" | |||||
@handle-success="handleSuccess" | |||||
></memberDialog> | |||||
<DeleteDialog | |||||
:openDeleteDialog="openDeleteDialog" | |||||
@handle-success="onDetele" | |||||
@handle-close="deteleClose" | |||||
></DeleteDialog> | |||||
</el-container> | </el-container> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import ActionButton from "@/components/ActionButton/index"; | import ActionButton from "@/components/ActionButton/index"; | ||||
import CustomButton from "@/components/CustomButton/index"; | import CustomButton from "@/components/CustomButton/index"; | ||||
import memberDialog from "./components/memberDialog.vue"; | import memberDialog from "./components/memberDialog.vue"; | ||||
import DeleteDialog from "./components/delete-dialog.vue"; | |||||
// delete-dialog | |||||
import { getUserList, getUserDelete, getUserUpdate } from "@/api/member-management"; | |||||
export default { | export default { | ||||
components: { | components: { | ||||
ActionButton, | ActionButton, | ||||
CustomButton, | CustomButton, | ||||
memberDialog, | memberDialog, | ||||
DeleteDialog, | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
formData: {}, | |||||
selectItem: {}, | |||||
isSearchVisible: false, | isSearchVisible: false, | ||||
isSearchDialog: false, | isSearchDialog: false, | ||||
defaultAvatar: "./pic/default/default_avatar.png", | |||||
openDeleteDialog: false, | |||||
// 分页数据 | // 分页数据 | ||||
totalCount: 0, | totalCount: 0, | ||||
@@ -105,15 +156,48 @@ export default { | |||||
limit: 20, | limit: 20, | ||||
// 返回的数据 | // 返回的数据 | ||||
tableData: [], | tableData: [], | ||||
i_id: null, | |||||
select_i: null, | |||||
}; | }; | ||||
}, | }, | ||||
mounted() { | |||||
this._fetchData(); | |||||
}, | |||||
methods: { | methods: { | ||||
refreshData() { | |||||
console.log("刷新"); | |||||
_fetchData(refresh = false) { | |||||
getUserList({ | |||||
page_size: this.limit, | |||||
page: this.currentPage, | |||||
}).then((res) => { | |||||
if (res.error_code === 0) { | |||||
this.tableData = res.data.data; | |||||
this.totalCount = res.data.total; | |||||
refresh && this.$message.success("刷新成功"); | |||||
} | |||||
}); | |||||
}, | }, | ||||
handleDelete(index) { | handleDelete(index) { | ||||
console.log(index, "删除"); | |||||
this.openDeleteDialog = true; | |||||
this.i_id = this.tableData[index].id; | |||||
}, | |||||
onDetele() { | |||||
getUserDelete(this.i_id) | |||||
.then(() => { | |||||
this.$message.success("删除成功"); | |||||
this._fetchData(); | |||||
this.openDeleteDialog = false; | |||||
}) | |||||
.catch(() => { | |||||
this.openDeleteDialog = false; | |||||
}); | |||||
}, | |||||
deteleClose() { | |||||
this.openDeleteDialog = false; | |||||
}, | }, | ||||
// limit 改变 | // limit 改变 | ||||
@@ -129,13 +213,34 @@ export default { | |||||
this._fetchData(); | this._fetchData(); | ||||
}, | }, | ||||
handleDetalis() { | |||||
handleDetalis(i) { | |||||
this.isSearchDialog = true; | this.isSearchDialog = true; | ||||
this.selectItem = this.tableData[i]; | |||||
this.select_i = i; | |||||
}, | }, | ||||
handleClose() { | handleClose() { | ||||
this.isSearchDialog = false; | this.isSearchDialog = false; | ||||
}, | }, | ||||
handleSuccess() { | |||||
let data = this.tableData[this.select_i]; | |||||
getUserUpdate( data.id,{ | |||||
username: data.username, | |||||
mobile: data.mobile, | |||||
status: data.status, | |||||
password: data.password, | |||||
remark: data.remark, | |||||
}) | |||||
.then((res) => { | |||||
console.log(res); | |||||
this.$message.success("修改成功"); | |||||
}) | |||||
.catch((err) => { | |||||
console.log(err); | |||||
}); | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -148,7 +148,7 @@ export default { | |||||
'--title-height': '51px' | '--title-height': '51px' | ||||
}, | }, | ||||
dialogTitle: '查看书籍', | dialogTitle: '查看书籍', | ||||
dialogSubTitle: '笔趣谷', | |||||
dialogSubTitle: '笔趣阁', | |||||
isSearchVisible: true, | isSearchVisible: true, | ||||
// 表格数据 | // 表格数据 | ||||
tableData: [ | tableData: [ | ||||
@@ -5,43 +5,24 @@ | |||||
:open-btn1="true" | :open-btn1="true" | ||||
:text-btn1="'新增分类'" | :text-btn1="'新增分类'" | ||||
:open-btn5="true" | :open-btn5="true" | ||||
:text-btn5="'书源'" | |||||
:text-btn5="btn5Data.name" | |||||
:type-btn5="'warning'" | :type-btn5="'warning'" | ||||
:icon-btn5="'el-icon-tickets'" | :icon-btn5="'el-icon-tickets'" | ||||
@handle-button5="handleButton5" | |||||
@handle-refresh="refreshData" | @handle-refresh="refreshData" | ||||
@handle-button1="openEditDialog(null)" | @handle-button1="openEditDialog(null)" | ||||
:dropdownData="dropdownData" | |||||
/> | /> | ||||
<div> | <div> | ||||
<el-table | |||||
:data="[{}]" | |||||
border | |||||
fit | |||||
tooltip-effect="dark" | |||||
> | |||||
<el-table-column | |||||
type="index" | |||||
label="序号" | |||||
align="center" | |||||
width="80" | |||||
/> | |||||
<el-table-column | |||||
label="分类" | |||||
align="center" | |||||
/> | |||||
<el-table-column | |||||
label="书源" | |||||
align="center" | |||||
/> | |||||
<el-table-column | |||||
label="采集书籍数量" | |||||
align="center" | |||||
/> | |||||
<el-table-column | |||||
prop="address" | |||||
label="操作" | |||||
align="center" | |||||
> | |||||
<el-table :data="tableData" border fit tooltip-effect="dark"> | |||||
<el-table-column type="index" label="序号" align="center" width="80" /> | |||||
<el-table-column label="分类" align="center" prop="category_name" /> | |||||
<el-table-column label="书源" align="center"> | |||||
<template slot-scope="scope">{{ btn5Data.name }}</template> | |||||
</el-table-column> | |||||
<el-table-column label="采集书籍数量" align="center" /> | |||||
<el-table-column prop="address" label="操作" align="center"> | |||||
<template slot-scope="scope"> | <template slot-scope="scope"> | ||||
<CustomButton | <CustomButton | ||||
tip-text="查看明细" | tip-text="查看明细" | ||||
@@ -85,82 +66,134 @@ | |||||
:is-dialog="isEditDialog" | :is-dialog="isEditDialog" | ||||
:dialog-title="editTitleDialog" | :dialog-title="editTitleDialog" | ||||
@handle-close="isEditDialog = false" | @handle-close="isEditDialog = false" | ||||
:btn5Data="btn5Data" | |||||
:CategoryList="CategoryList" | |||||
/> | /> | ||||
<!-- 查看书籍弹窗--> | <!-- 查看书籍弹窗--> | ||||
<CheckBooksDialog | |||||
:is-dialog="isCheckDialog" | |||||
@handle-close="isCheckDialog = false" | |||||
/> | |||||
<CheckBooksDialog :is-dialog="isCheckDialog" @handle-close="isCheckDialog = false" /> | |||||
</el-container> | </el-container> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import ActionButton from '@/components/ActionButton/index' | |||||
import CustomButton from '@/components/CustomButton/index' | |||||
import EditDialog from './components/edit-dialog' | |||||
import CheckBooksDialog from './components/check-books-dialog' | |||||
import ActionButton from "@/components/ActionButton/index"; | |||||
import CustomButton from "@/components/CustomButton/index"; | |||||
import EditDialog from "./components/edit-dialog"; | |||||
import CheckBooksDialog from "./components/check-books-dialog"; | |||||
import { getPlatformList, getCategoryList } from "@/api/sort-management"; | |||||
export default { | export default { | ||||
components: { | components: { | ||||
ActionButton, | ActionButton, | ||||
CustomButton, | CustomButton, | ||||
EditDialog, | EditDialog, | ||||
CheckBooksDialog | |||||
CheckBooksDialog, | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
isCheckDialog: false, | isCheckDialog: false, | ||||
isEditDialog: false, | isEditDialog: false, | ||||
editTitleDialog: '', | |||||
editTitleDialog: "", | |||||
// 分页数据 | // 分页数据 | ||||
totalCount: 0, | totalCount: 0, | ||||
currentPage: 1, | currentPage: 1, | ||||
limit: 20, | limit: 20, | ||||
// 返回的数据 | // 返回的数据 | ||||
tableData: [] | |||||
} | |||||
tableData: [], | |||||
dropdownData: [], | |||||
CategoryList: [], | |||||
btn5Data: {}, | |||||
}; | |||||
}, | |||||
created() { | |||||
this.init(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
init() { | |||||
this.onPlatformList(); | |||||
}, | |||||
onPlatformList() { | |||||
getPlatformList().then((res) => { | |||||
let obj = res.data; | |||||
let arr = []; | |||||
for (let i in obj) { | |||||
arr.push({ | |||||
name: obj[i].name, | |||||
value: obj[i].value, | |||||
id: i, | |||||
}); | |||||
} | |||||
this.dropdownData = arr; | |||||
this.btn5Data = arr[0]; | |||||
this.onCategoryList(arr[0].value); | |||||
}); | |||||
}, | |||||
onCategoryList(source_platform) { | |||||
getCategoryList({ | |||||
source_platform, | |||||
}).then((res) => { | |||||
this.tableData = res.data; // 分类列表 | |||||
}); | |||||
}, | |||||
handleButton5(data) { | |||||
console.log(data) | |||||
this.btn5Data = data; | |||||
this.onCategoryList(data.value); | |||||
this.$forceUpdate(); | |||||
}, | |||||
refreshData() { | refreshData() { | ||||
console.log('刷新') | |||||
console.log("刷新"); | |||||
}, | }, | ||||
// 打开编辑弹窗操作 | // 打开编辑弹窗操作 | ||||
openEditDialog(row) { | openEditDialog(row) { | ||||
this.isEditDialog = true | |||||
this.isEditDialog = true; | |||||
if (row) { | if (row) { | ||||
this.editTitleDialog = '编辑分类' | |||||
this.editTitleDialog = "编辑分类"; | |||||
} else { | } else { | ||||
this.editTitleDialog = '新增分类' | |||||
this.editTitleDialog = "新增分类"; | |||||
} | } | ||||
}, | }, | ||||
// 打开查看书籍弹窗 | // 打开查看书籍弹窗 | ||||
openCheckBooksDialog() { | openCheckBooksDialog() { | ||||
this.isCheckDialog = '编辑分类' | |||||
this.isCheckDialog = true; | |||||
}, | }, | ||||
handleDelete(row) { | handleDelete(row) { | ||||
this.$confirm('是否确认删除该分类?删除后该分类信息将永久删除, 且不可复原, 请谨慎操作!', '删除提示', { | |||||
confirmButtonText: '确定', | |||||
cancelButtonText: '取消', | |||||
type: 'warning' | |||||
}).then(() => { | |||||
this.selectItem = row | |||||
}).catch(() => {}) | |||||
this.$confirm( | |||||
"是否确认删除该分类?删除后该分类信息将永久删除, 且不可复原, 请谨慎操作!", | |||||
"删除提示", | |||||
{ | |||||
confirmButtonText: "确定", | |||||
cancelButtonText: "取消", | |||||
type: "warning", | |||||
} | |||||
) | |||||
.then(() => { | |||||
this.selectItem = row; | |||||
}) | |||||
.catch(() => {}); | |||||
}, | }, | ||||
// limit 改变 | // limit 改变 | ||||
handleSizeChange(val) { | handleSizeChange(val) { | ||||
console.log(`每页 ${val} 条`) | |||||
this.limit = val | |||||
this._fetchData() | |||||
console.log(`每页 ${val} 条`); | |||||
this.limit = val; | |||||
this._fetchData(); | |||||
}, | }, | ||||
// 当前页面改变 | // 当前页面改变 | ||||
handleCurrentChange(val) { | handleCurrentChange(val) { | ||||
console.log(`当前页: ${val}`) | |||||
this.currentPage = val | |||||
this._fetchData() | |||||
} | |||||
} | |||||
} | |||||
console.log(`当前页: ${val}`); | |||||
this.currentPage = val; | |||||
this._fetchData(); | |||||
}, | |||||
}, | |||||
}; | |||||
</script> | </script> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||