From 6b53fc513964918e7af71f7d098ecbf73dd79d4a Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期三, 17 二月 2021 00:01:38 +0800
Subject: [PATCH] feat(信息录入): 输入项校验

---
 src/views/user/Informationinput.vue | 1069 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 617 insertions(+), 452 deletions(-)

diff --git a/src/views/user/Informationinput.vue b/src/views/user/Informationinput.vue
index ae33753..8b3317e 100644
--- a/src/views/user/Informationinput.vue
+++ b/src/views/user/Informationinput.vue
@@ -706,7 +706,7 @@
       </div>
     </el-dialog>
     <el-dialog title="工作经历" :visible.sync="dialogshowArr[1].show" width="50%">
-      <el-form :model="workExperienceForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="workExperienceForm" :model="workExperienceForm" :rules="workExperienceRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -771,17 +771,17 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putWorkExperience()">保 存</el-button>
+        <el-button type="primary" @click="putWorkExperience('workExperienceForm')">保 存</el-button>
         <el-button
           type="primary"
-          @click="putWorkExperienceContinue()"
+          @click="putWorkExperienceContinue('workExperienceForm')"
         >保存并继续新增
         </el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="体检信息" :visible.sync="dialogshowArr[2].show" width="50%">
-      <el-form :model="physicalExamForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="physicalExamForm" :model="physicalExamForm" :rules="physicalExamRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -859,17 +859,17 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putPhysicalExam()">保 存</el-button>
+        <el-button type="primary" @click="putPhysicalExam('physicalExamForm')">保 存</el-button>
         <el-button
           type="primary"
-          @click="putPhysicalExamContinue()"
+          @click="putPhysicalExamContinue('physicalExamForm')"
         >保存并继续新增
         </el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="合同信息" :visible.sync="dialogshowArr[3].show" width="50%">
-      <el-form :model="contractInfoForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="contractInfoForm" :model="contractInfoForm" :rules="contractInfoRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -936,17 +936,17 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putContractInfo()">保 存</el-button>
+        <el-button type="primary" @click="putContractInfo('contractInfoForm')">保 存</el-button>
         <el-button
           type="primary"
-          @click="putContractInfoContinue()"
+          @click="putContractInfoContinue('contractInfoForm')"
         >保存并继续新增
         </el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="离职当月考勤" :visible.sync="dialogshowArr[4].show" width="50%">
