用户邮箱

This commit is contained in:
徐哼唧L
2024-01-31 09:00:44 +08:00
parent d833be0257
commit 6e4df65771
3 changed files with 104 additions and 117 deletions

View File

@@ -77,7 +77,7 @@
<el-radio :label="2">国学经典</el-radio> <el-radio :label="2">国学经典</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="古书" prop="relationId"> <el-form-item label="相关古书" prop="relationId">
<el-select v-model="dataForm.relationId" filterable allow-create default-first-option <el-select v-model="dataForm.relationId" filterable allow-create default-first-option
placeholder="请选择古书"> placeholder="请选择古书">
<el-option :key="0" label="无" :value="0"></el-option> <el-option :key="0" label="无" :value="0"></el-option>

View File

@@ -3,12 +3,15 @@
@close="handlereset"> @close="handlereset">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
label-width="120px"> label-width="120px">
<el-form-item label="姓名" prop="name">
<el-input v-model="dataForm.name" placeholder="姓名"></el-input>
</el-form-item>
<el-form-item label="电话" prop="tel"> <el-form-item label="电话" prop="tel">
<el-input v-model="dataForm.tel" placeholder="电话"></el-input> <el-input v-model="dataForm.tel" placeholder="电话"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="dataForm.name" placeholder="姓名"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password" v-if="!dataForm.id"> <el-form-item label="密码" prop="password" v-if="!dataForm.id">
<el-input v-model="dataForm.password" placeholder="密码"></el-input> <el-input v-model="dataForm.password" placeholder="密码"></el-input>
</el-form-item> </el-form-item>
@@ -134,6 +137,7 @@
id: 0, id: 0,
name: '', name: '',
age: '', age: '',
email: '',
sex: 2, sex: 2,
avatar: '', avatar: '',
nickname: '', nickname: '',
@@ -154,71 +158,31 @@
prescriptBPower: 0, prescriptBPower: 0,
}, },
dataRule: { dataRule: {
name: [{
required: true,
message: '姓名不能为空',
trigger: 'blur'
}],
password: [{ password: [{
required: true, required: true,
message: '密码不能为空', message: '密码不能为空',
trigger: 'blur' trigger: 'blur'
}], }],
// age: [ // tel: [{
// { required: true, message: '年龄不能为空', trigger: 'blur' } // validator: function(rule, value, callback) {
// ], // if (/^1[34578]\d{9}$/.test(value) == false) {
// sex: [ // callback(new Error("手机号格式错误"));
// { required: true, message: '性别不能为空', trigger: 'blur' } // } else {
// ], // callback();
// avatar: [ // }
// { required: true, message: '头像不能为空', trigger: 'blur' } // },
// ], // trigger: "blur"
// nickname: [ // }],
// { required: true, message: '昵称不能为空', trigger: 'blur' } // email: [{
// ], // validator: function(rule, value, callback) {
tel: [{ // if (/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/.test(value) == false) {
required: true, // callback(new Error("邮箱格式错误"));
message: '电话不能为空', // } else {
trigger: 'blur' // callback();
}, // }
{ // },
validator: function(rule, value, callback) { // trigger: "blur"
if (/^1[34578]\d{9}$/.test(value) == false) { // }],
callback(new Error("手机号格式错误"));
} else {
callback();
}
},
trigger: "blur"
}
],
// password: [
// { required: true, message: '密码不能为空', trigger: 'blur' }
// ],
// vip: [
// { required: true, message: '0-普通 1-vip不能为空', trigger: 'blur' }
// ],
// vipValidtime: [
// { required: true, message: 'vip 有效期不能为空', trigger: 'blur' }
// ],
// peanutCoin: [
// { required: true, message: '花生币不能为空', trigger: 'blur' }
// ],
// readTime: [
// { required: true, message: '阅读时间不能为空', trigger: 'blur' }
// ],
// lastLoginTime: [
// { required: true, message: '最后登录时间不能为空', trigger: 'blur' }
// ],
// createTime: [
// { required: true, message: '创建时间不能为空', trigger: 'blur' }
// ],
// updateTime: [
// { required: true, message: '更新时间不能为空', trigger: 'blur' }
// ],
// delFlag: [
// { required: true, message: '删除标记不能为空', trigger: 'blur' }
// ]
} }
} }
}, },
@@ -238,6 +202,7 @@
}) => { }) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.dataForm.name = data.user.name this.dataForm.name = data.user.name
this.dataForm.email = data.user.email
this.dataForm.age = data.user.age this.dataForm.age = data.user.age
this.dataForm.sex = data.user.sex this.dataForm.sex = data.user.sex
this.dataForm.avatar = data.user.avatar this.dataForm.avatar = data.user.avatar
@@ -273,63 +238,83 @@
}, },
// 表单提交 // 表单提交
dataFormSubmit() { dataFormSubmit() {
this.$refs['dataForm'].validate((valid) => { if (!this.dataForm.email && !this.dataForm.tel) {
let myData = {} this.$message.error("手机号或邮箱不为空!")
if (!this.dataForm.id) { return
myData = { }
'name': this.dataForm.name,
'tel': this.dataForm.tel, if (this.dataForm.email) {
} if (/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/.test(this.dataForm.email) == false) {
} else { this.$message.error("邮箱格式错误!")
myData = { return
'id': this.dataForm.id,
'name': this.dataForm.name,
'age': this.dataForm.age,
'sex': this.dataForm.sex,
'avatar': this.dataForm.avatar,
'nickname': this.dataForm.nickname,
'tel': this.dataForm.tel,
'pointPower': this.dataForm.pointPower,
'tgdzPower': this.dataForm.tgdzPower,
'wylqPower': this.dataForm.wylqPower,
'prescriptAPower': this.dataForm.prescriptAPower,
'prescriptBPower': this.dataForm.prescriptBPower,
// 'password': this.dataForm.password,
// 'vip': this.dataForm.vip,
// 'vipValidtime': this.dataForm.vipValidtime,
// 'peanutCoin': this.dataForm.peanutCoin,
// 'readTime': this.dataForm.readTime,
// 'lastLoginTime': this.dataForm.lastLoginTime,
// 'createTime': this.dataForm.createTime,
// 'updateTime': this.dataForm.updateTime,
// 'delFlag': this.dataForm.delFlag
}
} }
console.log('myData', myData) }
if (valid) {
this.$http({ if (this.dataForm.tel) {
url: this.$http.adornUrl(`/book/user/${!this.dataForm.id ? 'save' : 'update'}`), if (/^1[34578]\d{9}$/.test(this.dataForm.tel) == false) {
method: 'post', this.$message.error("手机格式错误!")
data: this.$http.adornData(myData) return
}).then(({ }
data }
}) => {
if (data && data.code === 0) { let myData = {}
this.$message({ if (!this.dataForm.id) {
message: '操作成功', myData = {
type: 'success', 'name': this.dataForm.name,
duration: 1500, 'tel': this.dataForm.tel,
onClose: () => { }
this.visible = false } else {
this.$emit('refreshDataList') myData = {
} 'id': this.dataForm.id,
}) 'name': this.dataForm.name,
} else { 'email': this.dataForm.email,
this.$message.error(data.msg) 'age': this.dataForm.age,
'sex': this.dataForm.sex,
'avatar': this.dataForm.avatar,
'nickname': this.dataForm.nickname,
'tel': this.dataForm.tel,
'pointPower': this.dataForm.pointPower,
'tgdzPower': this.dataForm.tgdzPower,
'wylqPower': this.dataForm.wylqPower,
'prescriptAPower': this.dataForm.prescriptAPower,
'prescriptBPower': this.dataForm.prescriptBPower,
// 'password': this.dataForm.password,
// 'vip': this.dataForm.vip,
// 'vipValidtime': this.dataForm.vipValidtime,
// 'peanutCoin': this.dataForm.peanutCoin,
// 'readTime': this.dataForm.readTime,
// 'lastLoginTime': this.dataForm.lastLoginTime,
// 'createTime': this.dataForm.createTime,
// 'updateTime': this.dataForm.updateTime,
// 'delFlag': this.dataForm.delFlag
}
}
console.log('myData', myData)
this.$http({
url: this.$http.adornUrl(`/book/user/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData(myData)
}).then(({
data
}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
} }
}) })
} else {
this.$message.error(data.msg)
} }
}) })
}, },
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dataForm.avatar = file.url; this.dataForm.avatar = file.url;
@@ -355,4 +340,4 @@
}, },
} }
} }
</script> </script>

View File

@@ -47,6 +47,8 @@
</el-table-column> </el-table-column>
<el-table-column prop="tel" header-align="center" align="center" label="电话"> <el-table-column prop="tel" header-align="center" align="center" label="电话">
</el-table-column> </el-table-column>
<el-table-column prop="email" header-align="center" align="center" label="邮箱">
</el-table-column>
<!-- <el-table-column <!-- <el-table-column
prop="password" prop="password"
header-align="center" header-align="center"