|
|
@@ -1,43 +1,32 @@
|
|
|
<template>
|
|
|
<view class="container">
|
|
|
- <uni-forms ref="form" :rules="rules" :model="form" labelWidth="80px" :label-position="alignment">
|
|
|
- <uni-forms-item label="入职人" required name="entryName">
|
|
|
- <uni-easyinput v-model="form.entryName" placeholder="请输入"/>
|
|
|
+ <uni-forms ref="form" :rules="rules" :model="form" labelWidth="120px" :label-position="alignment">
|
|
|
+ <uni-forms-item label="转正人" required name="employeeName">
|
|
|
+ <uni-easyinput v-model="form.employeeName" placeholder="点击选择" :clearable="false" @click.native="gotochooseUser('single')"/>
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="部门" required name="deptId">
|
|
|
- <uni-data-select v-model="form.deptId" :localdata="deptOptions">
|
|
|
- </uni-data-select>
|
|
|
+ <uni-forms-item label="部门">
|
|
|
+ <uni-easyinput v-model="form.deptName" disabled/>
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="职位" required name="postId">
|
|
|
- <uni-data-select v-model="form.postId" :localdata="postOptions">
|
|
|
- </uni-data-select>
|
|
|
+ <uni-forms-item label="职位">
|
|
|
+ <uni-easyinput v-model="form.position" disabled/>
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="员工类型" required name="employeeType">
|
|
|
- <uni-data-select v-model="form.employeeType" :localdata="employeeTypeListOpen">
|
|
|
- </uni-data-select>
|
|
|
+ <uni-forms-item label="手机号">
|
|
|
+ <uni-easyinput v-model="form.employeePhone" disabled/>
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="性别" required name="gender">
|
|
|
- <uni-data-select v-model="form.gender" :localdata="userSexList">
|
|
|
- </uni-data-select>
|
|
|
+ <uni-forms-item label="入职日期">
|
|
|
+ <uni-easyinput v-model="form.entryDate" disabled/>
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="出生日期" required name="birthday">
|
|
|
- <uni-datetime-picker type="date" v-model="form.birthday"/>
|
|
|
+ <uni-forms-item label="试用期结束日期">
|
|
|
+ <uni-easyinput v-model="form.probationEndDate" disabled/>
|
|
|
</uni-forms-item>
|
|
|
-
|
|
|
- <uni-forms-item label="联系电话" required name="contactNumber">
|
|
|
- <uni-easyinput v-model="form.contactNumber" placeholder="请输入"/>
|
|
|
+ <uni-forms-item label="转正日期" required name="conversionDate">
|
|
|
+ <uni-datetime-picker type="date" v-model="form.conversionDate"/>
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="电子邮箱" required name="email">
|
|
|
- <uni-easyinput v-model="form.email" placeholder="请输入"/>
|
|
|
+ <uni-forms-item label="转正理由" required name="conversionReason">
|
|
|
+ <uni-easyinput maxlength="20" type="textarea" v-model="form.conversionReason" placeholder="请输入" />
|
|
|
</uni-forms-item>
|
|
|
- <uni-forms-item label="教育背景">
|
|
|
- <uni-easyinput maxlength="50" type="textarea" v-model="form.education" placeholder="请输入" />
|
|
|
- </uni-forms-item>
|
|
|
- <uni-forms-item label="工作经验">
|
|
|
- <uni-easyinput maxlength="200" type="textarea" v-model="form.workExperience" placeholder="请输入" />
|
|
|
- </uni-forms-item>
|
|
|
- <uni-forms-item label="入职日期" required name="entryDate">
|
|
|
- <uni-datetime-picker type="date" v-model="form.entryDate"/>
|
|
|
+ <uni-forms-item label="工作总结">
|
|
|
+ <uni-easyinput maxlength="200" type="textarea" v-model="form.workSummary" placeholder="请输入" />
|
|
|
</uni-forms-item>
|
|
|
<uni-forms-item label="附件">
|
|
|
<view class="upload-wrap">
|
|
|
@@ -62,7 +51,7 @@
|
|
|
<uni-forms-item label="审批人" required name="peopleList">
|
|
|
<uni-easyinput v-model="form.peopleList" style="display: none;" />
|
|
|
<view style="display: flex;justify-content: flex-start;align-items: center;">
|
|
|
- <uni-icons type="folder-add" size="40" @click="gotochooseUser"></uni-icons>
|
|
|
+ <uni-icons type="folder-add" size="40" @click="gotochooseUser('multiple')"></uni-icons>
|
|
|
<view style="display: flex;justify-content: flex-start;align-items: center;"
|
|
|
v-for="(tag, index) in nikeNamelist" :key="index">
|
|
|
<uni-icons type="right" size="20"></uni-icons>
|
|
|
@@ -87,7 +76,7 @@
|
|
|
<view class="button-group" v-else>
|
|
|
<button type="primary" size="mini" @click="submit('form')">提交</button>
|
|
|
<button type="default" size="mini" @click="onSave()">暂存</button>
|
|
|
- <button type="danger" size="mini" @click="onDelete()" v-if="form.auditStatus == 0">删除</button>
|
|
|
+ <button type="warn" size="mini" @click="onDelete()" v-if="form.auditStatus == 0">删除</button>
|
|
|
</view>
|
|
|
|
|
|
<view>
|
|
|
@@ -98,7 +87,7 @@
|
|
|
<uni-icons type="closeempty" size="20" @click="popupClose"></uni-icons>
|
|
|
</view>
|
|
|
<view class="popup-content">
|
|
|
- <pople-Select type="multiple" @submit="submitPeople" ref="popleSelect"></pople-Select>
|
|
|
+ <pople-Select :type="popleSelectType" @submit="submitPeople" ref="popleSelect"></pople-Select>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
@@ -118,7 +107,8 @@
|
|
|
} from "@/api/oa/conversion.js"
|
|
|
import {getDicts,getOpenDicts,listSimplePosts,listSimpleDepts } from "@/api/system/dict.js";
|
|
|
import {
|
|
|
- uploadFile
|
|
|
+ uploadFile,
|
|
|
+ getEmployeeInfo
|
|
|
} from "@/api/system/user"
|
|
|
import popleSelect from '../../popleSelect/choose.vue'
|
|
|
export default {
|
|
|
@@ -137,12 +127,12 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ popleSelectType: 'single',
|
|
|
deptOptions:[],
|
|
|
postOptions:[],
|
|
|
employeeTypeListOpen:[],
|
|
|
userSexList:[],
|
|
|
tasks: [],
|
|
|
- userInfo: uni.getStorageSync('userInfo'),
|
|
|
alignment: 'top',
|
|
|
uploadOptions: {},
|
|
|
fileList: [],
|
|
|
@@ -153,77 +143,40 @@
|
|
|
nikeNamelist: [],
|
|
|
// 表单数据
|
|
|
form: {
|
|
|
- entryName: undefined,
|
|
|
- deptId: undefined,
|
|
|
- postId: undefined,
|
|
|
- employeeType: undefined,
|
|
|
- gender: undefined,
|
|
|
- birthday: undefined,
|
|
|
- contactNumber: undefined,
|
|
|
- email: undefined,
|
|
|
- education: undefined,
|
|
|
- workExperience: undefined,
|
|
|
+ employeeName: undefined,
|
|
|
+ employeeId: undefined,
|
|
|
+ deptName: undefined,
|
|
|
+ position: undefined,
|
|
|
+ employeePhone: undefined,
|
|
|
entryDate: undefined,
|
|
|
+ probationEndDate: undefined,
|
|
|
+ conversionDate: undefined,
|
|
|
+ conversionReason: undefined,
|
|
|
+ workSummary: undefined,
|
|
|
fileIdList: undefined,
|
|
|
remarks: undefined,
|
|
|
peopleList: '',
|
|
|
},
|
|
|
// 校验规则
|
|
|
rules: {
|
|
|
- entryName: {
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- errorMessage: '请输入'
|
|
|
- }, ]
|
|
|
- },
|
|
|
- deptId: {
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- errorMessage: '请选择'
|
|
|
- }, ]
|
|
|
- },
|
|
|
- postId: {
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- errorMessage: '请选择'
|
|
|
- }, ]
|
|
|
- },
|
|
|
- employeeType: {
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- errorMessage: '请选择'
|
|
|
- }, ]
|
|
|
- },
|
|
|
- gender: {
|
|
|
+ employeeName: {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
errorMessage: '请选择'
|
|
|
}, ]
|
|
|
},
|
|
|
- birthday: {
|
|
|
+ conversionDate: {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
errorMessage: '请选择'
|
|
|
}, ]
|
|
|
},
|
|
|
- contactNumber: {
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- errorMessage: '请输入'
|
|
|
- }, ]
|
|
|
- },
|
|
|
- email: {
|
|
|
+ conversionReason: {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
errorMessage: '请输入'
|
|
|
}, ]
|
|
|
},
|
|
|
- entryDate: {
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- errorMessage: '请选择'
|
|
|
- }, ]
|
|
|
- },
|
|
|
peopleList: {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
@@ -323,17 +276,36 @@
|
|
|
peopleList.splice(index, 1);
|
|
|
this.form.peopleList = peopleList.join(',');
|
|
|
},
|
|
|
+ getEmployee() {
|
|
|
+ getEmployeeInfo(this.form.employeeId).then(response => {
|
|
|
+ let employeeInfo = response.data;
|
|
|
+ this.form.deptName = employeeInfo.deptName;
|
|
|
+ this.form.position = employeeInfo.position;
|
|
|
+ this.form.employeePhone = employeeInfo.phone;
|
|
|
+ this.form.entryDate = employeeInfo.entryDate;
|
|
|
+ this.form.probationEndDate = employeeInfo.probationEndDate;
|
|
|
+ });
|
|
|
+ },
|
|
|
submitPeople(userList, nikeNamelist, userIdList) {
|
|
|
console.log(userList);
|
|
|
console.log(userIdList);
|
|
|
- this.nikeNamelist = nikeNamelist;
|
|
|
- this.form.peopleList = userIdList.join(',');
|
|
|
- this.$refs.popup.close();
|
|
|
+ if(this.popleSelectType=='multiple'){
|
|
|
+ this.nikeNamelist = nikeNamelist;
|
|
|
+ this.form.peopleList = userIdList.join(',');
|
|
|
+ this.$refs.popup.close();
|
|
|
+ }else{
|
|
|
+ this.form.employeeName = nikeNamelist.join();
|
|
|
+ this.form.employeeId = userIdList.join();
|
|
|
+ this.getEmployee();
|
|
|
+ this.$refs.popup.close();
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
popupClose() {
|
|
|
this.$refs.popup.close();
|
|
|
},
|
|
|
- gotochooseUser() {
|
|
|
+ gotochooseUser(type) {
|
|
|
+ this.popleSelectType = type;
|
|
|
this.$refs.popup.open('bottom');
|
|
|
setTimeout(() => {
|
|
|
this.$refs.popleSelect.getInfoData();
|