405 lines
10 KiB
TypeScript
405 lines
10 KiB
TypeScript
// pages/informationEdit/informationEdit.ts
|
|
import { nationList } from "../../utils/index";
|
|
import { informationAdd, updateWithDataId, businessLinkNameList } from "../../apis/information";
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
nationList: [],
|
|
source: '',
|
|
value: '',
|
|
// type: 'edit',
|
|
dataName: '',
|
|
key: '',
|
|
keyId: '',
|
|
isAdd: false,
|
|
radioType: 0,
|
|
startDate: '',
|
|
endDate: '',
|
|
marryList: [{ name: '已婚' }, { name: '未婚' }, { name: '离异' }],
|
|
sfqrzOptions: [{ name: '全日制' }, { name: '非全日制' }],
|
|
zyccOptions: [{ name: '专科' }, { name: '本科' }, { name: '硕士研究生' }, { name: '博士研究生' }],
|
|
jyjgOptions: [{ name: '在读' }, { name: '结业' }, { name: '毕业' }, { name: '肄业' }],
|
|
zzmmOptions: [{ name: '中共党员' }, { name: '中共预备党员' }, { name: '共青团员' }, { name: '民革党员' }, { name: '民盟盟员' }, { name: '民建会员' }, { name: '民进会员' }, { name: '农工党党员' }, { name: '致公党党员' }, { name: '九三学社社员' }, { name: '台盟盟员' }, { name: '无党派人士' }, { name: '群众' }],
|
|
xzOptions: [{ name: '二年制' }, { name: '三年制' }, { name: '四年制' }, { name: '五年制' }],
|
|
endDateTyeps: [{ name: '当天', value: 0, checked: false }, { name: '至今', value: 1, checked: false }, { name: '时间选择', value: 2, checked: false }],
|
|
endDateType: '',
|
|
resultList: undefined,
|
|
businessNameAuthenticationTag: undefined
|
|
},
|
|
handleType(e: WechatMiniprogram.CustomEvent) {
|
|
this.setData({
|
|
radioType: e.currentTarget.dataset.value,
|
|
endDate: ''
|
|
})
|
|
},
|
|
bindNationChange(e: WechatMiniprogram.CustomEvent) {
|
|
const { nationList } = this.data
|
|
this.setData({
|
|
value: nationList[e.detail.value].name,
|
|
dataName: wx.getStorageSync('informationEditDataName')
|
|
})
|
|
},
|
|
bindMarryChange(e: WechatMiniprogram.CustomEvent) {
|
|
console.log(e);
|
|
|
|
this.setData({
|
|
value: this.data.marryList[e.detail.value].name
|
|
})
|
|
},
|
|
bindSfqrzChange(e: WechatMiniprogram.CustomEvent) {
|
|
this.setData({
|
|
value: this.data.sfqrzOptions[e.detail.value].name
|
|
})
|
|
},
|
|
bindZyccChange(e: WechatMiniprogram.CustomEvent) {
|
|
this.setData({
|
|
value: this.data.zyccOptions[e.detail.value].name
|
|
})
|
|
},
|
|
bindJyjgChange(e: WechatMiniprogram.CustomEvent) {
|
|
this.setData({
|
|
value: this.data.jyjgOptions[e.detail.value].name
|
|
})
|
|
},
|
|
bindXzChange(e: WechatMiniprogram.CustomEvent) {
|
|
this.setData({
|
|
value: this.data.xzOptions[e.detail.value].name
|
|
})
|
|
},
|
|
bindZzmmChange(e: WechatMiniprogram.CustomEvent) {
|
|
this.setData({
|
|
value: this.data.zzmmOptions[e.detail.value].name
|
|
})
|
|
},
|
|
inputChange(e: WechatMiniprogram.CustomEvent) {
|
|
const { key } = e.currentTarget.dataset
|
|
let type = key === '职业经历' ? 'EMPLOYER' : (key === '学历教育' ? 'ACADEMIC_EDUCATION' : 'NON_ACADEMIC_EDUCATION')
|
|
|
|
businessLinkNameList({ type, name: e.detail.value || undefined }).then((res: any) => {
|
|
this.setData({
|
|
resultList: res.d,
|
|
businessNameAuthenticationTag: false,
|
|
businessNameAuthenticationName: e.detail.value
|
|
})
|
|
})
|
|
},
|
|
|
|
handleEdit() {
|
|
const { dataId } = this.data.source
|
|
const { dataName, startDate, endDate, radioType, businessNameAuthenticationTag } = this.data
|
|
const { value } = this.data
|
|
|
|
let payload = {
|
|
updateDataList: [
|
|
{
|
|
dataId,
|
|
dataName,
|
|
dataValue: dataName === '时间' ? startDate + (endDate !== '' ? ',' + endDate : '') : value,
|
|
modifiable: true
|
|
}
|
|
]
|
|
}
|
|
if (businessNameAuthenticationTag !== undefined) {
|
|
payload.businessNameAuthenticationTag = businessNameAuthenticationTag;
|
|
payload.businessNameAuthenticationName = value
|
|
}
|
|
|
|
if (!value) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: `请输入${dataName}`
|
|
})
|
|
return
|
|
}
|
|
|
|
if (dataName === '手机号码') {
|
|
if (value.length !== 11) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: `${dataName}格式错误`
|
|
})
|
|
return
|
|
}
|
|
}
|
|
|
|
if (dataName === '时间') {
|
|
console.log(dataName);
|
|
|
|
if (new Date(startDate).getTime() > new Date(endDate).getTime()) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: `时间范围不正确`
|
|
})
|
|
return
|
|
}
|
|
}
|
|
|
|
if (dataName === '电子邮箱') {
|
|
if (!this.checkEmail(value)) return
|
|
}
|
|
if (radioType === 0) {
|
|
if (!startDate) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: `请选择开始时间`
|
|
})
|
|
return
|
|
}
|
|
}
|
|
|
|
console.log(payload);
|
|
|
|
updateWithDataId(payload).then((res: any) => {
|
|
if (res.c === 200) {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}
|
|
})
|
|
},
|
|
handleSelect(e) {
|
|
console.log(e);
|
|
|
|
// var pages = getCurrentPages();
|
|
// var prevPage = pages[pages.length - 2]
|
|
// prevPage.setData({ //修改上一个页面的变量
|
|
// jyjg: e.currentTarget.dataset.name,
|
|
// businessNameAuthenticationTag: e.currentTarget.dataset.authentication
|
|
// })
|
|
// wx.navigateBack({
|
|
// delta: 1
|
|
// })
|
|
const { dataId } = this.data.source
|
|
const { dataName, startDate, endDate, radioType, businessNameAuthenticationTag } = this.data
|
|
const { value } = this.data
|
|
|
|
let payload = {
|
|
businessNameAuthenticationTag: e.currentTarget.dataset.authentication,
|
|
businessNameAuthenticationName: e.currentTarget.dataset.name,
|
|
updateDataList: [
|
|
{
|
|
dataId,
|
|
dataName,
|
|
dataValue: e.currentTarget.dataset.name,
|
|
modifiable: true
|
|
}
|
|
]
|
|
}
|
|
console.log(payload);
|
|
|
|
updateWithDataId(payload).then((res: any) => {
|
|
if (res.c === 200) {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}
|
|
})
|
|
},
|
|
checkEmail: function (email) { //自定义函数,检查输入的邮箱地址是否满足要求
|
|
let str = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/ //正则表达式
|
|
if (str.test(email)) { //检查正则表达式是否符合邮箱地址要求
|
|
return true
|
|
} else {
|
|
wx.showToast({ //显示消息提示框
|
|
title: '邮箱格式错误',
|
|
icon: 'none'
|
|
})
|
|
return false
|
|
}
|
|
},
|
|
handleCreate() {
|
|
const {
|
|
dataName, keyId, value, key, startDate
|
|
, endDate
|
|
} = this.data
|
|
if (!value) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: `请选择或输入${dataName}`
|
|
})
|
|
return
|
|
}
|
|
if (dataName === '电子邮箱') {
|
|
if (!this.checkEmail(value)) return
|
|
}
|
|
if (dataName === '时间') {
|
|
console.log(dataName);
|
|
|
|
if (new Date(startDate).getTime() > new Date(endDate).getTime()) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: `时间范围不正确`
|
|
})
|
|
return
|
|
}
|
|
}
|
|
|
|
let filters = ["手机号码", "座机号码", "通信地址", "电子邮箱"];
|
|
|
|
let payload = {}
|
|
if (filters.indexOf(dataName) > -1) {
|
|
payload = {
|
|
jsonObject: {
|
|
[keyId]: {
|
|
[dataName]: [{ 值: value }]
|
|
}
|
|
}
|
|
}
|
|
} else if (key === '基础信息') {
|
|
payload = {
|
|
jsonObject: {
|
|
[keyId]: {
|
|
[dataName]: value
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
payload = {
|
|
jsonObject: {
|
|
[keyId]: [{
|
|
[dataName]: value
|
|
}]
|
|
}
|
|
}
|
|
}
|
|
|
|
// console.log(payload);
|
|
|
|
informationAdd(payload).then((res: any) => {
|
|
if (res.c === 200) {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
if (options.type === 'edit') {
|
|
let { endDateTyeps, endDateType } = this.data
|
|
if (wx.getStorageSync('informationEditInfo').dataValue.split(',')[1] === '当天') {
|
|
endDateTyeps[0].checked = true
|
|
endDateType = 0
|
|
} else if (wx.getStorageSync('informationEditInfo').dataValue.split(',')[1] === '至今') {
|
|
endDateTyeps[1].checked = true
|
|
endDateType = 1
|
|
} else {
|
|
endDateType = 2
|
|
endDateTyeps[2].checked = true
|
|
}
|
|
this.setData({
|
|
endDateTyeps,
|
|
endDateType
|
|
})
|
|
this.setData({
|
|
// @ts-ignore
|
|
|
|
nationList: nationList(),
|
|
source: wx.getStorageSync('informationEditInfo'),
|
|
value: wx.getStorageSync('informationEditInfo').dataValue,
|
|
dataName: wx.getStorageSync('informationEditDataName'),
|
|
isAdd: false,
|
|
keyId: options.keyId,
|
|
radioType: wx.getStorageSync('informationEditInfo').dataValue.split(',').length > 1 ? 0 : 1,
|
|
startDate: wx.getStorageSync('informationEditInfo').dataValue.split(',')[0],
|
|
endDate: wx.getStorageSync('informationEditInfo').dataValue.split(',')[1],
|
|
key: wx.getStorageSync('informationName'),
|
|
// endDateTypes:endDateTyeps,
|
|
// endDateType: 0
|
|
// type: options.type
|
|
})
|
|
|
|
} else {
|
|
this.setData({
|
|
// @ts-ignore
|
|
nationList: nationList(),
|
|
dataName: wx.getStorageSync('informationEditDataName'),
|
|
isAdd: true,
|
|
keyId: options.keyId,
|
|
key: wx.getStorageSync('informationName')
|
|
})
|
|
}
|
|
|
|
},
|
|
radioChange(e) {
|
|
console.log(e);
|
|
const value = Number(e.detail.value)
|
|
switch (value) {
|
|
case 0:
|
|
this.setData({
|
|
endDate: '当天',
|
|
endDateType: value
|
|
})
|
|
break;
|
|
case 1:
|
|
this.setData({
|
|
endDate: '至今',
|
|
endDateType: value
|
|
})
|
|
break;
|
|
case 2:
|
|
this.setData({
|
|
endDate: '',
|
|
endDateType: value
|
|
})
|
|
break;
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |