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.

456 lines
11 KiB
Vue

<template>
<view>
<view class='nav'>
<!-- <image :src="user.facesInformation" mode="" class="cu-avatar radius cu-avatar xl round "
style="border-radius: 50%;" @click="handleImage"></image> -->
<!-- <view class="box" @click="handleImage">
</view> -->
</view>
<view class="prompt">
请确认本次入场时间及服务类型
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">服务类型</view>
<u-radio-group v-model="user.type">
<u-radio v-for="(item, index) in typeList" :key="index" :name="item.name">
{{item.label}}
</u-radio>
</u-radio-group>
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">入场时间</view>
<view>
<picker mode="date" :value="date" @change="handleDate" :start="currentDate">
<view class="uni-input">{{date}}</view>
</picker>
</view>
</view>
<view class='common-hr'></view>
</view>
<u-button type="success" @click="handleConfirm" :loading="dateLoad">确认</u-button>
<view class="prompt" style="margin-top: 15px;">
请确认以下个人信息是否正确,如需修改,点击"修改个人信息”
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">身份证号</view>
<text v-if="!isUpdate">{{ user.identityCard }}</text>
<u-input v-else v-model="user.identityCard" type="text" :border='true' maxlength="18"
@input="getGenderFromIdCard" />
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">姓名</view>
<text v-if="!isUpdate">{{ user.staffName }}</text>
<u-input v-else v-model="user.staffName" type="text" :border='true' />
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">性别</view>
<text v-if="!isUpdate">{{user.sex==0?'男':'女' }}</text>
<u-radio-group v-model="user.sex" v-else :disabled="true">
<u-radio v-for="(item, index) in sexList" :key="index" :name="item.name">
{{item.label}}
</u-radio>
</u-radio-group>
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group" data-target="ModalOld">
<view class="title">手机</view>
<text v-if="!isUpdate">{{ user.mobilePhone }}</text>
<u-input v-else v-model="user.mobilePhone" type="number" maxlength="11" :border='true' />
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">紧急联系人</view>
<text v-if="!isUpdate">{{ user.urgentName }}</text>
<u-input v-else v-model="user.urgentName" type="text" :border='true' maxlength="18" />
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">紧急联系人电话</view>
<text v-if="!isUpdate">{{ user.urgentPhone }}</text>
<u-input v-else v-model="user.urgentPhone" type="number" maxlength="11" />
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view>关系</view>
<text v-if="!isUpdate">{{ user.urgentRelationship }}</text>
<u-radio-group v-model="user.urgentRelationship" v-else>
<u-radio v-for="(item, index) in urgentRelationshipList" :key="index" :name="item.name">
{{item.label}}
</u-radio>
</u-radio-group>
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">外包服务商</view>
<text v-if="!isUpdate">{{ user.remark }}</text>
<u-input v-else v-model="user.remark" />
</view>
<view class='common-hr'></view>
</view>
<!--<u-modal v-model="show" title="请确认本次入职时间及劳务类型" :show-cancel-button='true' @confirm='handleConfirm' @cancel='handleCancel'>
<view class="slot-content">
<view class='module'>
<view class="cu-form-group">
<view class="title">劳务类型</view>
<u-radio-group v-model="user.type">
<u-radio v-for="(item, index) in typeList" :key="index" :name="item.name">
{{item.label}}
</u-radio>
</u-radio-group>
</view>
<view class='common-hr'></view>
</view>
<view class='module'>
<view class="cu-form-group">
<view class="title">入职时间</view>
<view>
<picker mode="date" :value="date" @change="handleDate" :start="currentDate">
<view class="uni-input">{{date}}</view>
</picker>
</view>
</view>
<view class='common-hr'></view>
</view>
</view>
</u-modal> -->
<view class="flex" style="margin-top: 10px;">
<view style="flex: 1;">
<u-button type="success" @click="handleIsUpdate" :loading="updateLoad">{{ isUpdate?'':'' }}
</u-button>
</view>
<view style="flex: 1;">
<u-button type="warning" @click="handleQuit">退</u-button>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
imageSrc: "",
currentDate: "",
show: true,
urgentRelationshipList: [{
name: "配偶",
label: "配偶"
},
{
name: "父母",
label: "父母"
},
{
name: "子女",
label: "子女"
},
{
name: "兄弟姐妹",
label: "兄弟姐妹"
},
],
updateLoad: false,
dateLoad: false,
date: null,
time: null,
isUpdate: false,
isUpdates: false,
user: {},
typeList: [{
name: '0',
label: '日结'
},
{
name: '1',
label: '月结'
}
],
sexList: [{
name: '0',
label: '男'
},
{
name: '1',
label: '女'
}
]
}
},
mounted() {
this.getCurrentDate();
},
methods: {
getGenderFromIdCard(idCard) {
if (idCard.length == 18) {
const genderDigit = parseInt(idCard.charAt(idCard.length - 2)) % 2;
if (genderDigit === 0) {
this.user.sex = '1'
} else {
this.user.sex = '0'
}
} else {
this.user.sex = ''
}
},
handleConfirm() {
this.handleDateTime()
},
handleCancel() {
this.user = uni.getStorageSync('userInfo')
this.show = false
},
getCurrentDate() {
var today = new Date();
var year = today.getFullYear();
var month = (today.getMonth() + 1 < 10 ? '0' : '') + (today.getMonth() + 1);
var day = (today.getDate() < 10 ? '0' : '') + today.getDate();
this.currentDate = year + '-' + month + '-' + day;
},
handleDateTime() {
// ...this.user,
let data = {
// id:this.user.id,
// type:this.user.type,
// identityCard:this.user.identityCard,
...this.user,
ruzhiTime: this.date + ' 09:00:00',
}
this.dateLoad = true
this.$api.updateRuzhiTimen(data).then(res => {
this.dateLoad = false
if (res.code == '000000') {
uni.setStorageSync('userInfo', res.data)
this.user = uni.getStorageSync('userInfo')
uni.showToast({
title: '修改成功',
icon: 'success',
duration: 2000
});
} else {
uni.showToast({
title: res.message,
icon: 'error',
duration: 2000
});
this.user = uni.getStorageSync('userInfo')
}
})
},
handleTime(time) {
this.time = time.detail.value
},
handleDate(date) {
this.date = date.detail.value
},
handleImage() {
if (this.isUpdates && this.isUpdate) {
let _this = this
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: function(res) {
_this.photo = res.tempFilePaths[0]
uni.getFileSystemManager().readFile({
filePath: res.tempFilePaths[0],
encoding: 'base64',
success: res => {
let base64 = 'data:image/jpeg;base64,' + res.data
_this.user.facesInformation = base64
},
fail: (e) => {}
})
}
});
}
},
handleQuit() {
this.$api.loginOut().then(res => {
if (res.code == '000000') {
uni.showToast({
title: '退出成功',
icon: 'success',
duration: 2000
});
uni.clearStorageSync();
uni.reLaunch({
url: '/pages/login/login'
});
}
})
},
handleIsUpdate() {
if (this.isUpdate) {
this.updateLoad = true
this.$api.userUpdate(this.user).then(res => {
this.updateLoad = false
if (res.code == '000000') {
uni.setStorageSync('userInfo', res.data)
uni.showToast({
title: '修改成功',
icon: 'success',
duration: 2000
});
} else {
uni.showToast({
title: res.message,
icon: 'error',
duration: 2000
});
this.user = uni.getStorageSync('userInfo')
}
})
}
this.isUpdate = !this.isUpdate
},
},
onShow: function() {
this.user = uni.getStorageSync('userInfo')
this.$api.getById({
id: this.user.id
}).then(res => {
if (res.code == '000000') {
uni.setStorageSync('isUpdate', res.data.isUpdate)
let time = this.user.ruzhiTime
this.date = time.substring(0, 10)
this.isUpdates = uni.getStorageSync('isUpdate') == 1 ? true : false
}
})
},
onPullDownRefresh: function() {
setTimeout(function() {
uni.redirectTo({
url: './message'
})
uni.showToast({
title: '刷新成功',
icon: 'success',
duration: 2000
});
uni.stopPullDownRefresh();
}, 1000);
},
}
</script>
<style scoped>
.box {
margin: auto;
width: 100px;
height: 100px;
border-radius: 50%;
border: 1px solid #ccc;
text-align: center;
margin-bottom: 10px;
line-height: 100px;
}
.box::after {
content: '点击更换人像';
}
.flex {
display: flex;
justify-content: space-between;
}
.prompt {
font-size: 13px;
color: red;
}
/deep/.cu-form-group input {
text-align: right;
}
.nav {
width: 100%;
/* margin: auto; */
}
.nav>image {
background: white;
}
.module {
background-color: white;
padding: 10upx 30upx;
}
.common-hr {
height: 1upx;
background-color: #e8e8e8;
width: 100%;
}
.radio {
display: inline-block;
width: 30upx;
margin: 0;
padding: 0;
}
.content {
margin-bottom: 5upx;
}
.login {
position: absolute;
bottom: 30upx;
}
.cu-form-group .title {
min-width: calc(4em + 30upx);
}
.cu-form-group input {
text-align: left;
}
.padding-xl {
background-color: #ffffff;
padding: 30upx;
}
.cu-btn {
padding: 0 20upx;
}
.submin {
margin-top: 50upx;
}
.submin button {
width: 570upx;
height: 60upx;
line-height: 60upx;
}
</style>