| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="身份证号:" prop="identityCard"> |
| | | <el-input v-model="form.identityCard" placeholder="请输入身份证号码" clearable maxlength="18" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="年龄:" prop="age"> |
| | | <el-input-number v-model="form.age" :precision="0" :step="1" style="width: 100%"/> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="合同签订日期:" prop="trialStartDate"> |
| | | <el-form-item label="合同签订日期:" prop="signDate"> |
| | | <el-date-picker |
| | | v-model="form.trialStartDate" |
| | | v-model="form.signDate" |
| | | type="date" |
| | | placeholder="请选择日期" |
| | | value-format="YYYY-MM-DD" |
| | |
| | | </el-row> |
| | | <el-row :gutter="30" v-if="showProbationDates"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="试用期开始日期:" prop="signDate"> |
| | | <el-form-item label="试用期开始日期:" prop="trialStartDate"> |
| | | <el-date-picker |
| | | v-model="form.signDate" |
| | | v-model="form.trialStartDate" |
| | | type="date" |
| | | placeholder="请选择日期" |
| | | value-format="YYYY-MM-DD" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-row :gutter="30">--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="合同年限:" prop="contractTerm">--> |
| | | <!-- <el-input-number v-model="form.contractTerm" :precision="0" :step="1" style="width: 100%" :disabled="true"/>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="合同年限:" prop="contractTerm"> |
| | | <el-input-number v-model="form.contractTerm" :precision="0" :step="1" style="width: 100%" :disabled="true"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="合同开始日期:" prop="contractStartTime"> |
| | |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="calculateContractTerm" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="calculateContractTerm" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | staffNo: "", |
| | | staffName: "", |
| | | sex: "", |
| | | identityCard: "", |
| | | nativePlace: "", |
| | | postJob: "", |
| | | adress: "", |
| | |
| | | emergencyContact: "", |
| | | emergencyContactPhone: "", |
| | | dateSelect: "", |
| | | signDate: "", |
| | | trialStartDate: "", |
| | | trialEndDate: "", |
| | | proSalary: null, |
| | | trialStartDate: "", |
| | | signDate: "", |
| | | salarySelect: "", |
| | | // contractTerm: 0, |
| | | contractTerm: 0, |
| | | contractStartTime: "", |
| | | contractEndTime: "", |
| | | staffState: "", |
| | | remark: "无", |
| | | }, |
| | | rules: { |
| | | staffNo: [{ required: true, message: "请输入", trigger: "blur" },], |
| | | staffName: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | sex: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | identityCard: [{ required: true, message: "请输入身份证号码", trigger: "blur" }], |
| | | nativePlace: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | postJob: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | adress: [{ required: true, message: "请输入", trigger: "blur" }], |
| | |
| | | emergencyContact: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | remark: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | dateSelect: [{ required: true, message: "请选择劳动合同期限", trigger: "change" }], |
| | | signDate: [{ required: true, message: "请选择", trigger: "change" }], |
| | | trialStartDate: [{ required: true, message: "请选择", trigger: "change" }], |
| | | trialEndDate: [{ required: true, message: "请选择", trigger: "change" }], |
| | | trialStartDate: [{ required: true, message: "请选择", trigger: "change" }], |
| | | signDate: [{ required: true, message: "请选择", trigger: "change" }], |
| | | salarySelect: [{ required: true, message: "请选择工资报酬方式", trigger: "change" }], |
| | | // contractTerm: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | contractTerm: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | contractStartTime: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | contractEndTime: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | proSalary: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | }, |
| | | }); |
| | | const { form, rules } = toRefs(data); |
| | |
| | | const openDialog = (type, row) => { |
| | | operationType.value = type; |
| | | dialogFormVisible.value = true; |
| | | form.value.id = '' |
| | | if (operationType.value === 'edit') { |
| | | getStaffJoinInfo(row.id).then(res => { |
| | | form.value = {...res.data} |
| | | // 编辑时也计算一次合同年限 |
| | | // calculateContractTerm(); |
| | | calculateContractTerm(); |
| | | }) |
| | | } |
| | | } |
| | |
| | | }) |
| | | } |
| | | // 计算合同年限 |
| | | // const calculateContractTerm = () => { |
| | | // if (form.value.contractStartTime && form.value.contractEndTime) { |
| | | // const startDate = new Date(form.value.contractStartTime); |
| | | // const endDate = new Date(form.value.contractEndTime); |
| | | // |
| | | // if (endDate > startDate) { |
| | | // // 计算年份差 |
| | | // const yearDiff = endDate.getFullYear() - startDate.getFullYear(); |
| | | // const monthDiff = endDate.getMonth() - startDate.getMonth(); |
| | | // const dayDiff = endDate.getDate() - startDate.getDate(); |
| | | // |
| | | // let years = yearDiff; |
| | | // |
| | | // // 如果结束日期的月日小于开始日期的月日,则减去1年 |
| | | // if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) { |
| | | // years = yearDiff - 1; |
| | | // } |
| | | // |
| | | // form.value.contractTerm = Math.max(0, years); |
| | | // } else { |
| | | // form.value.contractTerm = 0; |
| | | // } |
| | | // } else { |
| | | // form.value.contractTerm = 0; |
| | | // } |
| | | // }; |
| | | const calculateContractTerm = () => { |
| | | if (form.value.contractStartTime && form.value.contractEndTime) { |
| | | const startDate = new Date(form.value.contractStartTime); |
| | | const endDate = new Date(form.value.contractEndTime); |
| | | |
| | | if (endDate > startDate) { |
| | | // 计算年份差 |
| | | const yearDiff = endDate.getFullYear() - startDate.getFullYear(); |
| | | const monthDiff = endDate.getMonth() - startDate.getMonth(); |
| | | const dayDiff = endDate.getDate() - startDate.getDate(); |
| | | |
| | | let years = yearDiff; |
| | | |
| | | // 如果结束日期的月日小于开始日期的月日,则减去1年 |
| | | if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) { |
| | | years = yearDiff - 1; |
| | | } |
| | | |
| | | form.value.contractTerm = Math.max(0, years); |
| | | } else { |
| | | form.value.contractTerm = 0; |
| | | } |
| | | } else { |
| | | form.value.contractTerm = 0; |
| | | } |
| | | }; |
| | | |
| | | // 关闭弹框 |
| | | const closeDia = () => { |