2022-12-04 21:42:59 +08:00

160 lines
3.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="container">
<view style="padding: 20px;">
<u--form
labelPosition="left"
labelWidth="100px"
:model="form"
:rules="rules"
ref="formRef"
>
<u-form-item
label="用户姓名"
prop="name"
borderBottom
:required="true"
>
<u--input
v-model="form.name"
placeholder="请输入用户姓名"
border="none"
></u--input>
</u-form-item>
<u-form-item
label="用户昵称"
prop="nickname"
borderBottom
:required="false"
>
<u--input
v-model="form.nickname"
placeholder="请输入用户昵称"
border="none"
></u--input>
</u-form-item>
<u-form-item
label="手机号码"
prop="telephone"
borderBottom
:required="true"
>
<u--input
v-model="form.telephone"
placeholder="请输入手机号码"
border="none"
></u--input>
</u-form-item>
<u-form-item
label="用户性别"
prop="gender"
borderBottom
:required="false"
>
<u-radio-group v-model="form.gender">
<u-radio
:customStyle="{marginRight: '16px'}"
v-for="(item, index) in genderOptions"
:key="index"
:label="item.label"
:name="item.value"
>
</u-radio>
</u-radio-group>
</u-form-item>
</u--form>
<view style="margin-top: 20px;">
<u-button :loading="btnLoading" type="primary" @click="submit" text="提交"></u-button>
</view>
</view>
</view>
</template>
<script>
import { getInfo } from '@/common/request/api/login'
import { updateCurrentUser } from '@/common/request/api/vadmin/auth/user.js'
export default {
data() {
return {
btnLoading: false,
form: {
name: "",
nickname: "",
telephone: "",
gender: ""
},
rules: {
name: {
type: 'string',
required: true,
message: '请填写姓名',
trigger: ['blur', 'change']
},
telephone: [
{
type: 'string',
required: true,
message: '请填写正确手机号',
trigger: ['blur', 'change']
},
{
validator: (rule, value, callback) => {
// 上面有说返回true表示校验通过返回false表示不通过
// uni.$u.test.mobile()就是返回true或者false的
return uni.$u.test.mobile(value);
},
message: '手机号码不正确',
// 触发器可以同时用blur和change
trigger: ['change','blur'],
}
]
},
genderOptions: []
}
},
onLoad() {
this.$store.dispatch('getDicts', ["sys_vadmin_gender"]).then(result => {
this.genderOptions = result.sys_vadmin_gender
})
// this.resetForm()
this.getUser()
},
onReady() {
//onReady 为uni-app支持的生命周期之一
this.$refs.formRef.setRules(this.rules)
},
methods: {
resetForm() {
this.form = {
name: "",
nickname: "",
telephone: "",
gender: ""
}
},
getUser() {
getInfo().then(res => {
this.form = res.data
})
},
submit(ref) {
this.$refs.formRef.validate().then(res => {
this.btnLoading = true
updateCurrentUser(this.form).then(res => {
this.$store.dispatch('UpdateInfo', res.data)
this.$modal.msgSuccess("更新成功");
}).finally(() => {
this.btnLoading = false
})
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
</style>