mirror of
https://gitee.com/elegant_wings/dbd-meeting-wx-small.git
synced 2025-06-22 04:19:36 +08:00
382 lines
9.6 KiB
JavaScript
382 lines
9.6 KiB
JavaScript
let app = getApp();
|
|
|
|
import Notify from '@vant/weapp/notify/notify';
|
|
|
|
import {
|
|
selfFormatTimeYMDHMS
|
|
} from "../../../../utils/util.js"
|
|
|
|
import {
|
|
visitorPersonRq,
|
|
selectVisitorRecordByIdRq,
|
|
updateVisitorPersonStatusRq
|
|
} from "../../../../api/meeting/visitorIinvitation.js"
|
|
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
IMG_NAME: app.IMG_NAME,
|
|
id: null,
|
|
title: null,
|
|
userDetail: {},
|
|
idcardTypeShow: false,
|
|
idcardTypeList: [{
|
|
name: '居民身份证',
|
|
}, ],
|
|
visitTimeShow: false, // 到访时间show
|
|
visitTimeDate: new Date().getTime(), // 到访时间-当前
|
|
visitTimeMinDate: new Date().getTime(), // 到访时间-最小
|
|
leaveTimeShow: false, // 离开时间show
|
|
leaveTimeDate: new Date().getTime(), // 离开时间-当前
|
|
fileList: [], // 上传文件
|
|
detail: {
|
|
customerId: null, //企业id
|
|
customerName: null, //企业名称
|
|
userId: null, // 被访人id
|
|
username: null, //被访人姓名
|
|
mobile: null, //被访人手机号
|
|
intervieweeId: null, // 访客id
|
|
name: null, // 访客姓名
|
|
phone: null, // 访客手机号
|
|
cardType: '居民身份证', // 证件类型
|
|
cardNo: null, // 证件号
|
|
visitTime: null, // 到访时间
|
|
leaveTime: null, // 离开时间
|
|
visitContent: null, // 来访事由
|
|
photo: null, // 头像-相对路径
|
|
url: null, // 人脸设备图片-全路径
|
|
},
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
console.log('onLoad', options)
|
|
let _this = this;
|
|
let userDetail = wx.getStorageSync('user')
|
|
//
|
|
let detail = _this.data.detail;
|
|
// 添加 默认设置访客信息
|
|
detail.intervieweeId = userDetail.id // 访客id
|
|
detail.name = userDetail.username // 访客姓名
|
|
detail.phone = userDetail.mobile // 访客手机号
|
|
_this.setData({
|
|
...options,
|
|
userDetail,
|
|
detail
|
|
})
|
|
// 页面初始化 options为页面跳转所带来的参数
|
|
wx.setNavigationBarTitle({
|
|
title: options.title
|
|
})
|
|
},
|
|
|
|
// 跳转-索引栏(单位、人员)
|
|
jumpIndexBar(e) {
|
|
console.log('jumpIndexBar', e);
|
|
let _this = this;
|
|
let title = e.currentTarget.dataset.title
|
|
// 校验是否选择“被访单位” 后 ,再选择被访人信息
|
|
if (title == '人员' && !_this.data.detail.customerId) {
|
|
// 错误消息提示
|
|
_this.showErrMsg('请先选择被访单位!')
|
|
return;
|
|
}
|
|
// url 参数
|
|
let param = '?title=' + title;
|
|
if (title == '人员') {
|
|
param = param + '&id=' + _this.data.detail.customerId;
|
|
}
|
|
wx.navigateTo({
|
|
url: '/pages/meeting/visitorIinvitation/indexBar/indexBar' + param,
|
|
})
|
|
},
|
|
|
|
// 显示-身份证类型
|
|
showIdcardType() {
|
|
let _this = this;
|
|
_this.setData({
|
|
idcardTypeShow: true
|
|
})
|
|
},
|
|
|
|
// 选择-身份证类型
|
|
selectIdcardType(e) {
|
|
console.log('selectIdcardType', e);
|
|
let _this = this;
|
|
let detail = _this.data.detail;
|
|
detail.cardType = e.detail.name;
|
|
_this.setData({
|
|
idcardTypeShow: false,
|
|
detail
|
|
})
|
|
},
|
|
|
|
// 关闭-身份证类型
|
|
closeIdcardType() {
|
|
let _this = this;
|
|
_this.setData({
|
|
idcardTypeShow: false
|
|
})
|
|
},
|
|
|
|
// 显示-到访时间
|
|
showVisitTime() {
|
|
let _this = this;
|
|
_this.setData({
|
|
visitTimeShow: true
|
|
})
|
|
},
|
|
|
|
// 关闭-到访时间
|
|
closeVisitTime() {
|
|
let _this = this;
|
|
_this.setData({
|
|
visitTimeShow: false
|
|
})
|
|
},
|
|
|
|
// 确认-到访时间
|
|
confirmVisitTime(e) {
|
|
console.log('confirmVisitTime', e);
|
|
let _this = this;
|
|
let detail = _this.data.detail;
|
|
detail.visitTime = selfFormatTimeYMDHMS(e.detail);
|
|
_this.setData({
|
|
visitTimeShow: false,
|
|
visitTimeDate: e.detail,
|
|
detail
|
|
})
|
|
},
|
|
|
|
// 显示-离开时间
|
|
showLeaveTime() {
|
|
let _this = this;
|
|
_this.setData({
|
|
leaveTimeShow: true
|
|
})
|
|
},
|
|
|
|
// 关闭-离开时间
|
|
closeLeaveTime() {
|
|
let _this = this;
|
|
_this.setData({
|
|
leaveTimeShow: false
|
|
})
|
|
},
|
|
|
|
// 确认-离开时间
|
|
confirmLeaveTime(e) {
|
|
console.log('confirmLeaveTime111', e);
|
|
let _this = this;
|
|
let detail = _this.data.detail;
|
|
detail.leaveTime = selfFormatTimeYMDHMS(e.detail);
|
|
_this.setData({
|
|
leaveTimeShow: false,
|
|
leaveTimeDate: e.detail,
|
|
detail
|
|
})
|
|
},
|
|
|
|
|
|
// 图片-上传前校验
|
|
beforeRead(event) {
|
|
const {
|
|
file,
|
|
callback
|
|
} = event.detail;
|
|
callback(file.type === 'image');
|
|
},
|
|
|
|
// 图片-上传后
|
|
afterRead(event) {
|
|
let _this = this;
|
|
const {
|
|
file
|
|
} = event.detail;
|
|
// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
|
|
wx.uploadFile({
|
|
url: app.DOMAIN_NAME + '/api/dfs/upload',
|
|
filePath: file.url,
|
|
name: 'file',
|
|
formData: {},
|
|
success(res) {
|
|
console.log('upload file ', res);
|
|
let fileData = JSON.parse(res.data)
|
|
// 上传完成需要更新 fileList
|
|
let fileList = _this.data.fileList;
|
|
fileList.push({
|
|
relativeUrl: fileData.fileName,
|
|
url: app.IMG_NAME + fileData.fileName,
|
|
name: fileData.fileName,
|
|
deletable: true,
|
|
})
|
|
_this.setData({
|
|
fileList
|
|
})
|
|
},
|
|
});
|
|
},
|
|
|
|
// 删除图片
|
|
deleteImg(event) {
|
|
console.log('deleteImg', event);
|
|
let _this = this;
|
|
let fileList = _this.data.fileList;
|
|
fileList.splice(event.detail.index, 1);
|
|
_this.setData({
|
|
fileList
|
|
})
|
|
},
|
|
|
|
// input输入内容监听
|
|
fieldInput(e) {
|
|
console.log('fieldInput', e);
|
|
let _this = this;
|
|
let detail = _this.data.detail;
|
|
detail[e.currentTarget.dataset.name] = e.detail
|
|
_this.setData({
|
|
detail
|
|
})
|
|
},
|
|
|
|
// 提交数据
|
|
submitData() {
|
|
let _this = this;
|
|
// 上传文件列表
|
|
let fileList = _this.data.fileList;
|
|
// 数据
|
|
let detail = _this.data.detail;
|
|
//
|
|
// 校验数据
|
|
//
|
|
// 被访单位
|
|
if (!detail.customerId) {
|
|
_this.showErrMsg('请选择被访单位!')
|
|
return;
|
|
}
|
|
// 被访人姓名、电话
|
|
if (!detail.userId) {
|
|
_this.showErrMsg('请选择被访人姓名、电话!')
|
|
return;
|
|
}
|
|
// 访客姓名
|
|
if (!detail.name) {
|
|
_this.showErrMsg('请填写访客姓名!')
|
|
return;
|
|
}
|
|
// 访客手机号
|
|
if (!detail.phone) {
|
|
_this.showErrMsg('请填写访客手机号!')
|
|
return;
|
|
}
|
|
// 证件号
|
|
if (!detail.cardNo) {
|
|
_this.showErrMsg('请填写证件号!')
|
|
return;
|
|
}
|
|
// 到访时间
|
|
if (!detail.visitTime) {
|
|
_this.showErrMsg('请选择到访时间!')
|
|
return;
|
|
}
|
|
// 离开时间
|
|
if (!detail.leaveTime) {
|
|
_this.showErrMsg('请选择离开时间!')
|
|
return;
|
|
}
|
|
// 来访事由
|
|
if (!detail.visitContent) {
|
|
_this.showErrMsg('请填写来访事由!')
|
|
return;
|
|
}
|
|
// 图片上传
|
|
if (fileList && fileList.length > 0) {
|
|
detail.photo = fileList[0].relativeUrl // 头像-相对路径
|
|
detail.url = fileList[0].url // 人脸设备图片-全路径
|
|
} else {
|
|
_this.showErrMsg('请上传照片!')
|
|
return;
|
|
}
|
|
//
|
|
// 添加数据
|
|
visitorPersonRq(detail).then(res => {
|
|
console.log('visitorPersonRq', res);
|
|
// 刷新上个页面参数
|
|
let pages = getCurrentPages(); //获取page
|
|
let prevPage = pages[pages.length - 2]; //上一个页面(父页面)
|
|
prevPage.setData({
|
|
changeData: true
|
|
})
|
|
//
|
|
if (res.code == 0) {
|
|
wx.navigateBack()
|
|
} else {
|
|
_this.showErrMsg(res.msg)
|
|
}
|
|
})
|
|
},
|
|
|
|
|
|
// 显示错误消息
|
|
showErrMsg(msg) {
|
|
Notify({
|
|
type: 'danger',
|
|
message: msg
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
}
|
|
}) |