luoyb
2021-02-04 49e0f2751e7950085cc6e13fbbf8817c187ca459
src/views/user/Informationinput.vue
@@ -4,46 +4,46 @@
      <el-aside width="200px">
        <el-timeline>
          <el-timeline-item @click.native="isShow(showArr[0].show, 0)">
            <span :class="thisShowIndex==0?'selectedTimeline':''">基本信息</span>
            <span :class="thisShowIndex===0?'selectedTimeline':''">基本信息</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[1].show, 1)">
            <span :class="thisShowIndex==1?'selectedTimeline':''">工作经历</span>
            <span :class="thisShowIndex===1?'selectedTimeline':''">工作经历</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[2].show, 2)">
            <span :class="thisShowIndex==2?'selectedTimeline':''">体检信息</span>
            <span :class="thisShowIndex===2?'selectedTimeline':''">体检信息</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[3].show, 3)">
            <span :class="thisShowIndex==3?'selectedTimeline':''">合同信息</span>
            <span :class="thisShowIndex===3?'selectedTimeline':''">合同信息</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[4].show, 4)">
            <span :class="thisShowIndex==4?'selectedTimeline':''">考勤情况</span>
            <span :class="thisShowIndex===4?'selectedTimeline':''">考勤情况</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[5].show, 5)">
            <span :class="thisShowIndex==5?'selectedTimeline':''">请假记录</span>
            <span :class="thisShowIndex===5?'selectedTimeline':''">请假记录</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[6].show, 6)">
            <span :class="thisShowIndex==6?'selectedTimeline':''">辞职申请</span>
            <span :class="thisShowIndex===6?'selectedTimeline':''">辞职申请</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[7].show, 7)">
            <span :class="thisShowIndex==7?'selectedTimeline':''">失业金领取</span>
            <span :class="thisShowIndex===7?'selectedTimeline':''">失业金领取</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[8].show, 8)">
            <span :class="thisShowIndex==8?'selectedTimeline':''">社保申请</span>
            <span :class="thisShowIndex===8?'selectedTimeline':''">社保申请</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[9].show, 9)">
            <span :class="thisShowIndex==9?'selectedTimeline':''">意外险案件</span>
            <span :class="thisShowIndex===9?'selectedTimeline':''">意外险案件</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[10].show, 10)">
            <span :class="thisShowIndex==10?'selectedTimeline':''">工伤案件</span>
            <span :class="thisShowIndex===10?'selectedTimeline':''">工伤案件</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[11].show, 11)">
            <span :class="thisShowIndex==11?'selectedTimeline':''">劳资案件</span>
            <span :class="thisShowIndex===11?'selectedTimeline':''">劳资案件</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[12].show, 12)">
            <span :class="thisShowIndex==12?'selectedTimeline':''">不良记录</span>
            <span :class="thisShowIndex===12?'selectedTimeline':''">不良记录</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[13].show, 13)">
            <span :class="thisShowIndex==13?'selectedTimeline':''">备注信息</span>
            <span :class="thisShowIndex===13?'selectedTimeline':''">备注信息</span>
          </el-timeline-item>
        </el-timeline>
      </el-aside>