-      <el-form :model="dimissionAttendForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="dimissionAttendForm" :model="dimissionAttendForm" :rules="dimissionAttendRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1010,13 +1010,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putDimissionAttend()">保 存</el-button>
-        <el-button type="primary" @click="putDimissionAttendContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putDimissionAttend('dimissionAttendForm')">保 存</el-button>
+        <el-button type="primary" @click="putDimissionAttendContinue('dimissionAttendForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="请假记录" :visible.sync="dialogshowArr[5].show" width="50%">
-      <el-form :model="leaveInfoForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="leaveInfoForm" :model="leaveInfoForm" :rules="leaveInfoRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1095,13 +1095,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putLeaveInfo()">保 存</el-button>
-        <el-button type="primary" @click="putLeaveInfoContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putLeaveInfo('leaveInfoForm')">保 存</el-button>
+        <el-button type="primary" @click="putLeaveInfoContinue('leaveInfoForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="辞职申请" :visible.sync="dialogshowArr[6].show" width="50%">
-      <el-form :model="resignForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="resignForm" :model="resignForm" :rules="resignRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1155,13 +1155,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putResign()">保 存</el-button>
-        <el-button type="primary" @click="putResignContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putResign('resignForm')">保 存</el-button>
+        <el-button type="primary" @click="putResignContinue('resignForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="失业金领取" :visible.sync="dialogshowArr[7].show" width="50%">
-      <el-form :model="unemploymentForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="unemploymentForm" :model="unemploymentForm" :rules="unemploymentRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1215,13 +1215,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putUnemployment()">保 存</el-button>
-        <el-button type="primary" @click="putUnemploymentContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putUnemployment('unemploymentForm')">保 存</el-button>
+        <el-button type="primary" @click="putUnemploymentContinue('unemploymentForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="社保申请" :visible.sync="dialogshowArr[8].show" width="50%">
-      <el-form :model="insuranceForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="insuranceForm" :model="insuranceForm" :rules="insuranceRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1292,13 +1292,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putInsurance()">保 存</el-button>
-        <el-button type="primary" @click="putInsuranceContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putInsurance('insuranceForm')">保 存</el-button>
+        <el-button type="primary" @click="putInsuranceContinue('insuranceForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="意外险案件" :visible.sync="dialogshowArr[9].show" width="50%">
-      <el-form :model="accidentCasesForm" :rules="rules" label-position="right" label-width="120px">
+      <el-form ref="accidentCasesForm" :model="accidentCasesForm" :rules="accidentCasesRules" label-position="right" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1424,13 +1424,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putAccidentCases()">保 存</el-button>
-        <el-button type="primary" @click="putAccidentCasesContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putAccidentCases('accidentCasesForm')">保 存</el-button>
+        <el-button type="primary" @click="putAccidentCasesContinue('accidentCasesForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="工伤案件" :visible.sync="dialogshowArr[10].show" width="50%">
-      <el-form :model="occupationalForm" :rules="rules" label-position="right" label-width="140px">
+      <el-form ref="occupationalForm" :model="occupationalForm" :rules="occupationalRules" label-position="right" label-width="140px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1469,7 +1469,7 @@
             <el-form-item label="受伤地点" prop="injuredAddress">
               <el-input v-model="occupationalForm.injuredAddress" />
             </el-form-item>
-            <el-form-item label="工伤诊断">
+            <el-form-item label="工伤诊断" prop="injuredDiacrisis">
               <el-input v-model="occupationalForm.injuredDiacrisis" />
             </el-form-item>
           </el-col>
@@ -1493,7 +1493,7 @@
                 <el-option label="已住院" value="1" />
               </el-select>
             </el-form-item>
-            <el-form-item label="报案时间">
+            <el-form-item label="报案时间" prop="'reportTime">
               <el-date-picker
                 v-model="occupationalForm.reportTime"
                 value-format="yyyy-MM-dd HH:mm:ss"
@@ -1501,18 +1501,18 @@
                 placeholder="选择报案时间"
               />
             </el-form-item>
-            <el-form-item label="递交人">
+            <el-form-item label="递交人" prop="'sbumitBy">
               <el-input v-model="occupationalForm.sbumitBy" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="就诊科室">
+            <el-form-item label="就诊科室" prop="'treatmentName">
               <el-input v-model="occupationalForm.treatmentName" />
             </el-form-item>
-            <el-form-item label="床号">
+            <el-form-item label="床号" prop="bedNumb">
               <el-input v-model="occupationalForm.bedNumb" />
             </el-form-item>
-            <el-form-item label="递交资料时间">
+            <el-form-item label="递交资料时间" prop="submitTime">
               <el-date-picker
                 v-model="occupationalForm.submitTime"
                 value-format="yyyy-MM-dd"
@@ -1520,7 +1520,7 @@
                 placeholder="选择递交资料时间"
               />
             </el-form-item>
-            <el-form-item label="人事处理时间">
+            <el-form-item label="人事处理时间" prop="hrDoDate">
               <el-date-picker
                 v-model="occupationalForm.hrDoDate"
                 value-format="yyyy-MM-dd"
@@ -1537,10 +1537,10 @@
             <el-form-item label="医疗总费用" prop="expensesFee">
               <el-input v-model="occupationalForm.expensesFee" />
             </el-form-item>
-            <el-form-item label="一次性伤残补助金">
+            <el-form-item label="一次性伤残补助金" prop="socialDisability">
               <el-input v-model="occupationalForm.socialDisability" />
             </el-form-item>
-            <el-form-item label="一次性医疗补助金">
+            <el-form-item label="一次性医疗补助金" prop="socialSubsidy">
               <el-input v-model="occupationalForm.socialSubsidy" />
             </el-form-item>
           </el-col>
@@ -1601,13 +1601,13 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putOccupational()">保 存</el-button>
-        <el-button type="primary" @click="putOccupationalContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putOccupational('occupationalForm')">保 存</el-button>
+        <el-button type="primary" @click="putOccupationalContinue('occupationalForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
     <el-dialog title="劳资案件" :visible.sync="dialogshowArr[11].show" width="50%">
-      <el-form :model="laborTroubleForm" :rules="rules" label-position="right" label-width="140px">
+      <el-form ref="laborTroubleForm" :model="laborTroubleForm" :rules="laborTroubleRules" label-position="right" label-width="140px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="姓名" prop="empName">
@@ -1629,7 +1629,7 @@
                 placeholder="选择仲裁日期"
               />
             </el-form-item>
-            <el-form-item label="汇报人">
+            <el-form-item label="汇报人" prop="reporter">
               <el-input v-model="laborTroubleForm.reporter" />
             </el-form-item>
             <el-form-item label="状态" prop="arbitrationStatus">
@@ -1649,13 +1649,17 @@
             <el-form-item label="岗位" prop="jobName">
               <el-input v-model="laborTroubleForm.jobName" />
             </el-form-item>
-            <el-form-item label="仲裁类型">
-              <el-input v-model="laborTroubleForm.arbitrationType" />
+            <el-form-item label="仲裁类型" prop="arbitrationType">
+              <el-select v-model="laborTroubleForm.arbitrationType" placeholder="请选择仲裁类型">
+                <el-option label="劳资纠纷" value="01" />
+                <el-option label="民事纠纷" value="02" />
+                <el-option label="合同纠纷" value="03" />
+              </el-select>
             </el-form-item>
-            <el-form-item label="仲裁赔付(元)">
-              <el-input v-model="laborTroubleForm.arbitrationPay" />
+            <el-form-item label="仲裁赔付(元)" prop="'arbitrationPay">
+              <el-input v-model="laborTroubleForm.arbitrationPay" oninput="value=value.replace(/^\.+|[^\d.]/g,'')" @blur="arbitrationPayChange" />
             </el-form-item>
-            <el-form-item label="案结日期">
+            <el-form-item label="案结日期" prop="settleDate">
               <el-date-picker
                 v-model="laborTroubleForm.settleDate"
                 value-format="yyyy-MM-dd"
@@ -1674,15 +1678,15 @@
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="备注">
+            <el-form-item label="备注" prop="remark">
               <el-input v-model="laborTroubleForm.remark" type="textarea" />
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="putLaborTrouble()">保 存</el-button>
-        <el-button type="primary" @click="putLaborTroubleContinue()">保存并继续新增</el-button>
+        <el-button type="primary" @click="putLaborTrouble('laborTroubleForm')">保 存</el-button>
+        <el-button type="primary" @click="putLaborTroubleContinue('laborTroubleForm')">保存并继续新增</el-button>
         <el-button @click="dialogIsShow()">取 消</el-button>
       </div>
     </el-dialog>
@@ -1720,7 +1724,7 @@
             <el-form-item label="岗位" prop="jobName">
               <el-input v-model="badRecordForm.jobName" />
             </el-form-item>
-            <el-form-item label="汇报人">
+            <el-form-item label="汇报人" prop="reporter">
               <el-input v-model="badRecordForm.reporter" />
             </el-form-item>
           </el-col>
@@ -1849,32 +1853,96 @@
         seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }],
         archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }],
         bankNumb: [{ required: true, message: '请输入银行账号', trigger: 'blur' }],
