Initial Commit
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
// add-person.js
|
||||
const storage = require('../../utils/storage')
|
||||
|
||||
Page({
|
||||
data: {
|
||||
personId: null,
|
||||
formData: {
|
||||
avatar: '',
|
||||
name: '',
|
||||
nickname: '',
|
||||
remark: ''
|
||||
}
|
||||
},
|
||||
|
||||
onLoad(options) {
|
||||
// 如果是编辑模式
|
||||
if (options.id) {
|
||||
this.setData({ personId: options.id })
|
||||
this.loadPerson(options.id)
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 加载人员信息(编辑模式)
|
||||
*/
|
||||
loadPerson(id) {
|
||||
const person = storage.getPersonById(id)
|
||||
if (person) {
|
||||
this.setData({ formData: person })
|
||||
wx.setNavigationBarTitle({ title: '编辑人员' })
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 输入框变化
|
||||
*/
|
||||
onInputChange(e) {
|
||||
const field = e.currentTarget.dataset.field
|
||||
const value = e.detail.value
|
||||
this.setData({
|
||||
[`formData.${field}`]: value
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 文本框变化
|
||||
*/
|
||||
onTextareaChange(e) {
|
||||
this.setData({
|
||||
'formData.remark': e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 选择头像
|
||||
*/
|
||||
chooseAvatar() {
|
||||
wx.chooseImage({
|
||||
count: 1,
|
||||
sizeType: ['compressed'],
|
||||
sourceType: ['album', 'camera'],
|
||||
success: (res) => {
|
||||
// 这里可以上传到服务器,暂时使用本地路径
|
||||
this.setData({
|
||||
'formData.avatar': res.tempFilePaths[0]
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 取消
|
||||
*/
|
||||
onCancel() {
|
||||
wx.navigateBack()
|
||||
},
|
||||
|
||||
/**
|
||||
* 提交
|
||||
*/
|
||||
onSubmit() {
|
||||
const { formData, personId } = this.data
|
||||
|
||||
// 验证姓名
|
||||
if (!formData.name || formData.name.trim() === '') {
|
||||
wx.showToast({
|
||||
title: '请输入姓名',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if (personId) {
|
||||
// 编辑模式
|
||||
const success = storage.updatePerson(personId, formData)
|
||||
if (success) {
|
||||
wx.showToast({
|
||||
title: '保存成功',
|
||||
icon: 'success'
|
||||
})
|
||||
setTimeout(() => {
|
||||
wx.navigateBack()
|
||||
}, 1500)
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: '保存失败',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
// 新增模式
|
||||
const newPerson = storage.addPerson({
|
||||
name: formData.name,
|
||||
nickname: formData.nickname || '',
|
||||
avatar: formData.avatar || '',
|
||||
remark: formData.remark || ''
|
||||
})
|
||||
|
||||
if (newPerson) {
|
||||
wx.showToast({
|
||||
title: '添加成功',
|
||||
icon: 'success'
|
||||
})
|
||||
setTimeout(() => {
|
||||
wx.navigateBack()
|
||||
}, 1500)
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: '添加失败',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user