@@ -72,23 +72,24 @@
              </el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="empName" label="姓名" width="180" />
          <el-table-column prop="deptName" label="护卫点" />
          <el-table-column prop="jobName" label="岗位" width="180" />
          <el-table-column prop="empType" label="员工类别" width="180" />
          <el-table-column prop="sexName" label="性别" />
          <el-table-column prop="nationName" label="民族" />
          <el-table-column prop="" label="照片" width="60" />
          <el-table-column prop="empNumb" label="员工编号" width="100" />
          <el-table-column prop="empName" label="姓名" width="100" />
          <el-table-column prop="deptName" label="护卫点" width="100" />
          <el-table-column prop="jobName" label="岗位" width="100" />
          <el-table-column prop="empTypeName" label="员工类别" width="100" />
          <el-table-column prop="sexName" label="性别" width="50" />
          <el-table-column prop="nationName" label="民族" width="100" />
          <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
          <el-table-column prop="marriageName" label="婚姻状况" />
          <el-table-column prop="politicsName" label="政治面貌" width="180" />
          <el-table-column prop="educationName" label="最高学历" width="180" />
          <el-table-column prop="entryDate" label="入职日期" width="180" />
          <el-table-column prop="insuranceType" label="保险类型" width="180" />
          <el-table-column prop="socialNumb" label="社保电脑号" width="180" />
          <el-table-column prop="guardNumb" label="保安员证号" width="180" />
          <el-table-column prop="archivesNumber" label="档案编号" width="180" />
          <el-table-column prop="archivesStatus" label="档案情况" width="180" />
          <el-table-column prop="marriageName" label="婚姻状况" width="80" />
          <el-table-column prop="politicsName" label="政治面貌" width="100" />
          <el-table-column prop="educationName" label="最高学历" width="100" />
          <el-table-column prop="entryDate" label="入职日期" width="100" />
          <el-table-column prop="insuranceType" label="保险类型" width="100" />
          <el-table-column prop="socialNumb" label="社保电脑号" width="150" />
          <el-table-column prop="guardNumb" label="保安员证号" width="100" />
          <el-table-column prop="archivesNumb" label="档案编号" width="100" />
          <el-table-column prop="archivesStatusName" label="档案情况" width="100" />
        </el-table>
        <el-table
          v-show="showArr[1].show"