-        empType: [{ required: true, message: '请选择员工类型', trigger: 'change' }],
-        workUnit: [{ required: true, message: '请输入工作单位', trigger: 'blur' }],
+        empType: [{ required: true, message: '请选择员工类型', trigger: 'change' }]
+      },
+      workExperienceRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
+        workUnit: [{ required: true, message: '请输入工作单位', trigger: 'blur' }, { max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
         beginDate: [{ required: true, message: '请选择开始日期', trigger: 'change' }],
         endDate: [{ required: true, message: '请选择结束日期', trigger: 'change' }],
-        hospital: [{ required: true, message: '请输入体检医院', trigger: 'blur' }],
+        jobContent: [{ required: true, message: '请输入主要工作内容', trigger: 'blur' }, { max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
+      },
+      physicalExamRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
         physicalExamDate: [{ required: true, message: '请选择体检日期', trigger: 'change' }],
-        conclusion: [{ required: true, message: '请输入体检结论', trigger: 'blur' }],
+        hospital: [{ required: true, message: '请输入体检医院', trigger: 'blur' }, { max: 64, message: '长度不超过64个字符', trigger: 'blur' }],
+        physicalExamType: [{ required: true, message: '请选择体检类型', trigger: 'change' }],
+        bloodPressure: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        transaminase: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        ecg: [{ max: 16, message: '长度不超过16个字符', trigger: 'blur' }],
+        conclusion: [{ required: true, message: '请输入体检结论', trigger: 'blur' }, { max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
+        reviewRecord: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
+      },
+      contractInfoRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
         signingDate: [{ required: true, message: '请选择合同签订日期', trigger: 'change' }],
         contractStatus: [{ required: true, message: '请选择合同状态', trigger: 'change' }],
+        transactor: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        beginDate: [{ required: true, message: '请选择合同开始日期', trigger: 'change' }],
+        endDate: [{ required: true, message: '请选择合同结束日期', trigger: 'change' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
+      },
+      dimissionAttendRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
         attendMonth: [{ required: true, message: '请选择出勤月份', trigger: 'change' }],
         deduct: [{ required: true, message: '请输入代扣填款项', trigger: 'blur' }],
-        attendDays: [{ required: true, message: '请输入出勤天数', trigger: 'blur' }],
+        attendDays: [{ required: true, message: '请输入出勤天数', trigger: 'blur' }]
+      },
+      leaveInfoRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
         beginTime: [{ required: true, message: '请选择请假开始时间', trigger: 'change' }],
         leaveType: [{ required: true, message: '请选择请假类型', trigger: 'change' }],
-        reporter: [{ required: true, message: '请输入报备人', trigger: 'blur' }],
         endTime: [{ required: true, message: '请选择请假结束时间', trigger: 'change' }],
+        reporter: [{ required: true, message: '请输入报备人', trigger: 'blur' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
+      },
+      resignRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
         applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }],
-        reason: [{ required: true, message: '请输入辞职事由', trigger: 'blur' }],
-        applayReason: [{ required: true, message: '请输入申报事由', trigger: 'blur' }],
+        reason: [{ required: true, message: '请输入事由', trigger: 'blur' }, { max: 256, message: '长度不超过256个字符', trigger: 'blur' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }],
+        reporter: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }]
+      },
+      unemploymentRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
+        applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }],
+        applayReason: [{ required: true, message: '请输入申报事由', trigger: 'blur' }, { max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
+        reporter: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        auditor: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
+      },
+      insuranceRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
+        applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }],
+        proposer: [{ required: true, message: '请输入申请人', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
         insuranceGaers: [{ required: true, message: '请选择社保档位', trigger: 'change' }],
-        applayStatus: [{ required: true, message: '请选择申请状态', trigger: 'change' }],
-        proposer: [{ required: true, message: '请输入申请人', trigger: 'blur' }],
+        auditor: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }],
+        applayStatus: [{ required: true, message: '请选择申请状态', trigger: 'change' }]
+      },
+      accidentCasesRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
         injuredTime: [{ required: true, message: '请选择受伤时间', trigger: 'blur' }],
