Commit 1422d629 authored by zhengke's avatar zhengke

成员 账户等编辑

parent 6fb88281
......@@ -3,6 +3,16 @@ import Api, { HttpResponse, Result } from './../utils/request';
class UserServices {
static async SetMembers(id:Number,utype:Number,account:Number,mail:String,phone:Number):Promise<HttpResponse>{
let msg = {id,utype,account,mail,phone}
return Api.Post("travel_SetMembers",msg)
}
static async GetMemberUserInfo():Promise<HttpResponse>{
let msg = {}
return Api.Post("travel_GetMemberUserInfo",msg)
}
static async setMyNickNamed(nk:string):Promise<HttpResponse>{
let msg = {nk}
return Api.Post("travel_SetMyNickName",msg)
......
......@@ -65,7 +65,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="" label="邮箱">
<el-table-column prop="" label="邮箱" min-width="210">
<template #default="scope">
<div class="col row items-center user-nickname" v-if="editorTarget!=scope.row.id||editorIndex!=2">
<span class="q-ml-md">
......@@ -80,7 +80,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="" label="手机号">
<el-table-column prop="" label="手机号" min-width="160">
<template #default="scope">
<div class="col row items-center user-nickname" v-if="editorTarget!=scope.row.id||editorIndex!=3">
<span class="q-ml-md">
......@@ -188,7 +188,7 @@ const used = ref<number[]>([0,0])
const memberListRef = ref()
const editorTarget = ref('')
const editorIndex = ref(0)
const nickNameModel = ref('')
const nickNameModel = ref(''|| Number)
const removeVisible = ref(false)
const removeTokenStr = ref('')
const removeMemberModel = ref<any>()
......@@ -206,6 +206,8 @@ const parameters = ref<any>({
pageIndex:1,
pageSize:20
})
const mailRegex = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/
const setNickNameHandler = (target:any,type:number) =>{
editorIndex.value = type
if(target){
......@@ -285,16 +287,23 @@ const setMemberManagerStatus = async (target:any,value:0|1)=>{
}
const setMemberNickName = async (target:any,type:any)=>{
if(loading.value || nickNameModel.value=='') return
if(type==2&&!mailRegex.test(nickNameModel.value)) return ElMessage.error({message:'请输入正确的邮箱'})
loading.value=true
let response
if(type==0) response = await UserServices.SetMemberInfoAsync(nickNameModel.value,target.id,-1)
if(type==1) response = await UserServices.SetMembers(target.id,1,nickNameModel.value,target.mail,target.mobile)
if(type==2) response = await UserServices.SetMembers(target.id,2,target.account,nickNameModel.value,target.mobile)
if(type==3) response = await UserServices.SetMembers(target.id,3,target.account,target.mail,nickNameModel.value)
if(response){
if(response.data.resultCode == ApiResult.SUCCESS){
ElMessage.success({message:'更新成功'})
target.name =nickNameModel.value
if(type==0) target.name =nickNameModel.value
if(type==1) target.account =nickNameModel.value
if(type==2) target.mail =nickNameModel.value
if(type==3) target.mobile =nickNameModel.value
if(userInfo.value.id==target.id){
if(userInfo.value.id==target.id&&type==0){
userInfo.value.nickname = nickNameModel.value
}
setNickNameHandler(null)
......
......@@ -894,10 +894,13 @@ onMounted(()=>{
right: 61px;
}
.Market-select ::v-deep(.el-input__wrapper){
box-shadow: 0 0 0;
/* box-shadow: 0 0 0; */
border-radius: 8px 0 0 8px;
padding: 1px 23px;
}
::v-deep(.el-input__wrapper.is-focus){
/* box-shadow: 0 0 0; */
}
::v-deep(.el-input-group__append){
box-shadow: 0 0 0;
background: #fff;
......
......@@ -15,7 +15,7 @@
<input type="text" ref="nicknameRef" class="nickname"
v-model="userInfo.nickname" :autofocus="true" v-show="isEditorNickname" @blur="()=>{isEditorNickname=false,bindHandler()}">
</div>
<div class="text-small text-info text-center">用户ID:9020345764199812103</div>
<!-- <div class="text-small text-info text-center">用户ID:9020345764199812103</div> -->
<div class="q-mt-lg setting-body rounded">
<!-- <div class="setting-item">
<div>
......@@ -27,9 +27,9 @@
<div class="setting-item">
<div>
<div class="text-dark">邮箱</div>
<div class="">绑定邮箱后,可以更方便的登录、管理稿定账号</div>
<div class="">{{Mailbox?Mailbox:'绑定邮箱后,可以更方便的登录、管理稿定账号'}}</div>
</div>
<el-button @click="bindDatas(1)">立即绑定</el-button>
<el-button @click="bindDatas(1)">{{Mailbox?'更换邮箱':'立即绑定'}}</el-button>
</div>
<!-- <div class="setting-item">
<div>
......@@ -89,9 +89,9 @@
<el-input v-model="model.pwd" type="password" placeholder="新密码" autocomplete="new-password" show-password/>
</el-form-item>
</template>
<el-form-item label="">
<!-- <el-form-item label="">
<vue-hcaptcha ref="invisibleHcaptchaBind" sitekey="46e00e53-ddb2-4e7b-9c51-621534c2f1f5" @verify="verifyHandler"></vue-hcaptcha>
</el-form-item>
</el-form-item> -->
</el-form>
<template #footer>
<div class="dialog-footer">
......@@ -131,6 +131,7 @@ const model = ref({
mail:'',
code:''
} as any)
const Mailbox = ref('')
const validateToken = ref('')
const invisibleHcaptchaBind = ref<VueHcaptcha|null>(null)
const bindFormRef = ref<FormInstance>()
......@@ -177,11 +178,11 @@ const submitForm = async (formEl: FormInstance | undefined) => {
await formEl.validate(async (valid) => {
loading.value=true
if (valid) {
if (invisibleHcaptchaBind.value && validateToken.value == '') {
invisibleHcaptchaBind.value.execute()
loading.value=false
return
}
// if (invisibleHcaptchaBind.value && validateToken.value == '') {
// invisibleHcaptchaBind.value.execute()
// loading.value=false
// return
// }
await bindHandler()
}
loading.value=false
......@@ -228,7 +229,7 @@ const sendVerifyCode = async () => {
const bindDatas = (type:Number) =>{
dialogType.value = type
if(type==1) dialogTitle.value = '绑定邮箱'
if(type==1) dialogTitle.value = Mailbox.value?'更换邮箱':'绑定邮箱'
if(type==2) dialogTitle.value = '更换密码'
dialogVisible.value = true
}
......@@ -243,9 +244,17 @@ const editorNicknameHandler = (target:HTMLElement|undefined,type:Number)=>{
})
}
const getInfo = async () => {
const response = await UserServices.GetMemberUserInfo()
if(response.data.resultCode == ApiResult.SUCCESS){
Mailbox.value = response.data.data.mail
}
}
const verifyHandler = (token:string,ekey:string)=>{
validateToken.value = token
}
getInfo()
</script>
<style>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment