You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

691 lines
24 KiB
Vue

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.

<template>
<view>
<form @submit.stop.prevent="beforeFormSubmit">
<view class="mt10" style="padding-bottom: 120px">
<view class="weui-cells__group weui-cells__group_form mt10">
<view class="weui-cells weui-cells_form">
<view class="weui-cells searchbar-result" v-if="searchListShow">
<view
class="weui-cell weui-cell_active weui-cell_access"
:data-name="item.aliasName"
:data-id="item.id"
@tap="setValue"
v-for="(item, idx) in storeArray"
:key="idx"
>
<view class="weui-cell__bd weui-cell_primary">
<view>{{ item.aliasName }}</view>
</view>
</view>
</view>
<view class="weui-cell">
<view class="weui-cell__hd">
<label class="weui-label c6">
<text class="cfred">*</text>
报名岗位
</label>
</view>
<view class="weui-cell__bd">
<view
class=""
hover-class="none"
:hover-stop-propagation="false"
style="text-align: right; color: #333"
@tap="toJobAndAgencySelect"
data-type="job"
>
<view class="" hover-class="none" :hover-stop-propagation="false" v-if="jobName">
{{ jobName }}
<i class="iconfont icon-gengduo1 f16 ml4 dib pr c9" style="line-height: 1"></i>
</view>
<view class="" hover-class="none" :hover-stop-propagation="false" style="text-align: right; color: #ccc" v-else>
请选择岗位
<i class="iconfont icon-gengduo1 f16 ml4 dib pr c9" style="line-height: 1"></i>
</view>
</view>
</view>
</view>
<view class="weui-cell">
<view class="weui-cell__hd">
<label class="weui-label c6">
<text class="cfred">*</text>
面试时间
</label>
</view>
<view class="weui-cell__bd tr">
<picker
mode="multiSelector"
:value="dateTime"
@change="changeDateTime"
@columnchange="changeDateTimeColumn"
:range="dateTimeArray"
style="color: #333"
>
{{ !!currentTime ? currentTime : '----' }}
<i class="iconfont icon-rili f16 ml4 dib pr c9" style="line-height: 1"></i>
</picker>
</view>
</view>
<view class="weui-cell">
<view class="weui-cell__hd">
<label class="weui-label c6">接待时间</label>
</view>
<view class="weui-cell__bd tr">
<picker
mode="multiSelector"
:value="dateTime2"
@change="changeDateTime2"
@columnchange="changeDateTimeColumn2"
:range="dateTimeArray"
style="color: #333"
>
{{ !!currentTime2 ? currentTime2 : '----' }}
<i class="iconfont icon-rili f16 ml4 dib pr c9" style="line-height: 1"></i>
</picker>
</view>
</view>
<view class="weui-cell">
<view class="weui-cell__hd">
<label class="weui-label c6">政策</label>
</view>
<view class="weui-cell__bd" style="text-align: right">
<view style="display: inline-block; text-align: left; color: #333">{{ policy == '' ? '-' : policy }}</view>
</view>
</view>
</view>
</view>
</view>
<view class="btmFix display-flex" style="justify-content: center">
<button class="dtBtnD mr12" @click.stop="shrink" data-edit="2">取消</button>
<button type="primary" class="dtBtn ml12" :loading="loading" hover-class="button-hover" formType="submit"></button>
</view>
</form>
</view>
</template>
<script>
// pages/newEnroll/index.js
const app = getApp();
var dateTimePicker = require('../../../utils/dateTimePicker.js');
var dateUtil = require('../../../utils/dateUtil.js');
import { nationArray } from '../../../utils/commonUtil';
const mydate = new Date();
export default {
data() {
return {
showUpload: true,
name: '',
loading: false,
idInfo: {},
index: -1,
agentArray: [],
// jobIndex: -1,
jobArray: [
// {
// id: 1,
// name: "GG",
// },
],
storeIndex: -1,
storeArray: [
// {
// id: 1,
// name: "GG",
// },
],
dateTimeArray1: null,
dateTime1: null,
startYear: 2022,
endYear: 2024,
currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + ' ' + '12:00',
currentTime2: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + ' ' + '12:00',
searchListShow: false,
searchKeys: '',
searchKeysA: '',
inputShowed: false,
inputVal: '',
inputShowedA: false,
inputValA: '',
storeId: '',
agentId: '',
agentName: '',
storeJobId: '',
policy: '',
currentImg: '',
nationIndex: -1,
// 民族的索引
managerRoleClassify: false,
// 管理员权限
nationArray,
currentUser: {},
jobName: '',
switch1Checked: false,
dateTimeArray: '',
dateTime: '',
dateTimeArray2: '',
dateTime2: '',
imgSrc: '',
type: '',
userInfo: {
nationality: ''
}
};
}
/**
* 生命周期函数--监听页面加载
*/,
onLoad: function (options) {
let that = this;
// console.log(JSON.parse(options.info));
console.log(options);
// 获取缓存的报名人信息
let info = uni.getStorageSync('storeJobInfo');
console.log(info);
if (app.globalData.isNotEmptyCheck(info)) {
// 统一给代理岗位相关的字段赋值
that.setData({
storeJobId: info.id,
jobName: info.jobName,
agentId: info.agentId,
agentName: info.agentName,
currentImg: info.currentImg
});
this.getPolicyByStoreJobId(that.storeJobId);
}
that.setData({
managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify
});
if (app.globalData.isNotEmptyCheck(options.info)) {
// 如果随路由传过来的信息有更新,赋值新的数据
this.setData({
storeJobId: JSON.parse(options.info).id,
jobName: JSON.parse(options.info).jobName,
inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName,
storeId: JSON.parse(options.info).storeId
});
this.getPolicyByStoreJobId(this.storeJobId);
}
if (app.globalData.isNotEmptyCheck(options.agencyInfo)) {
that.setData({
agentName: JSON.parse(options.agencyInfo).agencyName,
agentId: JSON.parse(options.agencyInfo).id
});
}
if (app.globalData.isNotEmptyCheck(options.imgUrl)) {
let imgUrl = JSON.parse(options.imgUrl);
that.uploadIdcardImg(imgUrl);
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
// let src = wx.getStorageSync("src");
// console.log(src);
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
var obj = dateTimePicker.dateTimePicker(this.startYear, this.endYear, this.currentTime);
console.log(obj.dateTimeArray);
for (let index = 0; index < obj.dateTimeArray[0].length; index++) {
obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + '年';
}
for (let index = 0; index < obj.dateTimeArray[1].length; index++) {
obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + '月';
}
for (let index = 0; index < obj.dateTimeArray[2].length; index++) {
obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + '日';
}
this.setData({
dateTimeArray: obj.dateTimeArray,
dateTime: obj.dateTime,
dateTimeArray2: obj.dateTimeArray,
dateTime2: obj.dateTime
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function (e) {
console.log('isHide');
console.log(e);
// this.setData({
// userInfo: {
// name: "",
// address: "",
// age: "",
// nationality: "",
// sex: "",
// num: "",
// idCardImageUrl: "",
// },
// });
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
// wx.removeStorageSync("townsManInfo");
// wx.switchTab({
// url: "../firstBill/index",
// });
// console.log(wx.getStorageSync("townsManInfo"));
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {},
methods: {
shrink: function () {
uni.navigateBack({
delta: -1
});
},
toJobAndAgencySelect(e) {
console.log(e);
console.log(this.userInfo);
this.setStorage().then(() => {
console.log('--------', 'isIntonavigation');
uni.navigateTo({
url: `../../recordChoice/index?type=${e.currentTarget.dataset.type}`
});
});
},
showImg() {
uni.previewImage({
current: this.currentImg,
// 当前显示图片的 http 链接
urls: [this.currentImg] // 需要预览的图片 http 链接列表
});
},
deleteImg() {
var that = this;
uni.showModal({
title: '提示',
content: '确定要删除图片吗?',
confirmColor: '#ff4400',
success(res) {
if (res.confirm) {
that.setData({
imgSrc: '',
showUpload: true
});
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
bothwayBind(e) {
console.log(e);
let type = `userInfo.${e.currentTarget.dataset.type}`;
this.setData({
[type]: e.detail.value
});
},
beforeFormSubmit: function (e) {
var that = this;
console.log(e);
that.setData({
loading: true
});
setTimeout(() => {
that.formSubmit(e);
}, 1);
// if (!that.data.switch1Checked) {
// wx.showToast({
// title: "请先阅读并同意《服务协议》及《隐私政策》",
// icon: "none",
// duration: 2000,
// });
// } else if (app.isEmptyCheck(e.detail.value.userName)) {
// wx.showToast({
// duration: 2000,
// title: "请输入姓名",
// icon: "none",
// mask: true,
// });
// that.setData({
// loading: false,
// });
// } else if (app.isEmptyCheck(e.detail.value.sex)) {
// wx.showToast({
// duration: 2000,
// title: "请选择性别",
// icon: "none",
// mask: true,
// });
// that.setData({
// loading: false,
// });
// } else if (app.isEmptyCheck(e.detail.value.age)) {
// wx.showToast({
// duration: 2000,
// title: "请输入年龄",
// icon: "none",
// mask: true,
// });
// that.setData({
// loading: false,
// });
// } else {
// setTimeout(() => {
// that.formSubmit(e);
// }, 1);
// }
},
setStorage() {
let that = this;
uni.removeStorageSync('townsManInfoJob');
return new Promise((resolve, reject) => {
console.log(that.storeJobId);
let data = {
currentTime: that.currentTime,
currentTime2: that.currentTime2,
storeJobId: that.storeJobId,
jobName: that.jobName,
agentId: that.agentId,
agentName: that.agentName
};
console.log(data);
uni.setStorage({
key: 'townsManInfoJob',
data
});
console.log(uni.getStorageSync('townsManInfoJob'));
resolve();
});
},
formSubmit: function (e) {
var that = this;
console.log(e);
that.setData({
loading: true
});
uni.showLoading({
title: '提交中...',
mask: true
});
// if (that.data.index == -1) {
// wx.showToast({
// duration: 2000,
// title: '请选择代理',
// icon: 'none',
// mask: true
// })
// that.setData({
// loading: false
// })
// } else
// if (that.data.jobIndex == -1) {
// wx.showToast({
// duration: 2000,
// title: "请选择岗位",
// icon: "none",
// mask: true,
// });
// that.setData({
// loading: false,
// });
// } else {
console.log(that.idInfo);
new Promise(function (resolve, reject) {
var paramData = {};
paramData['storeJobId'] = that.storeJobId;
paramData['policy'] = that.policy;
paramData['interviewTime'] = that.currentTime;
paramData['receptionTime'] = that.currentTime2;
resolve(paramData);
}).then(function (paramData) {
console.log(paramData);
uni.removeStorageSync('townsManInfoJob');
new Promise((resolve, reject) => {
console.log(that.storeJobId);
let data = {
currentTime: that.currentTime,
currentTime2: that.currentTime2,
storeJobId: that.storeJobId,
jobName: that.jobName,
agentName: that.agentName,
policy: that.policy
};
console.log(data);
uni.setStorage({
key: 'townsManInfoJob',
data
});
console.log(uni.getStorageSync('townsManInfoJob'));
resolve();
}).then(() => {
uni.redirectTo({
url: '../../newEnroll/index'
});
});
uni.hideLoading({
success: (res) => {}
});
});
// }
},
inputTyping: function (e) {
this.setData({
inputVal: e.detail.value
});
if (e.detail.value.length > 0) {
this.setData({
searchListShow: true
});
this.getStoreList(e.detail.value);
} else {
this.setData({
searchListShow: false
});
}
},
getStoreList: function (searchKeys) {
console.log(searchKeys);
var that = this;
that.searchKeys = searchKeys;
// 60秒后重新获取验证码
uni.request({
url: app.globalData.ip + '/store/getAllStoreAliasName',
data: {
keys: searchKeys
},
header: app.globalData.headers,
method: 'GET',
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.setData({
storeArray: res.data.data
});
}
},
fail: function (res) {}
});
},
setValue: function (e) {
let str = e.currentTarget.dataset.name;
let storeId = e.currentTarget.dataset.id;
console.log(storeId);
this.setData({
inputVal: str,
storeId: storeId,
searchListShow: false
});
this.getJobList(storeId);
},
getJobList: function (storeId) {
var that = this;
return new Promise((resolve, reject) => {
uni.request({
url: app.globalData.ip + '/store/job/getJobNameByStoreId',
data: {
storeId: storeId
},
header: app.globalData.headers,
method: 'GET',
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.setData({
jobArray: res.data.data
});
resolve();
}
},
fail: function (res) {}
});
});
},
// bindPickerChangeJob: function (e) {
// var that = this;
// console.log("picker发送选择改变携带值为", e.detail.value);
// var storeJobId = that.data.jobArray[e.detail.value].id;
// console.log(storeJobId);
// that.getPolicyByStoreJobId(storeJobId);
// this.setData({
// jobIndex: e.detail.value,
// });
// },
bindPickerChangeNation(e) {
let that = this;
console.log('picker发送选择改变携带值为', e.detail.value);
var nationName = that.nationArray[e.detail.value].name;
this.setData({
nationIndex: e.detail.value,
['userInfo.nationality']: nationName
});
},
getPolicyByStoreJobId: function (storeJobId) {
var that = this;
// 60秒后重新获取验证码
uni.request({
url: app.globalData.ip + '/store/job/getPolicyByStoreJobId',
data: {
storeJobId: storeJobId
},
header: app.globalData.headers,
method: 'GET',
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.setData({
policy: res.data.data
});
}
},
fail: function (res) {
console.log(res);
}
});
},
changeDateTime(e) {
var dateTimeArray = this.dateTimeArray;
var dateTime = e.detail.value;
this.setData({
// dateTime: e.detail.value,
currentTime:
dateTimeArray[0][dateTime[0]].replace('年', '') +
'-' +
dateTimeArray[1][dateTime[1]].replace('月', '') +
'-' +
dateTimeArray[2][dateTime[2]].replace('日', '') +
' ' +
dateTimeArray[3][dateTime[3]]
});
console.log(this.dateTimeArray);
},
changeDateTimeColumn(e) {
var arr = this.dateTime;
var dateArr = this.dateTimeArray;
arr[e.detail.column] = e.detail.value;
dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
for (let index = 0; index < dateArr[2].length; index++) {
dateArr[2][index] = dateArr[2][index] + '日';
}
// .replace("年",'').replace("月",'').replace("日",'')
this.setData({
dateTimeArray: dateArr,
dateTime: arr
});
},
changeDateTime2(e) {
var dateTimeArray = this.dateTimeArray;
var dateTime = e.detail.value;
this.setData({
// dateTime: e.detail.value,
currentTime2:
dateTimeArray[0][dateTime[0]].replace('年', '') +
'-' +
dateTimeArray[1][dateTime[1]].replace('月', '') +
'-' +
dateTimeArray[2][dateTime[2]].replace('日', '') +
' ' +
dateTimeArray[3][dateTime[3]]
});
console.log(this.dateTimeArray);
},
changeDateTimeColumn2(e) {
var arr = this.dateTime2;
var dateArr = this.dateTimeArray;
arr[e.detail.column] = e.detail.value;
dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
for (let index = 0; index < dateArr[2].length; index++) {
dateArr[2][index] = dateArr[2][index] + '日';
}
// .replace("年",'').replace("月",'').replace("日",'')
this.setData({
dateTimeArray: dateArr,
dateTime2: arr
});
},
/**
* 用户点击右上角分享
*/
onShareAppMessage1: function () {}
}
};
</script>
<style>
@import './index.css';
</style>