qa-prevention-xgf-app/pages/related_party_units/add.vue

1068 lines
39 KiB
Vue

<template>
<view class="content">
<view class="card">
<u--form labelPosition="left" :model="form" :rules="rules" ref="form" labelWidth="auto">
<u-form-item label="照片" prop="userPhoto" borderBottom required class="form-item-block">
<u-upload class="mt-10" :fileList="form.userPhoto" :maxCount="1" @afterRead="fnUserPhotoRead"
@delete="fnUserPhotoDelete" multiple previewFullImage></u-upload>
</u-form-item>
<u-form-item label="单位名称" prop="NAME" borderBottom required>
<u--input v-model="RELEVANT_UNIT_NAME" :disabled="true" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="部门" prop="NAME" borderBottom required>
<u--input v-model="RELEVANT_UNIT_NAME" :disabled="true" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="姓名" prop="NAME" borderBottom required>
<u--input v-model="form.NAME" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="性别" prop="SEX_NAME" borderBottom required>
<u--input v-model="form.SEX_NAME" border="none" disabled disabledColor="#ffffff" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="出生年月" prop="DATE_OF_BIRTH" borderBottom required>
<u--input v-model="form.DATE_OF_BIRTH" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="年龄" prop="AGE" borderBottom required>
<u--input v-model="form.AGE" border="none" disabled disabledColor="#ffffff" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="身份证" prop="CARD_ID" borderBottom required>
<u--input v-model="form.CARD_ID" border="none" @blur="fnCardIdDisassembly" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="身份证照片(录入身份证正、反彩色照片)" prop="userCardIDFileList" borderBottom required
class="form-item-block">
<u-upload class="mt-10" :fileList="form.userCardIDFileList" @afterRead="fnUserCardIDAttachmentsRead"
@delete="fnInsuranceAttachmentsDelete" multiple :maxCount="2" previewFullImage></u-upload>
</u-form-item>
<u-form-item label="民族" prop="NATIONALITY_NAME" borderBottom required @click="fnShowMizuOfEducation">
<u--input v-model="form.NATIONALITY_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="婚姻状况" prop="MARITALSTATUS_NAME" borderBottom required
@click="fnShowMaritalContract">
<u--input v-model="form.MARITALSTATUS_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="政治面貌" prop="POLITICAL_STATUS_NAME" borderBottom required
@click="fnShowPoliticalStatusEducation">
<u--input v-model="form.POLITICAL_STATUS_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="入党时间" v-if="form.POLITICAL_STATUS_NAME === '中共党员'" prop="POLITICAL_TIME"
borderBottom required @click="fnShowPoliticalTimeEducation">
<u--input v-model="form.POLITICAL_TIME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="户口所在地" prop="HKLOCAL" borderBottom required class="form-item-block">
<u--textarea v-model="form.HKLOCAL" border="none" autoHeight></u--textarea>
</u-form-item>
<u-form-item label="现住址" prop="ADDRESS" borderBottom required class="form-item-block">
<u--textarea v-model="form.ADDRESS" border="none" autoHeight></u--textarea>
</u-form-item>
<u-form-item label="联系电话" prop="PHONE" borderBottom required>
<u--input v-model="form.PHONE" border="none" :disabled="true" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="文化程度" prop="DEGREE_OF_EDUCATION_NAME" borderBottom required
@click="fnShowDegreeOfEducation">
<u--input v-model="form.DEGREE_OF_EDUCATION_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<!-- @click="fnShowPersonWorkType" -->
<!-- <u-form-item label="工种" prop="PERSON_WORK_TYPE" borderBottom required>-->
<!-- &lt;!&ndash; 20230612改成输入框 &ndash;&gt;-->
<!-- <u&#45;&#45;input v-model="form.PERSON_WORK_TYPE" border="none" disabledColor="#ffffff" inputAlign="right"></u&#45;&#45;input>-->
<!-- </u-form-item>-->
<u-form-item label="本企业从业开始日期" prop="CORP_START_DATE" borderBottom required
@click="fnShowEnterpriseStartingDateOfEmployment">
<u--input v-model="form.CORP_START_DATE" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<!-- @click="fnShowPost" -->
<u-form-item label="岗位名称" prop="POST_ID" borderBottom required>
<!-- 20230612改成输入框 -->
<u--input v-model="form.POST_ID" border="none" disabledColor="#ffffff" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="本岗位从业开始日期" prop="ENTRY_DATE" borderBottom required
@click="fnShowPostStartingDateOfEmployment">
<u--input v-model="form.ENTRY_DATE" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="是否缴纳社保" prop="IS_SOCIAL_NAME" borderBottom required
@click="fnShowIsSocial">
<u--input v-model="form.IS_SOCIAL_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="社会保障号码" prop="SOCIAL_NUMBER" borderBottom required v-if="form.IS_SOCIAL==='1'" >
<u--input v-model="form.SOCIAL_NUMBER" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="社保卡照片" prop="socialFileList" borderBottom required class="form-item-block" v-if="form.IS_SOCIAL==='1'" >
<u-upload class="mt-10" :fileList="form.socialFileList" @afterRead="fnSocialAttachmentsRead"
@delete="fnSocialAttachmentsDelete" multiple :maxCount="2" previewFullImage></u-upload>
</u-form-item>
<u-form-item label="是否签署劳动合同" prop="IS_SIGN_LABOR_NAME" borderBottom required
@click="fnShowLaborContract">
<u--input v-model="form.IS_SIGN_LABOR_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="劳动合同附件" prop="contractFile" borderBottom required v-if="form.IS_SIGN_LABOR==='1'"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.contractFile"
@afterRead="fnAttachmentToLaborContractAfterRead" @delete="fnAttachmentToLaborContractDelete"
multiple :maxCount="4" previewFullImage></u-upload>
</u-form-item>
<u-form-item label="是否按期缴纳工伤保险" prop="IS_INJURIES_PAY_NAME" borderBottom required
@click="fnShowEmploymentInjuryInsurance">
<u--input v-model="form.IS_INJURIES_PAY_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="工伤保险有效期" v-if="form.IS_INJURIES_PAY==='1'" prop="IS_INJURIES_PAY_TIME" borderBottom
required @click="fnShowInjuriesPayTiemEducation">
<u--input v-model="form.IS_INJURIES_PAY_TIME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="上传工伤保险凭证" prop="injuriesPayTiemFile" borderBottom required
v-if="form.IS_INJURIES_PAY==='1'" class="form-item-block">
<u-upload class="mt-10" :fileList="form.injuriesPayTiemFile"
@afterRead="fnInjuriesPayTiemAttachmentsAfterRead" @delete="fnInjuriesPayTiemAttachmentsDelete"
multiple :maxCount="4" previewFullImage></u-upload>
</u-form-item>
<u-form-item label="是否缴纳商业保险" prop="ISPAY_NAME" borderBottom required
@click="fnShowEmploymentPayInsurance">
<u--input v-model="form.ISPAY_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="商业保险单号" v-if="form.ISPAY==='1'" prop="ISPAY_NUMBER" borderBottom required>
<u--input v-model="form.ISPAY_NUMBER" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="保险附件" prop="insuranceFile" borderBottom required v-if="form.ISPAY==='1'"
class="form-item-block">
<u-upload class="mt-10" :fileList="form.insuranceFile" @afterRead="fnInsuranceAttachmentsAfterRead2"
@delete="fnInsuranceAttachmentsDelete" multiple :maxCount="4" previewFullImage></u-upload>
</u-form-item>
<u-form-item label="是否参加三级安全培训" prop="IS_LEVEL_THREE_NAME" borderBottom required
@click="fnShowSafetyTraining">
<u--input v-model="form.IS_LEVEL_THREE_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<!-- <u-form-item label="安全告知培训是否合格" prop="IS_SAFETY_TELL_NAME" borderBottom required
@click="fnShowAdmissionSafetyNotification">
<u--input v-model="form.IS_SAFETY_TELL_NAME" border="none" disabled
disabledColor="#ffffff" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="安全告知培训合格日期"
v-if ="form.IS_SAFETY_TELL === '1'" prop="IS_SAFETY_TIME" borderBottom required
@click="fnShowSafetyTimeTraining">
<u--input v-model="form.IS_SAFETY_TIME" border="none" disabled disabledColor="#ffffff" inputAlign="right"></u--input>
</u-form-item> -->
<u-form-item label="身体状况是否适应本岗位工作" prop="IS_BODY_ADAPT_NAME" borderBottom required
@click="fnShowAdaptToTheJobPosition">
<u--input v-model="form.IS_BODY_ADAPT_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="是否特殊工种" prop="IS_SPECIAL_JOB_NAME" borderBottom required
@click="fnShowSpecialTypeOfWork">
<u--input v-model="form.IS_SPECIAL_JOB_NAME" border="none" disabled disabledColor="#ffffff"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="是否流动人员" prop="ISFLOW_NAME" borderBottom required
@click="fnShowFloatingPersonnel">
<u--input v-model="form.ISFLOW_NAME" border="none" disabled disabledColor="#ffffff" inputAlign="right"></u--input>
</u-form-item>
</u--form>
<u-picker :show="showDegreeOfEducation" :columns="degreeOfEducationColumns" keyName="NAME"
@confirm="fnDegreeOfEducationConfirm" @cancel="fnShowDegreeOfEducation"></u-picker>
<u-datetime-picker :show="showEnterpriseStartingDateOfEmployment"
v-model="enterpriseStartingDateOfEmploymentValue" mode="date"
@confirm="fnEnterpriseStartingDateOfEmploymentConfirm"
@cancel="fnShowEnterpriseStartingDateOfEmployment"></u-datetime-picker>
<u-datetime-picker :show="showPostStartingDateOfEmployment" v-model="postStartingDateOfEmploymentValue"
mode="date" @confirm="fnPostStartingDateOfEmploymentConfirm"
@cancel="fnShowPostStartingDateOfEmployment"></u-datetime-picker>
<u-picker :show="showIsSocial" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]" keyName="name"
@confirm="fnIsSocialConfirm" @cancel="fnShowIsSocial"></u-picker>
<u-picker :show="showLaborContract" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]" keyName="name"
@confirm="fnLaborContractConfirm" @cancel="fnShowLaborContract"></u-picker>
<u-picker :show="showEmploymentInjuryInsurance" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnEmploymentInjuryInsuranceConfirm" @cancel="fnShowEmploymentInjuryInsurance">
</u-picker>
<u-picker :show="showEmploymentPayInsurance" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnEmploymentPayInsuranceConfirm" @cancel="fnShowEmploymentPayInsurance">
</u-picker>
<u-picker :show="showSafetyTraining" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnSafetyTrainingConfirm" @cancel="fnShowSafetyTraining"></u-picker>
<u-picker :show="showAdmissionSafetyNotification" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnAdmissionSafetyNotificationConfirm"
@cancel="fnShowAdmissionSafetyNotification"></u-picker>
<u-picker :show="showAdaptToTheJobPosition" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnAdaptToTheJobPositionConfirm" @cancel="fnShowAdaptToTheJobPosition">
</u-picker>
<u-picker :show="showSpecialTypeOfWork" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnSpecialTypeOfWorkConfirm" @cancel="fnShowSpecialTypeOfWork"></u-picker>
<u-picker :show="showFloatingPersonnel" :columns="[[{name: '是', id: '1'}, {name: '否', id: '0'}]]"
keyName="name" @confirm="fnFloatingPersonnelConfirm" @cancel="fnShowFloatingPersonnel"></u-picker>
<!-- 安全告知培训时间 -->
<u-datetime-picker :show="showSafetyTimeTraining" v-model="safetyDateOfEmploymentValue" mode="date"
@confirm="fnSafetyTimeTrainingConfirm" @cancel="fnShowSafetyTimeTraining"></u-datetime-picker>
<!-- 民族 -->
<u-picker :show="showMizuOfEducation" :columns="degreeOfMizuColumns" keyName="NAME"
@confirm="fnDegreeOfMizuConfirm" @cancel="fnShowMizuOfEducation"></u-picker>
<!-- 婚姻 状况 -->
<u-picker :show="showMaritalContract" :columns="[[{name: '已婚', id: '1'}, {name: '未婚', id: '0'}]]"
keyName="name" @confirm="fnMaritalContractConfirm" @cancel="fnShowMaritalContract"></u-picker>
<!-- 政治面貌 -->
<u-picker :show="showPoliticalStatus" :columns="degreeOfPoliticalStatus" keyName="NAME"
@confirm="fnShowPoliticalStatusConfirm" @cancel="fnShowPoliticalStatusEducation"></u-picker>
<!-- 入党时间 -->
<u-datetime-picker :show="showPoliticalTime" v-model="POLITICAL_TIME" mode="date"
@confirm="fnShowPoliticalTimeConfirm" @cancel="fnShowPoliticalTimeEducation"></u-datetime-picker>
<!--工伤报销有效时间 -->
<u-datetime-picker :show="showInjuriesPayTiem" v-model="IS_INJURIES_PAY_TIME" mode="date"
@confirm="fnShowInjuriesPayTiemConfirm" @cancel="fnShowInjuriesPayTiemEducation"></u-datetime-picker>
<u-button type="primary" text="保 存" class="mt-10" @click="$u.debounce(fnSubmit, 1000,true)"></u-button>
</view>
</view>
</template>
<script>
import {
getCertificateInformationList,
getDataDictionary,
getDeptTree,
getIDCardDeduplication,
getPhoneNumberDeduplication,
getUserInfo,
setRelatedPartyRegistration,
setUploadAttachments,
getEMPLOYMENTAPPLYMANAGEMENTID,
getEmployedBy
} from "../../api";
export default {
data() {
return {
showSafetyTimeTraining: false, //安全告知培训时间 下拉显示隐藏
safetyDateOfEmploymentValue: new Date().toString(), //安全告知培训时间
showPoliticalStatus: false, //政治面貌
degreeOfPoliticalStatus: [], //政治面貌
showPoliticalTime: false, //入党时间
socialFile: [], //社保卡照片
showInjuriesPayTiem: false, //工伤保险有效期
IS_INJURIES_PAY_TIME: new Date().toString(),
injuriesPayTiemFile: [], //工伤保险有效凭证
POLITICAL_TIME: new Date().toString(),
RELEVANT_UNIT_NAME: '',
CORPINFO_ID: '',
showDegreeOfEducation: false,
showMizuOfEducation: false,
showMaritalContract: false,
degreeOfEducationColumns: [],
degreeOfMizuColumns: [],
showPersonWorkType: false,
personWorkTypeColumns: [],
showPost: false,
postColumns: [],
showEnterpriseStartingDateOfEmployment: false,
enterpriseStartingDateOfEmploymentValue: new Date().toString(),
showPostStartingDateOfEmployment: false,
postStartingDateOfEmploymentValue: new Date().toString(),
showIsSocial: false,
showLaborContract: false,
showEmploymentInjuryInsurance: false,
showEmploymentPayInsurance: false,
showSafetyTraining: false,
showAdmissionSafetyNotification: false,
showAdaptToTheJobPosition: false,
showSpecialTypeOfWork: false,
showFloatingPersonnel: false,
certificateInformationLength: 0,
form: {
IS_SAFETY_TIME: '', // 安全告知培训时间
userCardIDFileList: [], //身份证正反照片
POLITICAL_STATUS: '', // 政治面貌
POLITICAL_STATUS_NAME: '', // 政治面貌
POLITICAL_TIME: '', //入党时间
socialFileList: [], //社保卡照片
IS_INJURIES_PAY_TIME: '', // 工伤保险有效时间
injuriesPayTiemFile: [], //工伤保险有效凭证
ISPAY_NUMBER: '', //商业保险单号
userPhoto: [],
NAME: '',
USERNAME: '',
SEX: '',
SEX_NAME: '',
DATE_OF_BIRTH: '',
AGE: '',
CARD_ID: '',
HKLOCAL: '',
ADDRESS: '',
PHONE: '',
DEGREE_OF_EDUCATION: '',
DEGREE_OF_EDUCATION_NAME: '',
PERSON_WORK_TYPE: '',
PERSON_WORK_TYPE_NAME: '',
CORP_START_DATE: '',
POST_ID: '',
POST_NAME: '',
ENTRY_DATE: '',
SOCIAL_NUMBER: '',
IS_SIGN_LABOR: '',
IS_SIGN_LABOR_NAME: '',
contractFile: [],
ISPAY: '',
ISPAY_NAME: '',
IS_INJURIES_PAY: '',
IS_INJURIES_PAY_NAME: '',
insuranceFile: [],
IS_LEVEL_THREE: '',
IS_LEVEL_THREE_NAME: '',
IS_SAFETY_TELL: '',
IS_SAFETY_TELL_NAME: '',
IS_BODY_ADAPT: '',
IS_BODY_ADAPT_NAME: '',
IS_SPECIAL_JOB: '',
IS_SPECIAL_JOB_NAME: '',
ISFLOW: '',
ISFLOW_NAME: '',
NATIONALITY_NAME: '',
NATIONALITY: '',
IS_SOCIAL:'',
IS_SOCIAL_NAME:'',
EMPLOYMENT_APPLY_MANAGEMENT_ID:''
},
rules: {
userPhoto: {
type: 'array',
required: true,
message: '请上传照片',
trigger: ['change']
},
NAME: {
required: true,
message: '请填写姓名',
trigger: ['blur']
},
// SEX: {
// required: true,
// message: '请填写性别',
// trigger: ['blur']
// },
// DATE_OF_BIRTH: {
// required: true,
// message: '请填写出生年月',
// trigger: ['blur']
// },
// AGE: {
// required: true,
// message: '请填写年龄',
// trigger: ['blur']
// },
CARD_ID: [{
required: true,
message: '请填写身份证',
trigger: ['blur']
},
{
validator: (rule, value, callback) => {
return uni.$u.test.idCard(value);
},
message: '身份证号格式不正确',
trigger: ['blur'],
},
],
userCardIDFileList: {
type: 'array',
required: true,
message: '请上传身份证照片',
trigger: ['change']
},
HKLOCAL: {
required: true,
message: '请填写户口所在地',
trigger: ['blur']
},
ADDRESS: {
required: true,
message: '请填写现住址',
trigger: ['blur']
},
PHONE: [{
required: true,
message: '请填写联系电话',
trigger: ['blur']
},
{
validator: (rule, value, callback) => {
return uni.$u.test.mobile(value);
},
message: '联系电话格式不正确',
trigger: ['blur'],
},
],
NATIONALITY_NAME: {
required: true,
message: '请选择民族',
trigger: ['change']
},
MARITALSTATUS_NAME: {
required: true,
message: '请选择婚姻状况',
trigger: ['change']
},
POLITICAL_STATUS_NAME: {
required: true,
message: '请选择政治面貌',
trigger: ['change']
},
POLITICAL_TIME: {
required: true,
message: '请选择入党时间',
trigger: ['change']
},
DEGREE_OF_EDUCATION_NAME: {
required: true,
message: '请选择文化程度',
trigger: ['change']
},
// PERSON_WORK_TYPE: {
// required: true,
// message: '请输入工种',
// trigger: ['change']
// },
CORP_START_DATE: {
required: true,
message: '请选择本企业从业开始日期',
trigger: ['change']
},
POST_ID: {
required: true,
message: '请选择岗位名称',
trigger: ['blur']
},
ENTRY_DATE: {
required: true,
message: '请选择本岗位从业开始日期',
trigger: ['change']
},
SOCIAL_NUMBER: {
required: true,
message: '请填写社会保障号码',
trigger: ['change']
},
socialFileList: {
type: 'array',
required: true,
message: '请上传社保卡照片',
trigger: ['change']
},
IS_SOCIAL_NAME:{
required: true,
message: '请选择是否缴纳社保',
trigger: ['change']
},
IS_SIGN_LABOR_NAME: {
required: true,
message: '请选择是否签署劳动合同',
trigger: ['change']
},
contractFile: {
type: 'array',
required: true,
message: '请上传劳动合同附件',
trigger: ['change']
},
IS_INJURIES_PAY_NAME: {
required: true,
message: '请选择是否按期缴纳工伤保险',
trigger: ['change']
},
IS_INJURIES_PAY_TIME: {
required: true,
message: '请选择工伤保险有效期',
trigger: ['change']
},
ISPAY_NUMBER: {
required: true,
message: '请输入商业保险单号',
trigger: ['change']
},
injuriesPayTiemFile: {
type: 'array',
required: true,
message: '请上传工伤保险凭证',
trigger: ['change']
},
insuranceFile: {
type: 'array',
required: true,
message: '请上传保险附件',
trigger: ['change']
},
IS_LEVEL_THREE_NAME: {
required: true,
message: '请选择是否参加三级安全培训',
trigger: ['change']
},
IS_SAFETY_TELL_NAME: {
required: false,
message: '请选择安全告知培训是否合格',
trigger: ['change']
},
IS_SAFETY_TIME: {
required: false,
message: '请选择安全告知培训合格日期',
trigger: ['change']
},
IS_BODY_ADAPT_NAME: {
required: true,
message: '请选择身体状况是否适应本岗位工作',
trigger: ['change']
},
IS_SPECIAL_JOB_NAME: {
required: true,
message: '请选择是否特殊工种',
trigger: ['change']
},
ISFLOW_NAME: {
required: true,
message: '请选择是否流动人员',
trigger: ['change']
},
}
}
},
onShow(options) {
this.getDataCertificateInformation()
},
onLoad(query) {
this.CORPINFO_ID = query.CORPINFO_ID
this.RELEVANT_UNIT_NAME = query.RELEVANT_UNIT_NAME
this.fnGetDataDictionary('d7d80f08d73a4accbccf4fd3d8d1d867', 'degreeOfEducationColumns')
this.fnGetDataDictionary('0a0e406f27f74ee698fe9979d25f62dd', 'degreeOfMizuColumns')
this.fnGetDataDictionary('6351efdd12dc4730952e5d195718e252', 'degreeOfPoliticalStatus')
// this.fnGetDataDictionary('09e36ac01e9540f8bc84eab1c1a78754', 'postColumns')
// this.fnGetDataDictionary('55484e491a5e442d839c4595380713ec', 'personWorkTypeColumns')
this.fnGetData()
this.getDept()
},
computed: {
userInfo() {
return this.$store.getters.getUserInfo
}
},
methods: {
async getDept() {
let resData = await getDeptTree({
CORPINFO_ID: this.userInfo.CORPINFO_ID,
})
console.info(resData)
},
async fnGetData() {
let resData = await getUserInfo({
CORPINFO_ID: this.userInfo.CORPINFO_ID,
})
this.form = {
...this.form,
...resData.pd
}
this.form.PHONE = this.form.USERNAME
this.fnCardIdDisassembly(this.form.CARD_ID)
console.log(this.form)
// 转换数据
if (this.form.IS_SOCIAL === '0') {
this.form.IS_SOCIAL_NAME = '否'
} else if (this.form.IS_SOCIAL === '1') {
this.form.IS_SOCIAL_NAME = '是'
}
if (this.form.IS_SIGN_LABOR === '0') {
this.form.IS_SIGN_LABOR_NAME = '否'
} else if (this.form.IS_SIGN_LABOR === '1') {
this.form.IS_SIGN_LABOR_NAME = '是'
}
if (this.form.IS_INJURIES_PAY === '0') {
this.form.IS_INJURIES_PAY_NAME = '否'
} else if (this.form.IS_INJURIES_PAY === '1') {
this.form.IS_INJURIES_PAY_NAME = '是'
}
if (this.form.IS_LEVEL_THREE === '0') {
this.form.IS_LEVEL_THREE_NAME = '否'
} else if (this.form.IS_LEVEL_THREE === '1') {
this.form.IS_LEVEL_THREE_NAME = '是'
}
if (this.form.IS_SAFETY_TELL === '0') {
this.form.IS_SAFETY_TELL_NAME = '否'
} else if (this.form.IS_SAFETY_TELL === '1') {
this.form.IS_SAFETY_TELL_NAME = '是'
}
if (this.form.IS_BODY_ADAPT === '0') {
this.form.IS_BODY_ADAPT_NAME = '否'
} else if (this.form.IS_BODY_ADAPT === '1') {
this.form.IS_BODY_ADAPT_NAME = '是'
}
if (this.form.IS_SPECIAL_JOB === '0') {
this.form.IS_SPECIAL_JOB_NAME = '否'
} else if (this.form.IS_SPECIAL_JOB === '1') {
this.form.IS_SPECIAL_JOB_NAME = '是'
}
if (this.form.ISFLOW === '0') {
this.form.ISFLOW_NAME = '否'
} else if (this.form.ISFLOW === '1') {
this.form.ISFLOW_NAME = '是'
}
this.$set(this.form, 'userPhoto', [{
url: this.$filePath + resData.userPhotoFile[0].FILEPATH
}])
for (let i = 0; i < resData.userCardIDPhotoFile.length; i++) {
let ogj = {}
ogj.url = this.$filePath + resData.userCardIDPhotoFile[i].FILEPATH
this.form.userCardIDFileList.push(ogj)
}
for (let i = 0; i < resData.socialPhotoFile.length; i++) {
let ogj = {}
ogj.url = this.$filePath + resData.socialPhotoFile[i].FILEPATH
this.form.socialFileList.push(ogj)
}
this.getDataCertificateInformation()
},
async getDataCertificateInformation() {
let resData = await getCertificateInformationList({
showCount: 9999,
currentPage: 1,
});
this.certificateInformationLength = resData.varList.length
if (resData.varList.length > 0) {
this.form.IS_SPECIAL_JOB = '1'
this.form.IS_SPECIAL_JOB_NAME = '是'
} else {
this.form.IS_SPECIAL_JOB = '0'
this.form.IS_SPECIAL_JOB_NAME = '否'
}
},
async fnIDCardDeduplication(CARD_ID = this.form.CARD_ID) {
let resData = await getIDCardDeduplication({
CARD_ID
})
if (resData.pd) {
uni.$u.toast('身份证号重复')
return true
}
return false
},
async fnPhoneNumberDeduplication(PHONE = this.form.PHONE) {
if (uni.$u.test.mobile(PHONE)) {
let resData = await getPhoneNumberDeduplication({
PHONE
})
if (resData.pd) {
uni.$u.toast('联系电话重复')
return true
}
return false
}
},
async fnCardIdDisassembly(event) {
if (uni.$u.test.idCard(event)) {
if (await this.fnIDCardDeduplication()) return
this.form.DATE_OF_BIRTH = event.substring(6, 10) + "-" + event.substring(10, 12) + "-" + event
.substring(12, 14);
if (parseInt(event.substring(17, 1)) % 2 === 1) {
this.form.SEX = "0";
this.form.SEX_NAME = "男";
} else {
this.form.SEX = "1";
this.form.SEX_NAME = "女";
}
let myDate = new Date();
let month = myDate.getMonth() + 1;
let day = myDate.getDate();
let age = myDate.getFullYear() - event.substring(6, 10) - 1;
if (event.substring(10, 12) < month || event.substring(10, 12) === month && event.substring(12,
14) <= day) {
age++;
}
this.form.AGE = age;
}
},
async fnGetDataDictionary(DICTIONARIES_ID, list) {
let resData = await getDataDictionary({
DICTIONARIES_ID
})
this[list] = [resData.list]
},
fnShowDegreeOfEducation() {
this.showDegreeOfEducation = !this.showDegreeOfEducation
},
fnDegreeOfEducationConfirm(e) {
this.form.DEGREE_OF_EDUCATION = e.value[0].BIANMA
this.form.DEGREE_OF_EDUCATION_NAME = e.value[0].NAME
this.fnShowDegreeOfEducation()
},
fnShowMizuOfEducation() {
this.showMizuOfEducation = !this.showMizuOfEducation
},
fnDegreeOfMizuConfirm(e) {
this.form.NATIONALITY = e.value[0].BIANMA
this.form.NATIONALITY_NAME = e.value[0].NAME
this.fnShowMizuOfEducation()
},
fnShowPersonWorkType() {
this.showPersonWorkType = !this.showPersonWorkType
},
/*fnPersonWorkTypeConfirm(e) {
this.form.PERSON_WORK_TYPE = e.value[0].BIANMA
this.form.PERSON_WORK_TYPE_NAME = e.value[0].NAME
this.fnShowPersonWorkType()
},*/
fnShowPost() {
this.showPost = !this.showPost
},
/*fnPostConfirm(e) {
this.form.POST_ID = e.value[0].BIANMA
this.form.POST_NAME = e.value[0].NAME
this.fnShowPost()
},*/
fnShowEnterpriseStartingDateOfEmployment() {
this.showEnterpriseStartingDateOfEmployment = !this.showEnterpriseStartingDateOfEmployment
},
fnEnterpriseStartingDateOfEmploymentConfirm(event) {
this.enterpriseStartingDateOfEmploymentValue = event.value
this.fnShowEnterpriseStartingDateOfEmployment()
this.form.CORP_START_DATE = uni.$u.timeFormat(event.value, 'yyyy-mm-dd')
},
fnShowPostStartingDateOfEmployment() {
this.showPostStartingDateOfEmployment = !this.showPostStartingDateOfEmployment
},
fnPostStartingDateOfEmploymentConfirm(event) {
this.postStartingDateOfEmploymentValue = event.value
this.fnShowPostStartingDateOfEmployment()
this.form.ENTRY_DATE = uni.$u.timeFormat(event.value, 'yyyy-mm-dd')
},
fnShowLaborContract() {
this.showLaborContract = !this.showLaborContract
},
fnShowIsSocial() {
this.showIsSocial = !this.showIsSocial
},
fnLaborContractConfirm(e) {
this.form.IS_SIGN_LABOR = e.value[0].id
this.form.IS_SIGN_LABOR_NAME = e.value[0].name
this.fnShowLaborContract()
},
fnIsSocialConfirm(e) {
this.form.IS_SOCIAL = e.value[0].id
this.form.IS_SOCIAL_NAME = e.value[0].name
this.fnShowIsSocial()
},
fnShowMaritalContract() {
this.showMaritalContract = !this.showMaritalContract
},
fnMaritalContractConfirm(e) {
console.info(e)
this.form.MARITALSTATUS = e.value[0].id
this.form.MARITALSTATUS_NAME = e.value[0].name
this.fnShowMaritalContract()
},
fnShowEmploymentInjuryInsurance() {
this.showEmploymentInjuryInsurance = !this.showEmploymentInjuryInsurance
},
fnShowEmploymentPayInsurance() {
this.showEmploymentPayInsurance = !this.showEmploymentPayInsurance
},
fnEmploymentInjuryInsuranceConfirm(e) {
this.form.IS_INJURIES_PAY = e.value[0].id
this.form.IS_INJURIES_PAY_NAME = e.value[0].name
this.fnShowEmploymentInjuryInsurance()
},
fnEmploymentPayInsuranceConfirm(e) {
this.form.ISPAY = e.value[0].id
this.form.ISPAY_NAME = e.value[0].name
this.fnShowEmploymentPayInsurance()
},
fnUserPhotoRead(event) {
console.log(event.file)
for (let i = 0; i < event.file.length; i++) {
this.form.userPhoto.push(event.file[i])
}
},
fnUserPhotoDelete(event) {
this.form.userPhoto.splice(event.index, 1)
},
fnAttachmentToLaborContractAfterRead(event) {
for (let i = 0; i < event.file.length; i++) {
this.form.contractFile.push(event.file[i])
}
},
fnAttachmentToLaborContractDelete(event) {
this.form.contractFile.splice(event.index, 1)
},
fnInsuranceAttachmentsAfterRead2(event) {
for (let i = 0; i < event.file.length; i++) {
this.form.insuranceFile.push(event.file[i])
}
},
fnInsuranceAttachmentsDelete(event) {
this.form.insuranceFile.splice(event.index, 1)
},
fnShowSafetyTraining() {
this.showSafetyTraining = !this.showSafetyTraining
},
fnSafetyTrainingConfirm(e) {
this.form.IS_LEVEL_THREE = e.value[0].id
this.form.IS_LEVEL_THREE_NAME = e.value[0].name
this.fnShowSafetyTraining()
},
// 安全告知时间
fnShowSafetyTimeTraining() {
this.showSafetyTimeTraining = !this.showSafetyTimeTraining
},
fnSafetyTimeTrainingConfirm(event) {
this.safetyDateOfEmploymentValue = event.value
this.fnShowSafetyTimeTraining()
this.form.IS_SAFETY_TIME = uni.$u.timeFormat(event.value, 'yyyy-mm-dd')
},
// 安全告知培训是否合格
fnShowAdmissionSafetyNotification() {
this.showAdmissionSafetyNotification = !this.showAdmissionSafetyNotification
},
fnAdmissionSafetyNotificationConfirm(e) {
this.form.IS_SAFETY_TELL = e.value[0].id
this.form.IS_SAFETY_TELL_NAME = e.value[0].name
this.fnShowAdmissionSafetyNotification()
},
fnShowAdaptToTheJobPosition() {
this.showAdaptToTheJobPosition = !this.showAdaptToTheJobPosition
},
fnInsuranceAttachmentsAfterRead(event) {
for (let i = 0; i < event.file.length; i++) {
this.form.insuranceFile.push(event.file[i])
}
},
// 身份证正反照片
fnUserCardIDAttachmentsRead(event) {
for (let i = 0; i < event.file.length; i++) {
this.form.userCardIDFileList.push(event.file[i])
}
},
fnUserCardIDAttachmentsDelete(event) {
this.form.userCardIDFileList.splice(event.index, 1)
},
//政治面貌 POLITICAL_STATUS
fnShowPoliticalStatusEducation() {
this.showPoliticalStatus = !this.showPoliticalStatus
},
fnShowPoliticalStatusConfirm(e) {
this.form.POLITICAL_STATUS = e.value[0].BIANMA
this.form.POLITICAL_STATUS_NAME = e.value[0].NAME
this.fnShowPoliticalStatusEducation()
},
//入党时间 POLITICAL_TIME
fnShowPoliticalTimeEducation() {
this.showPoliticalTime = !this.showPoliticalTime
},
fnShowPoliticalTimeConfirm(event) {
this.POLITICAL_TIME = event.value
this.fnShowPoliticalTimeEducation()
this.form.POLITICAL_TIME = uni.$u.timeFormat(event.value, 'yyyy-mm-dd')
},
// 社保卡 照片
fnSocialAttachmentsRead(event) {
for (let i = 0; i < event.file.length; i++) {
this.form.socialFileList.push(event.file[i])
}
},
fnSocialAttachmentsDelete(event) {
this.form.socialFileList.splice(event.index, 1)
},
//工伤保险有效期 IS_INJURIES_PAY_TIME InjuriesPayTiem
fnShowInjuriesPayTiemEducation() {
this.showInjuriesPayTiem = !this.showInjuriesPayTiem
},
fnShowInjuriesPayTiemConfirm(event) {
this.IS_INJURIES_PAY_TIME = event.value
this.fnShowInjuriesPayTiemEducation()
this.form.IS_INJURIES_PAY_TIME = uni.$u.timeFormat(event.value, 'yyyy-mm-dd')
},
//工伤保险有效 凭证
fnInjuriesPayTiemAttachmentsAfterRead(event) {
for (let i = 0; i < event.file.length; i++) {
this.form.injuriesPayTiemFile.push(event.file[i])
}
},
fnInjuriesPayTiemAttachmentsDelete(event) {
this.form.injuriesPayTiemFile.splice(event.index, 1)
},
fnAdaptToTheJobPositionConfirm(e) {
this.form.IS_BODY_ADAPT = e.value[0].id
this.form.IS_BODY_ADAPT_NAME = e.value[0].name
this.fnShowAdaptToTheJobPosition()
},
fnShowSpecialTypeOfWork() {
this.showSpecialTypeOfWork = !this.showSpecialTypeOfWork
},
fnSpecialTypeOfWorkConfirm(e) {
this.form.IS_SPECIAL_JOB = e.value[0].id
this.form.IS_SPECIAL_JOB_NAME = e.value[0].name
this.fnShowSpecialTypeOfWork()
if (e.value[0].id === '1' && this.certificateInformationLength === 0) {
uni.showModal({
title: '提示',
content: '当前没有证书信息,请完善证书信息',
showCancel: false,
success: (res) => {
if (res.confirm) {
uni.$u.route({
url: '/pages/certificate_information/index',
})
}
}
})
}
},
fnShowFloatingPersonnel() {
this.showFloatingPersonnel = !this.showFloatingPersonnel
},
fnFloatingPersonnelConfirm(e) {
this.form.ISFLOW = e.value[0].id
this.form.ISFLOW_NAME = e.value[0].name
this.fnShowFloatingPersonnel()
},
fnSubmit() {
let fileUrl = ''
this.$refs.form.validate().then(async () => {
if (await this.fnIDCardDeduplication()) return
if (await this.fnPhoneNumberDeduplication()) return
let Employed = await getEmployedBy({
showCount: 10,
currentPage: 1,
DEPART_STATE:'0,2'
})
console.log(Employed)
if(Employed.varList.length>0){
Employed.varList.forEach(item => {
console.log(item.EMPLOYMENT_APPLY_MANAGEMENT_ID);
this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID = item.EMPLOYMENT_APPLY_MANAGEMENT_ID
})
}
if(!this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID){
console.log(this.EMPLOYMENT_APPLY_MANAGEMENT_ID);
Employed = await getEMPLOYMENTAPPLYMANAGEMENTID({});
console.log(Employed);
this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID = Employed.EMPLOYMENT_APPLY_MANAGEMENT_ID;
}
//校验社保和工伤保险必须有一个选是
if (this.form.IS_INJURIES_PAY === '0'&& this.form.IS_SOCIAL === '0') {
uni.$u.toast('工商或社保全无人员,不可进入本系统相关方人员管理!');
return;
}
for (let i = 0; i < this.form.userPhoto.length; i++) {
let resData = await setUploadAttachments({
filePath: this.form.userPhoto[i].url,
name: 'files',
formData: {
TYPE: '13',
FOREIGN_KEY: this.userInfo.USER_ID,
CORPINFO_ID: this.CORPINFO_ID,
}
})
fileUrl = resData.filePath
}
for (let i = 0; i < this.form.contractFile.length; i++) {
await setUploadAttachments({
filePath: this.form.contractFile[i].url,
name: 'files',
formData: {
TYPE: '10',
FOREIGN_KEY: this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID,
CORPINFO_ID: this.CORPINFO_ID,
}
})
}
for (let i = 0; i < this.form.insuranceFile.length; i++) {
await setUploadAttachments({
filePath: this.form.insuranceFile[i].url,
name: 'files',
formData: {
TYPE: '11',
FOREIGN_KEY: this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID,
CORPINFO_ID: this.CORPINFO_ID,
}
})
}
for (let i = 0; i < this.form.userCardIDFileList
.length; i++) { // 14 身份证照片 15 社保卡照片 16上传工伤保险凭证
await setUploadAttachments({
filePath: this.form.userCardIDFileList[i].url,
name: 'files',
formData: {
TYPE: '14',
FOREIGN_KEY: this.userInfo.USER_ID,
CORPINFO_ID: this.CORPINFO_ID,
}
})
}
for (let i = 0; i < this.form.socialFileList.length; i++) { // 15 社保卡照片
await setUploadAttachments({
filePath: this.form.socialFileList[i].url,
name: 'files',
formData: {
TYPE: '15',
FOREIGN_KEY: this.userInfo.USER_ID,
CORPINFO_ID: this.CORPINFO_ID,
}
})
}
for (let i = 0; i < this.form.injuriesPayTiemFile.length; i++) { // 16上传工伤保险凭证
await setUploadAttachments({
filePath: this.form.injuriesPayTiemFile[i].url,
name: 'files',
formData: {
TYPE: '16',
FOREIGN_KEY: this.form.EMPLOYMENT_APPLY_MANAGEMENT_ID,
CORPINFO_ID: this.CORPINFO_ID,
}
})
}
this.form.PHONE = this.form.USERNAME
await setRelatedPartyRegistration({
...this.form,
CORPINFO_ID: this.CORPINFO_ID,
RELEVANT_UNIT_NAME: this.RELEVANT_UNIT_NAME,
PHOTO: fileUrl,
})
uni.$u.toast('保存成功,请等待相关方审核')
setTimeout(() => {
uni.navigateBack()
}, 2000)
}).catch((e) => {
console.info(e)
uni.$u.toast('请补全必填项')
})
}
},
}
</script>
<style scoped>
</style>