@@ -175,10 +176,17 @@
          <el-table-column prop="contractStatus" label="合同状态" width="180" />
          <el-table-column prop="transactor" label="合同办理人" width="180" />
        </el-table>
        <el-table v-show="showArr[4].show" ref="dimissionAttendTable" :data="dimissionAttendData" style="width: 100%;height: 70%;">
        <el-table
          v-show="showArr[4].show"
          ref="dimissionAttendTable"
          :data="dimissionAttendData"
          style="width: 100%;height: 70%;"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editDimissionAttend(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editDimissionAttend(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -197,7 +205,9 @@
        <el-table v-show="showArr[5].show" ref="leaveInfoTable" :data="leaveInfoData" style="width: 100%;height: 70%;">
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -215,7 +225,9 @@
        <el-table v-show="showArr[6].show" ref="resignTable" :data="resignData" style="width: 100%;height: 70%;">
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editResign(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editResign(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="deptName" label="护卫点" width="180" />
          <el-table-column prop="jobName" label="岗位名" width="180" />
@@ -227,10 +239,17 @@
          <el-table-column prop="reporter" label="汇报人" width="180" />
          <el-table-column prop="remark" label="备注" width="180" />
        </el-table>
        <el-table v-show="showArr[7].show" ref="unemploymentTable" :data="unemploymentData" style="width: 100%;height: 70%;">
        <el-table
          v-show="showArr[7].show"
          ref="unemploymentTable"
          :data="unemploymentData"
          style="width: 100%;height: 70%;"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editUnemployment(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editUnemployment(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -246,7 +265,9 @@
        <el-table v-show="showArr[8].show" ref="insuranceTable" :data="insuranceData" style="width: 100%;height: 70%;">
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editInsurance(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editInsurance(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -261,10 +282,17 @@
          <el-table-column prop="auditor" label="审核人" width="180" />
          <el-table-column prop="remark" label="备注" width="280" />
        </el-table>
        <el-table v-show="showArr[9].show" ref="accidentCasesTable" :data="accidentCasesData" style="width: 100%;height: 70%;">
        <el-table
          v-show="showArr[9].show"
          ref="accidentCasesTable"
          :data="accidentCasesData"
          style="width: 100%;height: 70%;"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editAccidentCases(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editAccidentCases(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -286,10 +314,17 @@
          <el-table-column prop="expensesFee" label="医疗总费用" width="180" />
          <el-table-column prop="innsureFee" label="保险赔付费用" width="180" />
        </el-table>
        <el-table v-show="showArr[10].show" ref="occupationalTable" :data="occupationalData" style="width: 100%;height: 70%;">
        <el-table
          v-show="showArr[10].show"
          ref="occupationalTable"
          :data="occupationalData"
          style="width: 100%;height: 70%;"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editOccupational(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editOccupational(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -311,10 +346,17 @@
          <el-table-column prop="expensesFee" label="医疗总费用" width="180" />
          <el-table-column prop="compensated" label="已赔付医药费用" width="180" />
        </el-table>
        <el-table v-show="showArr[11].show" ref="occupationalTable" :data="laborTroubleData" style="width: 100%;height: 70%;">
        <el-table
          v-show="showArr[11].show"
          ref="occupationalTable"
          :data="laborTroubleData"
          style="width: 100%;height: 70%;"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editLaborTrouble(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editLaborTrouble(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -358,10 +400,17 @@
          <el-table-column prop="reporter" label="汇报人" width="180" />
          <el-table-column prop="remark" label="备注" width="180" />
        </el-table>
        <el-table v-show="showArr[13].show" ref="remarkInfoTable" :data="remarkInfoData" style="width: 100%;height: 70%;">
        <el-table
          v-show="showArr[13].show"
          ref="remarkInfoTable"
          :data="remarkInfoData"
          style="width: 100%;height: 70%;"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column fixed="left" label="操作" width="100">
            <template slot-scope="scope"><el-button type="text" size="small" @click="editRemarkInfo(scope.row)">编辑</el-button></template>
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="editRemarkInfo(scope.row)">编辑</el-button>
            </template>
          </el-table-column>
          <el-table-column prop="empNumb" label="员工编号" width="180" />
          <el-table-column prop="deptName" label="护卫点" width="180" />
@@ -371,17 +420,23 @@
          <el-table-column prop="remarkDate" label="备注日期" width="180" />
          <el-table-column prop="remarkContent" label="备注信息" width="400" />
        </el-table>
        <pagination
          v-show="total>0"
          :total="total"
          :page.sync="pagination.num"
          :limit.sync="pagination.size"
          @pagination="search"
        />
        <el-col :span="24">
          <div style="margin: 0px auto; width: 250px;margin-top: 20px;">
            <el-button class="nomalBtn">取消</el-button>
            <el-button class="nomalBtn">暂存</el-button>
            <el-button class="commonBtn">提交</el-button>
            <el-button class="nomalBtn" @click="deleteFrom()">取消</el-button>
            <el-button class="commonBtn" @click="submitTo()">提交</el-button>
          </div>
        </el-col>
      </el-main>
    </el-container>
    <el-dialog title="基本信息" :visible.sync="dialogshowArr[0].show" width="50%">
      <el-form :model="empBaseInfoForm" :rules="rules" label-position="right" label-width="120px">
      <el-form ref="empBaseInfoForm" :model="empBaseInfoForm" :rules="rules" label-position="right" label-width="120px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="档案号">
@@ -396,7 +451,7 @@
                <el-option label="女" value="2" />
              </el-select>
            </el-form-item>
            <el-form-item label="员工类型">
            <el-form-item label="员工类型" prop="empType">
              <el-select v-model="empBaseInfoForm.empType" placeholder="请选择员工类型">
                <el-option label="正式工" value="1" />
                <el-option label="临时工" value="2" />
@@ -543,7 +598,7 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="护卫点" required prop="deptNeme">
            <el-form-item label="护卫点" required message="请选择护卫点" prop="deptId">
              <treeselect
                v-model="empBaseInfoForm.deptId"
                :multiple="false"
@@ -556,11 +611,21 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="empBaseInfoForm.empName" />
            </el-form-item>
            <el-form-item label="所属岗位" prop="jobName">
              <el-input v-model="empBaseInfoForm.jobName" />
            <el-form-item label="所属岗位">
              <!--              <el-input v-model="empBaseInfoForm.jobName" />-->
              <el-autocomplete
                v-model="empBaseInfoForm.jobName"
                class="inline-input"
                :fetch-suggestions="querySearchJob"
                placeholder="请输入岗位"
                @select="jobNameSelect"
              />
            </el-form-item>
            <el-form-item label="身份证号码">
              <el-input v-model="empBaseInfoForm.certificateNumb" @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)" />
              <el-input
                v-model="empBaseInfoForm.certificateNumb"
                @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)"
              />
            </el-form-item>
            <el-form-item label="身份证有效期">
              <el-input v-model="empBaseInfoForm.certificateValidity" />
@@ -635,8 +700,8 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="putEmpBase()">保 存</el-button>
        <el-button type="primary" @click="putEmpBaseContinue()">保存并继续新增</el-button>
        <el-button type="primary" @click="putEmpBase('empBaseInfoForm')">保 存</el-button>
        <el-button type="primary" @click="putEmpBaseContinue('empBaseInfoForm')">保存并继续新增</el-button>
        <el-button @click="dialogIsShow()">取 消</el-button>
      </div>
    </el-dialog>
@@ -648,7 +713,10 @@
              <el-input v-model="workExperienceForm.empNumb" />
            </el-form-item>
            <el-form-item label="身份证号码">
              <el-input v-model="workExperienceForm.certificateNumb" @input="generateUserInfo(1,empBaseInfoForm.certificateNumb)" />
              <el-input
                v-model="workExperienceForm.certificateNumb"
                @input="generateUserInfo(1,empBaseInfoForm.certificateNumb)"
              />
            </el-form-item>
            <el-form-item label="护卫点" required prop="deptNeme">
@@ -726,7 +794,10 @@
              <el-input v-model="physicalExamForm.empNumb" />
            </el-form-item>
            <el-form-item label="身份证号码">
              <el-input v-model="physicalExamForm.certificateNumb" @input="generateUserInfo(2,empBaseInfoForm.certificateNumb)" />
              <el-input
                v-model="physicalExamForm.certificateNumb"
                @input="generateUserInfo(2,empBaseInfoForm.certificateNumb)"
              />
            </el-form-item>
            <el-form-item label="护卫点" required prop="deptNeme">
              <treeselect
@@ -947,9 +1018,15 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="姓名" prop="empName"><el-input v-model="dimissionAttendForm.empName" /></el-form-item>
            <el-form-item label="证件号码"><el-input v-model="dimissionAttendForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="dimissionAttendForm.jobName" /></el-form-item>
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="dimissionAttendForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="dimissionAttendForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="dimissionAttendForm.jobName" />
            </el-form-item>
            <el-form-item label="出勤天数">
              <el-input v-model="dimissionAttendForm.attendDays" />
            </el-form-item>
@@ -1029,8 +1106,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="leaveInfoForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="leaveInfoForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="leaveInfoForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="leaveInfoForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="leaveInfoForm.jobName" />
            </el-form-item>
            <el-form-item label="请假结束时间">
              <el-date-picker
                v-model="leaveInfoForm.endTime"
@@ -1106,8 +1187,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="resignForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="resignForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="resignForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="resignForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="resignForm.jobName" />
            </el-form-item>
            <el-form-item label="报备人">
              <el-input v-model="resignForm.reporter" />
            </el-form-item>
@@ -1173,8 +1258,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="unemploymentForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="unemploymentForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="unemploymentForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="unemploymentForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="unemploymentForm.jobName" />
            </el-form-item>
            <el-form-item label="汇报人">
              <el-input v-model="unemploymentForm.reporter" />
            </el-form-item>
@@ -1243,8 +1332,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="insuranceForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="insuranceForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="insuranceForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="insuranceForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="insuranceForm.jobName" />
            </el-form-item>
            <el-form-item label="申请人">
              <el-input v-model="insuranceForm.proposer" />
            </el-form-item>
@@ -1312,8 +1405,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="accidentCasesForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="accidentCasesForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="accidentCasesForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="accidentCasesForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="accidentCasesForm.jobName" />
            </el-form-item>
            <el-form-item label="受伤地点">
              <el-input v-model="accidentCasesForm.injuredAddress" />
            </el-form-item>
@@ -1448,8 +1545,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="occupationalForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="occupationalForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="occupationalForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="occupationalForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="occupationalForm.jobName" />
            </el-form-item>
            <el-form-item label="受伤地点">
              <el-input v-model="occupationalForm.injuredAddress" />
            </el-form-item>
@@ -1635,8 +1736,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="laborTroubleForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="laborTroubleForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="laborTroubleForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="laborTroubleForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="laborTroubleForm.jobName" />
            </el-form-item>
            <el-form-item label="仲裁类型">
              <el-input v-model="laborTroubleForm.arbitrationType" />
            </el-form-item>
@@ -1710,8 +1815,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="badRecordForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="badRecordForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="badRecordForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="badRecordForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="badRecordForm.jobName" />
            </el-form-item>
            <el-form-item label="汇报人">
              <el-input v-model="badRecordForm.reporter" />
            </el-form-item>
@@ -1775,8 +1884,12 @@
            <el-form-item label="姓名" prop="empName">
              <el-input v-model="remarkInfoForm.empName" />
            </el-form-item>
            <el-form-item label="证件号码"><el-input v-model="remarkInfoForm.certificateNumb" /></el-form-item>
            <el-form-item label="岗位名称"><el-input v-model="remarkInfoForm.jobName" /></el-form-item>
            <el-form-item label="证件号码">
              <el-input v-model="remarkInfoForm.certificateNumb" />
            </el-form-item>
            <el-form-item label="岗位名称">
              <el-input v-model="remarkInfoForm.jobName" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
@@ -1802,22 +1915,38 @@
import { toCardGetUserInfo } from '@/utils/myUtil'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import Pagination from '@/components/Pagination'
export default {
  components: { Treeselect },
  components: { Treeselect, Pagination },
  data() {
    return {
      rules: { empNumb: [{ required: true, message: '请输入员工编号', trigger: 'blur' },
        { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }],
      empName: [{ required: true, message: '请输入员工姓名', trigger: 'blur' },
        { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }],
      jobName: [{ required: true, message: '请输入员工岗位', trigger: 'blur' },
        { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }],
      sex: [
        { required: true, message: '请选择性别', trigger: 'change' }
      ],
      deptName: [
        { required: true, message: '请选择护卫点', trigger: 'input' }
      ] },
      total: 0, // 总数量
      queryParams: {}, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 20,
        num: 1
      },
      tableUrl: '',
      tableDataName: '',
      rules: {
        empNumb: [{ required: true, message: '请输入员工编号', trigger: 'blur' },
          { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }],
        empName: [{ required: true, message: '请输入员工姓名', trigger: 'blur' },
          { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }],
        jobName: [{ required: true, message: '请输入员工岗位', trigger: 'blur' },
          { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }],
        sex: [
          { required: true, message: '请选择性别', trigger: 'change' }
        ],
        deptName: [
          { required: true, message: '请选择护卫点', trigger: 'input' }
        ],
        empType: [{
          required: true, message: '请选择员工类型', trigger: 'change'
        }]
      },
      restaurants: [{ value: '北京市', code: '110000' },
        { value: '天津市', code: '120000' },
        { value: '河北省', code: '130000' },
@@ -1852,6 +1981,33 @@
        { value: '台湾省', code: '710000' },
        { value: '香港特别行政区', code: '810000' },
        { value: '澳门特别行政区', code: '820000' }],
      restaurJob: [{ value: '总经理', code: '2942725270000031' },
        { value: '总秘', code: '2942725270000032' },
        { value: '总助', code: '2942725270000033' },
        { value: '经理', code: '2942725270000022' },
        { value: '副经理', code: '2942725270000015' },
        { value: '助理', code: '2942725270000030' },
        { value: '项目经理', code: '2942725270000027' },
        { value: '大队长', code: '2942725270000006' },
        { value: '大队长兼内勤', code: '2942725270000007' },
        { value: '中队长', code: '2942725270000029' },
        { value: '队长', code: '2942725270000011' },
        { value: '分队长', code: '2942725270000013' },
        { value: '副队长', code: '2942725270000014' },
        { value: '班长', code: '2942725270000002' },
        { value: '保安员', code: '2942725270000003' },
        { value: '内勤', code: '2942725270000024' },
        { value: '保洁', code: '2942725270000004' },
        { value: '电工', code: '2942725270000010' },
        { value: '绿化工', code: '2942725270000023' },
        { value: '出纳', code: '2942725270000005' },
        { value: '人事专员', code: '2942725270000025' },
        { value: '司机', code: '2942725270000026' },
        { value: '购买保险', code: '2942725270000016' },
        { value: '广州燃气中队长', code: '2942725270000018' },
        { value: '管理员', code: '2942725270000017' },
        { value: '监控员', code: '2942725270000021' },
        { value: '员工', code: '2942725270000028' }],
      formLabelWidth: '120px',
      thisShowIndex: 0,
      dialogShowXzyg: false,
@@ -2361,20 +2517,29 @@
  },
  mounted() {
    this.initDept()
    this.selectBadRecord()
    this.selectEmpBase()
    this.selectWorkExperience()
    this.selectPhysicalExam()
    this.selectContractInfo()
    this.selectDimissionAttend()
    this.selectLeaveInfo()
    this.selectResign()
    this.selectUnemployment()
    this.selectAccidentCases()
    this.selectLaborTrouble()
    this.selectRemarkInfo()
    this.thisShowIndex = 1
    this.isShow(false, 0)
  },
  methods: {
    // 翻页插件翻页方法
    search() {
      this.fetch({
        ...this.queryParams,
        ...this.sort
      })
    },
    // 公用查询
    fetch(params = {}) {
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get(this.tableUrl, {
        ...params
      }).then((r) => {
        const data = r.data.data
        this.total = data.total
        this[this.tableDataName] = data.rows
      })
    },
    dialogIsShow() {
      this.isAdd = true
      this.dialogshowArr[this.thisShowIndex].show = !this.dialogshowArr[this.thisShowIndex]
@@ -2391,6 +2556,92 @@
        this.showArr[this.thisShowIndex].show = false
      }
      this.thisShowIndex = index
      switch (this.thisShowIndex) {
        case 0:
          this.tableUrl = 'hr/empBaseInfo/list'
          this.tableDataName = 'basicInformationData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 1:
          this.tableUrl = 'hr/empWorkExperience/list'
          this.tableDataName = 'workExperienceData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 2:
          this.tableUrl = 'hr/empPhysicalExam/list'
          this.tableDataName = 'physicalExamData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 3:
          this.tableUrl = 'hr/empContractInfo/list'
          this.tableDataName = 'contractInfoData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 4:
          this.tableUrl = 'hr/empDimissionAttend/list'
          this.tableDataName = 'dimissionAttendData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 5:
          this.tableUrl = 'hr/empLeaveInfo/list'
          this.tableDataName = 'leaveInfoData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 6:
          this.tableUrl = 'hr/empResign/list'
          this.tableDataName = 'resignData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 7:
          this.tableUrl = 'hr/empUnemployment/list'
          this.tableDataName = 'unemploymentData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 8:
          this.tableUrl = 'hr/empInsurance/list'
          this.tableDataName = 'insuranceData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 9:
          this.tableUrl = 'hr/empAccidentCases/list'
          this.tableDataName = 'accidentCasesData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 10:
          this.tableUrl = 'hr/empOccupational/list'
          this.tableDataName = 'occupationalData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 11:
          this.tableUrl = 'hr/empLaborTrouble/list'
          this.tableDataName = 'laborTroubleData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 12:
          this.tableUrl = 'hr/empBadRecord/list'
          this.tableDataName = 'badRecordData'
          this.queryParams.delFlag = 2
          this.search()
          break
        case 13:
          this.tableUrl = 'hr/empRemarkInfo/list'
          this.tableDataName = 'remarkInfoData'
          this.queryParams.delFlag = 2
          this.search()
          break
      }
    },
    initDept() {
      this.$get('system/dept').then((r) => {
@@ -2408,9 +2659,10 @@
      this.$refs.deptTree.setCheckedKeys([])
    },
    butDelete() {
      let selected
      switch (this.thisShowIndex) {
        case 0:
          var selected = this.$refs.empBaseInfoTable.selection
          selected = this.$refs.empBaseInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2426,8 +2678,7 @@
          }
          break
        case 1:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.workExperienceTable.selection
          selected = this.$refs.workExperienceTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2443,8 +2694,7 @@
          }
          break
        case 2:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.physicalExamTable.selection
          selected = this.$refs.physicalExamTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2460,8 +2710,7 @@
          }
          break
        case 3:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.contractInfoTable.selection
          selected = this.$refs.contractInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2477,8 +2726,7 @@
          }
          break
        case 4:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.dimissionAttendTable.selection
          selected = this.$refs.dimissionAttendTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2494,8 +2742,7 @@
          }
          break
        case 5:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.leaveInfoTable.selection
          selected = this.$refs.leaveInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2511,8 +2758,7 @@
          }
          break
        case 6:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.resignTable.selection
          selected = this.$refs.resignTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2528,8 +2774,7 @@
          }
          break
        case 7:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.unemploymentTable.selection
          selected = this.$refs.unemploymentTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2545,8 +2790,7 @@
          }
          break
        case 8:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.insuranceTable.selection
          selected = this.$refs.insuranceTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2562,8 +2806,7 @@
          }
          break
        case 9:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.accidentCasesTable.selection
          selected = this.$refs.accidentCasesTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2579,8 +2822,7 @@
          }
          break
        case 10:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.occupationalTable.selection
          selected = this.$refs.occupationalTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2596,8 +2838,7 @@
          }
          break
        case 11:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.occupationalTable.selection
          selected = this.$refs.occupationalTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
@@ -2613,8 +2854,7 @@
          }
          break
        case 12:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.badRecordTable.selection
          selected = this.$refs.badRecordTable.selection
          if (selected.length > 0) {
            const badIds = []
            selected.forEach((j) => {
@@ -2630,8 +2870,7 @@
          }
          break
        case 13:
          // eslint-disable-next-line no-redeclare
          var selected = this.$refs.remarkInfoTable.selection
          selected = this.$refs.remarkInfoTable.selection
          if (selected.length > 0) {
            const badIds = []
            selected.forEach((j) => {
@@ -2648,8 +2887,242 @@
          break
      }
    },
    deleteFrom() {
      this.butDelete()
    },
    submitTo() {
      let selected
      switch (this.thisShowIndex) {
        case 0:
          selected = this.$refs.empBaseInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.empId)
            })
            this.$delete(`hr/empBaseInfo/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectEmpBase()
            })
          }
          break
        case 1:
          selected = this.$refs.workExperienceTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.workExperienceId)
            })
            this.$delete(`hr/empWorkExperience/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectWorkExperience()
            })
          }
          break
        case 2:
          selected = this.$refs.physicalExamTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.physicalExamId)
            })
            this.$delete(`hr/empPhysicalExam/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectPhysicalExam()
            })
          }
          break
        case 3:
          selected = this.$refs.contractInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.contractId)
            })
            this.$delete(`hr/empContractInfo/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectContractInfo()
            })
          }
          break
        case 4:
          selected = this.$refs.dimissionAttendTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.dimissionAttendId)
            })
            this.$delete(`hr/empDimissionAttend/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectDimissionAttend()
            })
          }
          break
        case 5:
          selected = this.$refs.leaveInfoTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.leaveId)
            })
            this.$delete(`hr/empLeaveInfo/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectLeaveInfo()
            })
          }
          break
        case 6:
          selected = this.$refs.resignTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.resignId)
            })
            this.$delete(`hr/empResign/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectResign()
            })
          }
          break
        case 7:
          selected = this.$refs.unemploymentTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.unemploymentId)
            })
            this.$delete(`hr/empUnemployment/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectUnemployment()
            })
          }
          break
        case 8:
          selected = this.$refs.insuranceTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.insuranceId)
            })
            this.$delete(`hr/empInsurance/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectInsurance()
            })
          }
          break
        case 9:
          selected = this.$refs.accidentCasesTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.accidentId)
            })
            this.$delete(`hr/empAccidentCases/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectAccidentCases()
            })
          }
          break
        case 10:
          selected = this.$refs.occupationalTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.occupationalId)
            })
            this.$delete(`hr/empOccupational/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectOccupational()
            })
          }
          break
        case 11:
          selected = this.$refs.occupationalTable.selection
          if (selected.length > 0) {
            const delIds = []
            selected.forEach((j) => {
              delIds.push(j.arbitrationId)
            })
            this.$delete(`hr/empLaborTrouble/toNormal/` + delIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectLaborTrouble()
            })
          }
          break
        case 12:
          selected = this.$refs.badRecordTable.selection
          if (selected.length > 0) {
            const badIds = []
            selected.forEach((j) => {
              badIds.push(j.badId)
            })
            this.$delete(`hr/empBadRecord/toNormal/` + badIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectBadRecord()
            })
          }
          break
        case 13:
          selected = this.$refs.remarkInfoTable.selection
          if (selected.length > 0) {
            const badIds = []
            selected.forEach((j) => {
              badIds.push(j.remarkId)
            })
            this.$delete(`hr/empRemarkInfo/toNormal/` + badIds).then(() => {
              this.$message({
                message: this.$t('tips.submitSuccess'),
                type: 'success'
              })
              this.selectBadRecord()
            })
          }
          break
      }
    },
    selectEmpBase() {
      this.$get('hr/empBaseInfo/list')
      this.queryParams.delFlag = '2'
      // eslint-disable-next-line no-undef
      this.$get('hr/empBaseInfo/list', this.queryParams)
        .then((r) => {
          this.basicInformationData = r.data.data.rows
        })
@@ -2760,42 +3233,50 @@
      this.empBaseInfoForm.version = row.version
      this.dialogshowArr[0].show = true
    },
    putEmpBase() {
      if (this.isAdd) {
        this.$post('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
          this.buttonLoading = false
          this.$message({
            message: this.$t('tips.createSuccess'),
            type: 'success'
          })
          this.cleanEmpBase()
          this.selectEmpBase()
        })
      } else {
        this.$put('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
          this.$message({
            message: this.$t('tips.updateSuccess'),
            type: 'success'
          })
          this.$emit('success')
          this.cleanEmpBase()
          this.selectEmpBase()
        })
      }
      this.dialogIsShow()
    putEmpBase(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          if (this.isAdd) {
            this.$post('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
              this.buttonLoading = false
              this.$message({
                message: this.$t('tips.createSuccess'),
                type: 'success'
              })
              this.cleanEmpBase()
              this.selectEmpBase()
            })
          } else {
            this.$put('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
              this.$message({
                message: this.$t('tips.updateSuccess'),
                type: 'success'
              })
              this.$emit('success')
              this.cleanEmpBase()
              this.selectEmpBase()
            })
          }
          this.dialogIsShow()
        }
      })
    },
    putEmpBaseContinue() {
      if (this.isAdd) {
        this.$post('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
          this.buttonLoading = false
          this.$message({
            message: this.$t('tips.createSuccess'),
            type: 'success'
          })
          this.cleanEmpBase()
          this.selectEmpBase()
        })
      }
    putEmpBaseContinue(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          if (this.isAdd) {
            this.$post('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
              this.buttonLoading = false
              this.$message({
                message: this.$t('tips.createSuccess'),
                type: 'success'
              })
              this.cleanEmpBase()
              this.selectEmpBase()
            })
          }
        }
      })
    },
    selectWorkExperience() {
      this.$get('hr/empWorkExperience/list')
@@ -4146,12 +4627,17 @@
    selectedUser(users) {
      for (var i = 0; i < users.length; i++) {
        var data = users[i]
        this.unemploymentForm.empNumb = data.username
        this.unemploymentForm.empNumb = data.empNumb
        this.unemploymentForm.sex = data.sex === '0' ? '1' : '2'
      }
      this.dialogShowXzyg = false
    }, querySearch(queryString, cb) {
      var restaurants = this.restaurants
      var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
      // 调用 callback 返回建议列表的数据
      cb(results)
    }, querySearchJob(queryString, cb) {
      var restaurants = this.restaurJob
      var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
      // 调用 callback 返回建议列表的数据
      cb(results)
@@ -4163,7 +4649,11 @@
    }, placeNameSelect(item) {
      this.empBaseInfoForm.nativePlaceName = item.value
      this.empBaseInfoForm.nativePlace = item.code
    }, generateUserInfo(index, val) {
    }, jobNameSelect(item) {
      this.empBaseInfoForm.jobName = item.value
      this.empBaseInfoForm.JobId = item.code
    },
    generateUserInfo(index, val) {
      var userinfo = toCardGetUserInfo(val)
      if (userinfo === null) {
        return
@@ -4249,7 +4739,7 @@
}
</style>
<style lang="scss" scoped>
.el-autocomplete{
.el-autocomplete {
  width: 100%;
}
</style>