-        injuredPart: [{ required: true, message: '请输入受伤部位', trigger: 'blur' }],
-        injuredDescribe: [{ required: true, message: '请输入受伤经过描述', trigger: 'blur' }],
-        hospitalName: [{ required: true, message: '请输入就诊医院', trigger: 'blur' }],
+        injuredPart: [{ required: true, message: '请输入受伤部位', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        injuredAddress: [{ required: true, message: '请输入受伤地点', trigger: 'blur' }, { max: 64, message: '长度不超过64个字符', trigger: 'blur' }],
+        injuredDescribe: [{ required: true, message: '请输入受伤经过描述', trigger: 'blur' }, { max: 512, message: '长度不超过512个字符', trigger: 'blur' }],
+        hospitalName: [{ required: true, message: '请输入就诊医院', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        hospitalizatioFlag: [{ required: true, message: '请选择是否住院', trigger: 'blur' }],
+        innsureFee: [{ required: true, message: '请输入保险赔付费用', trigger: 'blur' }],
+        expensesFee: [{ required: true, message: '请输入医疗总费用', trigger: 'blur' }],
+        settleDate: [{ required: true, message: '请选择案结时间', trigger: 'change' }],
+        injuredDiacrisis: [{ max: 256, message: '长度不超过256个字符', trigger: 'blur' }],
+        sbumitBy: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        expenseReport: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
+      },
+      occupationalRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
+        injuredTime: [{ required: true, message: '请选择受伤时间', trigger: 'blur' }],
+        injuredPart: [{ required: true, message: '请输入受伤部位', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
+        injuredDescribe: [{ required: true, message: '请输入受伤经过描述', trigger: 'blur' }, { max: 512, message: '长度不超过512个字符', trigger: 'blur' }],
+        hospitalName: [{ required: true, message: '请输入就诊医院', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
         hospitalizatioFlag: [{ required: true, message: '请选择是否住院', trigger: 'blur' }],
         innsureFee: [{ required: true, message: '请输入保险赔付费用', trigger: 'blur' }],
         settleDate: [{ required: true, message: '请选择案结时间', trigger: 'change' }],
@@ -1882,10 +1950,16 @@
         settleStatus: [{ required: true, message: '请选择结案状态', trigger: 'change' }],
         injuredAddress: [{ required: true, message: '请输入受伤地点', trigger: 'blur' }],
         compensated: [{ required: true, message: '请输入已赔付医药费用', trigger: 'blur' }],
-        companyCompensation: [{ required: true, message: '请输入公司赔偿总费用', trigger: 'blur' }],
+        companyCompensation: [{ required: true, message: '请输入公司赔偿总费用', trigger: 'blur' }]
+      },
+      laborTroubleRules: {
+        empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
+        arbitrationType: [{ required: true, message: '请选择仲裁类型', trigger: 'change' }],
         arbitrationDate: [{ required: true, message: '请选择仲裁日期', trigger: 'change' }],
-        arbitrationReason: [{ required: true, message: '请输入仲裁事由', trigger: 'blur' }],
-        arbitrationStatus: [{ required: true, message: '请选择结案状态', trigger: 'change' }]
+        arbitrationReason: [{ required: true, message: '请输入仲裁事由', trigger: 'blur' }, { max: 1024, message: '长度不超过1024个字符', trigger: 'blur' }],
+        arbitrationStatus: [{ required: true, message: '请选择结案状态', trigger: 'change' }],
+        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }],
+        reporter: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }]
       },
       badRecordRules: {
         empName: [{ required: true, message: '请选择员工', trigger: 'blur' }],
@@ -1895,7 +1969,7 @@
           message: '长度不超过512个字符',
           trigger: 'blur'
         }],
-        reporter: [{ required: true, message: '请输入报备人', trigger: 'blur' }, {
+        reporter: [{
           max: 50,
           message: '长度不超过50个字符',
           trigger: 'blur'
@@ -3278,42 +3352,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putWorkExperience() {
-      if (this.isAdd) {
-        this.$post('hr/empWorkExperience', { ...this.workExperienceForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanWorkExperience()
-          this.selectWorkExperience()
-        })
-      } else {
-        this.$put('hr/empWorkExperience', { ...this.workExperienceForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanWorkExperience()
-          this.selectWorkExperience()
-        })
-      }
-      this.dialogIsShow()
+    putWorkExperience(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empWorkExperience', { ...this.workExperienceForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanWorkExperience()
+              this.selectWorkExperience()
+            })
+          } else {
+            this.$put('hr/empWorkExperience', { ...this.workExperienceForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanWorkExperience()
+              this.selectWorkExperience()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putWorkExperienceContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empWorkExperience', { ...this.workExperienceForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanWorkExperience()
-          this.selectWorkExperience()
-        })
-      }
+    putWorkExperienceContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empWorkExperience', { ...this.workExperienceForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanWorkExperience()
+              this.selectWorkExperience()
+            })
+          }
+        }
+      })
     },
     cleanWorkExperience() {
       this.workExperienceForm.workUnit = ''
@@ -3357,42 +3439,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putPhysicalExam() {
-      if (this.isAdd) {
-        this.$post('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanPhysicalExam()
-          this.selectPhysicalExam()
-        })
-      } else {
-        this.$put('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanPhysicalExam()
-          this.selectPhysicalExam()
-        })
-      }
-      this.dialogIsShow()
+    putPhysicalExam(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanPhysicalExam()
+              this.selectPhysicalExam()
+            })
+          } else {
+            this.$put('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanPhysicalExam()
+              this.selectPhysicalExam()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putPhysicalExamContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanPhysicalExam()
-          this.selectPhysicalExam()
-        })
-      }
+    putPhysicalExamContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanPhysicalExam()
+              this.selectPhysicalExam()
+            })
+          }
+        }
+      })
     },
     cleanPhysicalExam() {
       this.physicalExamForm.hospital = ''
@@ -3441,42 +3531,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putContractInfo() {
-      if (this.isAdd) {
-        this.$post('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanContractInfo()
-          this.selectContractInfo()
-        })
-      } else {
-        this.$put('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanContractInfo()
-          this.selectContractInfo()
-        })
-      }
-      this.dialogIsShow()
+    putContractInfo(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanContractInfo()
+              this.selectContractInfo()
+            })
+          } else {
+            this.$put('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanContractInfo()
+              this.selectContractInfo()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putContractInfoContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanContractInfo()
-          this.selectContractInfo()
-        })
-      }
+    putContractInfoContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empContractInfo', { ...this.contractInfoForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanContractInfo()
+              this.selectContractInfo()
+            })
+          }
+        }
+      })
     },
     cleanContractInfo() {
       this.contractInfoForm.contractId = ''
@@ -3538,42 +3636,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putDimissionAttend() {
-      if (this.isAdd) {
-        this.$post('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanDimissionAttend()
-          this.selectDimissionAttend()
-        })
-      } else {
-        this.$put('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanDimissionAttend()
-          this.selectDimissionAttend()
-        })
-      }
-      this.dialogIsShow()
+    putDimissionAttend(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanDimissionAttend()
+              this.selectDimissionAttend()
+            })
+          } else {
+            this.$put('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanDimissionAttend()
+              this.selectDimissionAttend()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putDimissionAttendContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanDimissionAttend()
-          this.selectDimissionAttend()
-        })
-      }
+    putDimissionAttendContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empDimissionAttend', { ...this.dimissionAttendForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanDimissionAttend()
+              this.selectDimissionAttend()
+            })
+          }
+        }
+      })
     },
     cleanDimissionAttend() {
       this.dimissionAttendForm.dimissionAttendId = ''
@@ -3633,42 +3739,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putLeaveInfo() {
-      if (this.isAdd) {
-        this.$post('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanLeaveInfo()
-          this.selectLeaveInfo()
-        })
-      } else {
-        this.$put('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanLeaveInfo()
-          this.selectLeaveInfo()
-        })
-      }
-      this.dialogIsShow()
+    putLeaveInfo(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanLeaveInfo()
+              this.selectLeaveInfo()
+            })
+          } else {
+            this.$put('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanLeaveInfo()
+              this.selectLeaveInfo()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putLeaveInfoContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanLeaveInfo()
-          this.selectLeaveInfo()
-        })
-      }
+    putLeaveInfoContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanLeaveInfo()
+              this.selectLeaveInfo()
+            })
+          }
+        }
+      })
     },
     cleanLeaveInfo() {
       this.leaveInfoForm.leaveId = ''
@@ -3730,42 +3844,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putResign() {
-      if (this.isAdd) {
-        this.$post('hr/empResign', { ...this.resignForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanResign()
-          this.selectResign()
-        })
-      } else {
-        this.$put('hr/empResign', { ...this.resignForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanResign()
-          this.selectResign()
-        })
-      }
-      this.dialogIsShow()
+    putResign(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empResign', { ...this.resignForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanResign()
+              this.selectResign()
+            })
+          } else {
+            this.$put('hr/empResign', { ...this.resignForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanResign()
+              this.selectResign()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putResignContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empResign', { ...this.resignForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanResign()
-          this.selectResign()
-        })
-      }
+    putResignContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empResign', { ...this.resignForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanResign()
+              this.selectResign()
+            })
+          }
+        }
+      })
     },
     cleanResign() {
       this.resignForm.resignId = ''
@@ -3821,42 +3943,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putUnemployment() {
-      if (this.isAdd) {
-        this.$post('hr/empUnemployment', { ...this.unemploymentForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanUnemployment()
-          this.selectUnemployment()
-        })
-      } else {
-        this.$put('hr/empUnemployment', { ...this.unemploymentForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanUnemployment()
-          this.selectUnemployment()
-        })
-      }
-      this.dialogIsShow()
+    putUnemployment(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empUnemployment', { ...this.unemploymentForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanUnemployment()
+              this.selectUnemployment()
+            })
+          } else {
+            this.$put('hr/empUnemployment', { ...this.unemploymentForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanUnemployment()
+              this.selectUnemployment()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putUnemploymentContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empUnemployment', { ...this.unemploymentForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanUnemployment()
-          this.selectUnemployment()
-        })
-      }
+    putUnemploymentContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empUnemployment', { ...this.unemploymentForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanUnemployment()
+              this.selectUnemployment()
+            })
+          }
+        }
+      })
     },
     cleanUnemployment() {
       this.unemploymentForm.unemploymentId = ''
@@ -3914,42 +4044,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putInsurance() {
-      if (this.isAdd) {
-        this.$post('hr/empInsurance', { ...this.insuranceForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanInsurance()
-          this.selectInsurance()
-        })
-      } else {
-        this.$put('hr/empInsurance', { ...this.insuranceForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanInsurance()
-          this.selectInsurance()
-        })
-      }
-      this.dialogIsShow()
+    putInsurance(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empInsurance', { ...this.insuranceForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanInsurance()
+              this.selectInsurance()
+            })
+          } else {
+            this.$put('hr/empInsurance', { ...this.insuranceForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanInsurance()
+              this.selectInsurance()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putInsuranceContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empInsurance', { ...this.insuranceForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanInsurance()
-          this.selectInsurance()
-        })
-      }
+    putInsuranceContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empInsurance', { ...this.insuranceForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanInsurance()
+              this.selectInsurance()
+            })
+          }
+        }
+      })
     },
     cleanInsurance() {
       this.insuranceForm.insuranceId = ''
@@ -4011,42 +4149,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putAccidentCases() {
-      if (this.isAdd) {
-        this.$post('hr/empAccidentCases', { ...this.accidentCasesForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanAccidentCases()
-          this.selectAccidentCases()
-        })
-      } else {
-        this.$put('hr/empAccidentCases', { ...this.accidentCasesForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanAccidentCases()
-          this.selectAccidentCases()
-        })
-      }
-      this.dialogIsShow()
+    putAccidentCases(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empAccidentCases', { ...this.accidentCasesForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanAccidentCases()
+              this.selectAccidentCases()
+            })
+          } else {
+            this.$put('hr/empAccidentCases', { ...this.accidentCasesForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanAccidentCases()
+              this.selectAccidentCases()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putAccidentCasesContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empAccidentCases', { ...this.accidentCasesForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanAccidentCases()
-          this.selectAccidentCases()
-        })
-      }
+    putAccidentCasesContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empAccidentCases', { ...this.accidentCasesForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanAccidentCases()
+              this.selectAccidentCases()
+            })
+          }
+        }
+      })
     },
     cleanAccidentCases() {
       this.accidentCasesForm.accidentId = ''
@@ -4132,42 +4278,50 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putOccupational() {
-      if (this.isAdd) {
-        this.$post('hr/empOccupational', { ...this.occupationalForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanOccupational()
-          this.selectOccupational()
-        })
-      } else {
-        this.$put('hr/empOccupational', { ...this.occupationalForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanOccupational()
-          this.selectOccupational()
-        })
-      }
-      this.dialogIsShow()
+    putOccupational(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empOccupational', { ...this.occupationalForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanOccupational()
+              this.selectOccupational()
+            })
+          } else {
+            this.$put('hr/empOccupational', { ...this.occupationalForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanOccupational()
+              this.selectOccupational()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
     },
-    putOccupationalContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empOccupational', { ...this.occupationalForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanOccupational()
-          this.selectOccupational()
-        })
-      }
+    putOccupationalContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empOccupational', { ...this.occupationalForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanOccupational()
+              this.selectOccupational()
+            })
+          }
+        }
+      })
     },
     cleanOccupational() {
       this.occupationalForm.occupationalId = ''
@@ -4271,42 +4425,53 @@
       this.queryParams.delFlag = 2
       this.search()
     },
