jhwxapp/miniprogram/pageage/educations-add/index.js

353 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// pages/educations-add/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
loadShow:false,
loginName:'',
userName:'',
deptId:'',
projectName:'',
projectId:'',
//参数
fileDataList:[],
educationTypeList:[],
cooperationTeamList:[],
trainingType:'',
trainingStartTime:'',
trainingEndTime:'',
trainingStartTime2:'',
trainingEndTime2:'',
trainingContent:'',
collaborateRanksId:'',
collaborateRanksName:'',
attendNumber:'',
activeName:'',
activeIndex:'',
// defaultStartTime:"",
// defaultEndTime:"",
maxDate:new Date(2100,1,1).getTime(),
},
//选择培训类型
onSelectEducationType(e){
this.setData({
trainingType:e.detail.id
})
if(e.detail.id == 4) {
this.setData({
trainingStartTime:this.dateFormat("yyyy-MM-dd",new Date()),
trainingStartTime2:new Date().getTime(),
trainingEndTime:this.addDay(this.dateFormat("yyyy-MM-dd",new Date()),8),
trainingEndTime2:new Date(this.addDay(this.dateFormat("yyyy-MM-dd",new Date()),8)).getTime()
})
} else {
this.setData({
trainingStartTime:this.dateFormat("yyyy-MM-dd",new Date()),
trainingStartTime2:new Date().getTime(),
trainingEndTime:this.dateFormat("yyyy-MM-dd",new Date()),
trainingEndTime2:new Date().getTime()
})
}
},
//培训开始时间
onStartTime(e){
var that = this
that.setData({
trainingStartTime:e.detail,
trainingStartTime2:new Date(e.detail).getTime()
})
let trainingEndTime = e.detail
let trainingEndTime2 = new Date(e.detail).getTime()
if(that.data.trainingType == 4) {
trainingEndTime = that.addDay(e.detail,8)
trainingEndTime2 = new Date(that.addDay(e.detail,8)).getTime()
}
that.setData({
trainingEndTime:trainingEndTime,
trainingEndTime2 :trainingEndTime2
})
},
//培训结束时间
onEndTime(e){
this.setData({
trainingEndTime:e.detail
})
},
//培训内容
onInputContent(e){
this.setData({
trainingContent:e.detail.value
})
},
//协作队伍
onCooperationTeam(e){
let collaborateRanksId = '';
let collaborateRanksName = '';
for(let i = 0;i<e.detail.length;i++){
collaborateRanksId += e.detail[i].id+ ","
collaborateRanksName += e.detail[i].text+ ","
}
if (collaborateRanksId.length > 0) {
collaborateRanksId = collaborateRanksId.substr(0, collaborateRanksId.length - 1);
}if (collaborateRanksName.length > 0) {
collaborateRanksName = collaborateRanksName.substr(0, collaborateRanksName.length - 1);
}
this.setData({
collaborateRanksId:collaborateRanksId,
collaborateRanksName:collaborateRanksName,
})
},
//参与人数
onInputNumber(e){
this.setData({
attendNumber:e.detail.value
})
},
onClickShow() {
this.setData({ loadShow: true });
},
onClickHide() {
this.setData({ loadShow: false });
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var that = this;
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:function(res){
let educationTypeList = [{text:'三级安全教育',id:4},{text:'班前讲话',id:5},{text:'专项培训',id:3},{text:'应急演练',id:6}];
let activeName;
let activeIndex;
let trainingType;
let trainingStartTime = that.getNowDate()
let trainingEndTime;
for(let i = 0;i<educationTypeList.length;i++){
if(options.activeState == educationTypeList[i].id){
activeName = educationTypeList[i].text;
activeIndex = i;
trainingType = educationTypeList[i].id;
break;
}
}
if(trainingType == 4) {
trainingEndTime = that.addDay(that.dateFormat("yyyy-MM-dd",new Date()),8)
} else {
trainingEndTime = that.getNowDate()
}
that.setData({
loginName:res.data.loginName,
userName:res.data.userName,
deptId:res.data.deptId,
projectId:options.projectId,
projectName:options.projectName,
activeName:activeName,
activeIndex:activeIndex,
educationTypeList:educationTypeList,
trainingType:trainingType,
trainingStartTime:trainingStartTime,
trainingStartTime2:new Date(trainingStartTime).getTime(),
trainingEndTime:trainingEndTime,
trainingEndTime2:new Date(trainingEndTime).getTime()
})
that.getCollaborativeTeam();
}
})
},
/**
* 获取当前年月日
*/
getNowDate(){
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
month = (month > 9) ? month : ("0" + month);
day = (day < 10) ? ("0" + day) : day;
var today = year + "-" + month + "-" + day;
console.log(today);
return today;
},
addDay(datetime, days) {
var old_time = new Date(datetime.replace(/-/g, "/")); //替换字符js不认2013-01-31,只认2013/01/31
var fd = new Date(old_time.valueOf() + days * 24 * 60 * 60 * 1000); //日期加上指定的天数
var new_time = fd.getFullYear() + "-";
var month = fd.getMonth() + 1;
if (month >= 10) {
new_time += month + "-";
} else {
//在小于10的月份上补0
new_time += "0" + month + "-";
}
if (fd.getDate() >= 10) {
new_time += fd.getDate();
} else {
//在小于10的日期上补0
new_time += "0" + fd.getDate();
}
return new_time; //输出格式2013-01-02
},
dateFormat(fmt, date) {
let ret;
const opt = {
'y+': date.getFullYear().toString(), // 年
'M+': (date.getMonth() + 1).toString(), // 月
'd+': date.getDate().toString(), // 日
'H+': date.getHours().toString(), // 时
'm+': date.getMinutes().toString(), // 分
's+': date.getSeconds().toString(), // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (let k in opt) {
ret = new RegExp('(' + k + ')').exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'));
}
}
return fmt;
},
/**
* 协助队伍
*/
getCollaborativeTeam(){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/weixin/training/getCollaborativeTeam',
data:{
"projectId":this.data.projectId,
},
method:"get",
success:function(res){
let array = [];
for(let i =0;i<res.data.length;i++){
if(array.length <= 0){
array.push({
"id":res.data[i].unitId,
"text":res.data[i].uninName,
"type":false
})
}else{
if(!array.some(item1=>item1.id == res.data[i].unitId)){
array.push({
"id":res.data[i].unitId,
"text":res.data[i].uninName,
"type":false
})
}
}
}
that.setData({
cooperationTeamList:array
})
}
})
},
onImagesArr(e){
this.setData({fileDataList:[]});
let fileDataList = [];
for(let i = 0;i<e.detail.length;i++){
wx.uploadFile({
//图片上传地址
url: app.globalData.reqUrl+'/weixin/security/fileUpload',
filePath: e.detail[i],
name: 'file',
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
},
formData: { user: 'test' },
success:res => {
let data = JSON.parse(res.data);
fileDataList.push(data.url);
},
});
}
this.setData({ fileDataList:fileDataList});
},
add:function(){
//判断值是否为空
if(this.data.trainingType == '' || this.data.trainingType == undefined){
app.toast("请选择培训类型");
return;
}else if(this.data.trainingStartTime == '' || this.data.trainingStartTime == undefined){
app.toast("请选择培训开始时间");
return;
}else if(this.data.trainingEndTime == '' || this.data.trainingEndTime == undefined){
app.toast("请选择培训结束时间");
return;
}else if(this.data.trainingContent == '' || this.data.trainingContent == undefined){
app.toast("请填写培训内容");
return;
}else if(this.data.collaborateRanksId == '' || this.data.collaborateRanksId == undefined){
app.toast("请选择协作队伍");
return;
}else if(this.data.attendNumber == '' || this.data.attendNumber == undefined){
app.toast("请选择参加人数");
return;
}
wx.request({
header: {
'content-type': 'application/x-www-form-urlencoded'
},
url:app.globalData.reqUrl+'/weixin/training/addTrainingData',
data:{
projectId:this.data.projectId,
projectName:this.data.projectName,
trainingType:this.data.trainingType,
trainingStartTime:this.data.trainingStartTime,
trainingEndTime:this.data.trainingEndTime,
trainingContent:this.data.trainingContent,
collaborateRanksId:this.data.collaborateRanksId,
collaborateRanksName:this.data.collaborateRanksName,
attendNumber:this.data.attendNumber,
createUser:this.data.loginName,
fileDataList:JSON.stringify(this.data.fileDataList)
},
method:"POST",
success:function(res){
if(res.data.code == 0){
wx.redirectTo({
url: '../educations-list/index',
})
}else{
app.toast("添加失败");
return;
}
}
})
},
/**
* 返回教育培训列表
*/
goGCLB:function(){
wx.redirectTo({
url: '../educations-list/index'
})
},
})