Commit 6e22e34c authored by Davve's avatar Davve

账号不可编辑

parent 62f313f5
...@@ -10,13 +10,13 @@ ...@@ -10,13 +10,13 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item style="margin-bottom: 40px;" prop="username" v-if="isShow"> <el-form-item v-if="isShow" style="margin-bottom: 40px;" prop="username">
<MDinput v-model="postForm.username" :maxlength="100" name="username" required disabled="disabled"> <MDinput v-model="postForm.username" :maxlength="100" name="username" required disabled="disabled">
账号 账号
</MDinput> </MDinput>
</el-form-item> </el-form-item>
<el-form-item style="margin-bottom: 40px;" prop="username" v-else> <el-form-item v-else style="margin-bottom: 40px;" prop="username">
<MDinput v-model="postForm.username" :maxlength="100" name="username" required> <MDinput v-model="postForm.username" :maxlength="100" name="username" required>
账号 账号
</MDinput> </MDinput>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item style="margin-bottom: 40px;" prop="password" v-show="is_show"> <el-form-item v-show="is_show" style="margin-bottom: 40px;" prop="password">
<MDinput v-model="postForm.password" :maxlength="100" name="password" required> <MDinput v-model="postForm.password" :maxlength="100" name="password" required>
密码 密码
</MDinput> </MDinput>
...@@ -76,145 +76,144 @@ ...@@ -76,145 +76,144 @@
</template> </template>
<script> <script>
import MDinput from '@/components/MDinput' import MDinput from '@/components/MDinput'
import Sticky from '@/components/Sticky' // 粘性header组件 import Sticky from '@/components/Sticky' // 粘性header组件
import {validateURL} from '@/utils/validate' import { validateURL } from '@/utils/validate'
import {CreateAccount, fetchAccountDetail,} from '@/api/account' import { CreateAccount, fetchAccountDetail } from '@/api/account'
import {userSearch} from '@/api/remoteSearch' import { userSearch } from '@/api/remoteSearch'
const defaultForm = { const defaultForm = {
status: 'draft', status: 'draft',
username: '', username: '',
password: '', password: '',
email: '', email: '',
phone: '', phone: '',
nick_name: '' nick_name: ''
} }
export default { export default {
name: 'GroupDetail', name: 'GroupDetail',
components: {MDinput, Sticky}, components: { MDinput, Sticky },
props: { props: {
isEdit: { isEdit: {
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
data() { data() {
const validateRequire = (rule, value, callback) => { const validateRequire = (rule, value, callback) => {
value = value.trim() value = value.trim()
if (value === '') { if (value === '') {
this.$message({ this.$message({
message: rule.field + '为必传项', message: rule.field + '为必传项',
type: 'error' type: 'error'
}) })
callback(new Error(rule.field + '为必传项')) callback(new Error(rule.field + '为必传项'))
} else {
callback()
}
}
const validatePasswordLength = (rule, value, callback) => {
value = value.trim()
if (value === '') {
this.$message({
message: rule.field + '为必传项',
type: 'error'
})
callback(new Error(rule.field + '为必传项'))
} else if ( value.length < 6) {
this.$message({
message: '密码不得少于6位',
type: 'error'
})
callback(new Error('密码不得少于6位'))
} else {
callback()
}
}
return {
postForm: Object.assign({}, defaultForm),
loading: false,
userListOptions: [],
rules: {
username: [{validator: validateRequire, trigger: 'blur'}],
nick_name: [{validator: validateRequire, trigger: 'blur'}],
email: [{validator: validateRequire, trigger: 'blur'}],
password: [{validator: validatePasswordLength, trigger: 'blur'}],
phone: [{validator: validateRequire, trigger: 'blur'}],
},
is_show: true
}
},
created() {
if (this.isEdit) {
const id = this.$route.params && this.$route.params.id
this.fetchData(id)
} else { } else {
this.postForm = Object.assign({}, defaultForm) callback()
} }
}
this.tempRoute = Object.assign({}, this.$route) const validatePasswordLength = (rule, value, callback) => {
}, value = value.trim()
methods: { if (value === '') {
fetchData(id) { this.$message({
fetchAccountDetail(id).then(response => { message: rule.field + '为必传项',
this.postForm = response.data.data.data type: 'error'
this.is_show = false })
}).catch(err => { callback(new Error(rule.field + '为必传项'))
console.log(err) } else if (value.length < 6) {
this.$message({
message: '密码不得少于6位',
type: 'error'
}) })
callback(new Error('密码不得少于6位'))
} else {
callback()
}
}
return {
postForm: Object.assign({}, defaultForm),
loading: false,
userListOptions: [],
rules: {
username: [{ validator: validateRequire, trigger: 'blur' }],
nick_name: [{ validator: validateRequire, trigger: 'blur' }],
email: [{ validator: validateRequire, trigger: 'blur' }],
password: [{ validator: validatePasswordLength, trigger: 'blur' }],
phone: [{ validator: validateRequire, trigger: 'blur' }]
}, },
submitForm() { isShow: false
this.$refs.postForm.validate(valid => { }
if (valid) { },
this.loading = true created() {
CreateAccount(this.postForm).then(response => { if (this.isEdit) {
if (response.data.data.code == 500) { const id = this.$route.params && this.$route.params.id
this.$notify({ this.fetchData(id)
title: '失败', } else {
message: response.data.data.message, this.postForm = Object.assign({}, defaultForm)
type: 'error', }
duration: 2000
})
this.loading = false;
return false;
}
this.$notify({
title: '成功',
message: response.data.data.message,
type: 'success',
duration: 2000
})
setTimeout(() => {
this.$router.push('/account/list')
}, 1000)
}).catch(err => { this.tempRoute = Object.assign({}, this.$route)
},
methods: {
fetchData(id) {
fetchAccountDetail(id).then(response => {
this.postForm = response.data.data.data
this.isShow = true
}).catch(err => {
console.log(err)
})
},
submitForm() {
this.$refs.postForm.validate(valid => {
if (valid) {
this.loading = true
CreateAccount(this.postForm).then(response => {
if (response.data.data.code == 500) {
this.$notify({ this.$notify({
title: '失败', title: '失败',
message: '操作失败', message: response.data.data.message,
type: 'danger', type: 'error',
duration: 2000 duration: 2000
}) })
}); this.loading = false
return false
}
this.$notify({
title: '成功',
message: response.data.data.message,
type: 'success',
duration: 2000
})
setTimeout(() => {
this.$router.push('/account/list')
}, 1000)
}).catch(err => {
this.$notify({
title: '失败',
message: '操作失败',
type: 'danger',
duration: 2000
})
})
this.postForm.status = 'published' this.postForm.status = 'published'
this.loading = false this.loading = false
} else { } else {
console.log('error submit!!') console.log('error submit!!')
return false return false
} }
}) })
}, },
getRemoteUserList(query) { getRemoteUserList(query) {
userSearch(query).then(response => { userSearch(query).then(response => {
if (!response.data.items) return if (!response.data.items) return
this.userListOptions = response.data.items.map(v => v.name) this.userListOptions = response.data.items.map(v => v.name)
}) })
}
} }
} }
}
</script> </script>
<style rel="stylesheet/scss" lang="scss" scoped> <style rel="stylesheet/scss" lang="scss" scoped>
......
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