Commit 1422d629 authored by zhengke's avatar zhengke

成员 账户等编辑

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