-    putLaborTrouble() {
-      if (this.isAdd) {
-        this.$post('hr/empLaborTrouble', { ...this.laborTroubleForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanLaborTrouble()
-          this.selectLaborTrouble()
-        })
-      } else {
-        this.$put('hr/empLaborTrouble', { ...this.laborTroubleForm }).then(() => {
-          this.$message({
-            message: this.$t('tips.updateSuccess'),
-            type: 'success'
-          })
-          this.$emit('success')
-          this.cleanLaborTrouble()
-          this.selectLaborTrouble()
-        })
-      }
-      this.dialogIsShow()
+    arbitrationPayChange(e) {
+      this.laborTroubleForm.arbitrationPay = e.target.value
     },
-    putLaborTroubleContinue() {
-      if (this.isAdd) {
-        this.$post('hr/empLaborTrouble', { ...this.laborTroubleForm }).then(() => {
-          this.buttonLoading = false
-          this.$message({
-            message: this.$t('tips.createSuccess'),
-            type: 'success'
-          })
-          this.cleanLaborTrouble()
-          this.selectLaborTrouble()
-        })
-      }
+    putLaborTrouble(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empLaborTrouble', { ...this.laborTroubleForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanLaborTrouble()
+              this.selectLaborTrouble()
+            })
+          } else {
+            this.$put('hr/empLaborTrouble', { ...this.laborTroubleForm }).then(() => {
+              this.$message({
+                message: this.$t('tips.updateSuccess'),
+                type: 'success'
+              })
+              this.$emit('success')
+              this.cleanLaborTrouble()
+              this.selectLaborTrouble()
+            })
+          }
+          this.dialogIsShow()
+        }
+      })
+    },
+    putLaborTroubleContinue(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            this.$post('hr/empLaborTrouble', { ...this.laborTroubleForm }).then(() => {
+              this.buttonLoading = false
+              this.$message({
+                message: this.$t('tips.createSuccess'),
+                type: 'success'
+              })
+              this.cleanLaborTrouble()
+              this.selectLaborTrouble()
+            })
+          }
+        }
+      })
     },
     cleanLaborTrouble() {
       this.laborTroubleForm.arbitrationId = ''

--
Gitblit v1.8.0