luoyb
2024-05-16 4cce4a5d09d5c8ed86f241cd70b6369344d2dfce
src/views/user/Informationinput.vue
@@ -3,53 +3,53 @@
    <el-container>
      <el-aside width="175px">
        <el-timeline style="padding-left: 15px">
          <el-timeline-item @click.native="isShow(showArr[0].show, 0)">
          <el-timeline-item v-show="timelineShow('empBaseinfo:list')" @click.native="isShow(showArr[0].show, 0)">
            <span :class="thisShowIndex===0?'selectedTimeline':''">基本信息</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[1].show, 1)">
          <el-timeline-item v-show="timelineShow('empWorkexperience:list')" @click.native="isShow(showArr[1].show, 1)">
            <span :class="thisShowIndex===1?'selectedTimeline':''">工作经历</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[2].show, 2)">
          <el-timeline-item v-show="timelineShow('empPhysicalexam:list')" @click.native="isShow(showArr[2].show, 2)">
            <span :class="thisShowIndex===2?'selectedTimeline':''">体检信息</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[3].show, 3)">
          <el-timeline-item v-show="timelineShow('empContractinfo:list')" @click.native="isShow(showArr[3].show, 3)">
            <span :class="thisShowIndex===3?'selectedTimeline':''">合同信息</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[4].show, 4)">
          <el-timeline-item v-show="timelineShow('empDimissionattend:list')" @click.native="isShow(showArr[4].show, 4)">
            <span :class="thisShowIndex===4?'selectedTimeline':''">离职当月考勤</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[5].show, 5)">
          <el-timeline-item v-show="timelineShow('empLeaveinfo:list')" @click.native="isShow(showArr[5].show, 5)">
            <span :class="thisShowIndex===5?'selectedTimeline':''">请假记录</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[6].show, 6)">
          <el-timeline-item v-show="timelineShow('empResign:list')" @click.native="isShow(showArr[6].show, 6)">
            <span :class="thisShowIndex===6?'selectedTimeline':''">辞职申请</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[7].show, 7)">
          <el-timeline-item v-show="timelineShow('empUnemployment:list')" @click.native="isShow(showArr[7].show, 7)">
            <span :class="thisShowIndex===7?'selectedTimeline':''">失业金领取</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[8].show, 8)">
          <el-timeline-item v-show="timelineShow('empInsurance:list')" @click.native="isShow(showArr[8].show, 8)">
            <span :class="thisShowIndex===8?'selectedTimeline':''">社保申请</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[9].show, 9)">
          <el-timeline-item v-show="timelineShow('empAccidentcases:list')" @click.native="isShow(showArr[9].show, 9)">
            <span :class="thisShowIndex===9?'selectedTimeline':''">意外险案件</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[10].show, 10)">
          <el-timeline-item v-show="timelineShow('empOccupational:list')" @click.native="isShow(showArr[10].show, 10)">
            <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>
          <el-timeline-item v-show="timelineShow('empLabortrouble:list')" @click.native="isShow(showArr[11].show, 11)">
            <span :class="thisShowIndex===11?'selectedTimeline':''">仲裁案件</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[12].show, 12)">
          <el-timeline-item v-show="timelineShow('empBadrecord:list')" @click.native="isShow(showArr[12].show, 12)">
            <span :class="thisShowIndex===12?'selectedTimeline':''">不良记录</span>
          </el-timeline-item>
          <el-timeline-item @click.native="isShow(showArr[13].show, 13)">
          <el-timeline-item v-show="timelineShow('empRemarkinfo:list')" @click.native="isShow(showArr[13].show, 13)">
            <span :class="thisShowIndex===13?'selectedTimeline':''">备注信息</span>
          </el-timeline-item>
        </el-timeline>
      </el-aside>
      <el-main>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-button class="commonBtn" @click.native="dialogIsShow('0')">新增</el-button>
            <el-button class="commonBtn" style="background-color: #409EFF" @click.native="butDelete()">删除</el-button>
            <el-button class="commonBtn" style="float: right" @click.native="showDryg(0)">导入员工信息</el-button>
@@ -115,7 +115,7 @@
          <el-table-column
            prop="insuranceType"
            show-overflow-tooltip
            label="保险类型"
            label="社保档位"
            width="80"
            :formatter="insuranceTypeFormat"
          />
@@ -409,7 +409,7 @@
          <el-table-column prop="reportStatus " label="是否已报告" width="100" :formatter="reportStatusFormat" />
          <el-table-column prop="applayStatus" label="状态" width="80" :formatter="applayStatusFormat" />
          <el-table-column prop="auditor" label="审核人" width="80" />
          <el-table-column prop="remark" label="备注" />
          <el-table-column prop="remark" label="备注" width="300" />
        </el-table>
        <el-table
          v-show="showArr[9].show"
@@ -442,8 +442,8 @@
          <el-table-column show-overflow-tooltip prop="injuredPart" label="受伤部位" width="80" />
          <el-table-column show-overflow-tooltip prop="injuredDescribe" label="受伤经过描述" width="120" />
          <el-table-column show-overflow-tooltip prop="injuredDiacrisis" label="意外险诊断" width="120" />
          <el-table-column show-overflow-tooltip prop="hospitalName" label="就诊医院" width="80" />
          <el-table-column show-overflow-tooltip prop="treatmentName" label="就诊科室" width="80" />
<!--          <el-table-column show-overflow-tooltip prop="hospitalName" label="就诊医院" width="80" />-->
<!--          <el-table-column show-overflow-tooltip prop="treatmentName" label="就诊科室" width="80" />-->
          <el-table-column
            show-overflow-tooltip
            prop="hospitalizatioFlag"
@@ -451,10 +451,10 @@
            width="80"
            :formatter="hospitalizatioFlagFormat"
          />
          <el-table-column show-overflow-tooltip prop="bedNumb" label="床号" width="60" />
<!--          <el-table-column show-overflow-tooltip prop="bedNumb" label="床号" width="60" />-->
          <el-table-column show-overflow-tooltip prop="reprotTime" label="报案时间" width="80" />
          <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="120" />
          <el-table-column show-overflow-tooltip prop="sbumitBy" label="递交人" width="80" />
<!--          <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="120" />-->
<!--          <el-table-column show-overflow-tooltip prop="sbumitBy" label="递交人" width="80" />-->
          <el-table-column show-overflow-tooltip prop="expensesFee" label="医疗总费用" width="100" />
          <el-table-column show-overflow-tooltip prop="innsureFee" label="保险赔付费用" width="120" />
        </el-table>
@@ -625,7 +625,7 @@
          :limit.sync="pagination.size"
          @pagination="search"
        />
        <el-col :span="24">
        <el-col>
          <div style="width: 250px;margin: 20px auto 0;">
            <el-button class="nomalBtn" @click="deleteFrom()">取消</el-button>
            <el-button class="commonBtn" @click="submitTo()">提交</el-button>
@@ -650,7 +650,6 @@
                :headers="headers()"
                :on-success="importHandleAvatarSuccess"
                :on-error="importHandleAvatarError"
                :file-list="fileList"
                :auto-upload="false"
              >
                <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
@@ -773,11 +772,11 @@
                <el-form-item label="招聘介绍人" prop="introducer">
                  <el-input v-model="empBaseInfoForm.introducer" />
                </el-form-item>
                <el-form-item label="银行名称" prop="bankName">
                <el-form-item label="银行名称">
                  <el-input v-model="empBaseInfoForm.bankName" />
                </el-form-item>
                <el-form-item label="保险类型" prop="insuranceType">
                  <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型">
                <el-form-item label="社保档位" prop="insuranceType">
                  <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择社保档位">
                    <el-option
                      v-for="dict in insuranceTypeOptions"
                      :key="dict.dicItemCode"
@@ -786,10 +785,10 @@
                    />
                  </el-select>
                </el-form-item>
                <el-form-item label="家庭成员及关系" prop="family">
                <el-form-item label="家庭成员及关系1" prop="family">
                  <el-input v-model="empBaseInfoForm.family" />
                </el-form-item>
                <el-form-item label="紧急联系电话" prop="urgencyPhone">
                <el-form-item label="家庭成员及关系2" prop="urgencyPhone">
                  <el-input v-model="empBaseInfoForm.urgencyPhone" />
                </el-form-item>
              </el-col>
@@ -880,7 +879,7 @@
                    />
                  </el-select>
                </el-form-item>
                <el-form-item label="银行账号" prop="bankNumb">
                <el-form-item label="银行账号">
                  <el-input v-model="empBaseInfoForm.bankNumb" />
                </el-form-item>
                <el-form-item label="社保电脑号" prop="socialNumb">
@@ -907,7 +906,7 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="24">
              <el-col>
                <el-form-item label="相关证件" prop="certificateList">
                  <el-select v-model="empBaseInfoForm.certificateList" multiple placeholder="请选择相关证件">
                    <el-option
@@ -965,7 +964,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="工作单位" prop="workUnit">
              <el-input v-model="workExperienceForm.workUnit" />
            </el-form-item>
@@ -994,7 +993,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="主要工作内容" prop="jobContent">
              <el-input v-model="workExperienceForm.jobContent" type="textarea" />
            </el-form-item>
@@ -1087,7 +1086,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="体检结论" prop="conclusion">
              <el-input v-model="physicalExamForm.conclusion" />
            </el-form-item>
@@ -1102,7 +1101,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注" prop="remark">
              <el-input v-model="physicalExamForm.remark" type="textarea" />
            </el-form-item>
@@ -1139,7 +1138,15 @@
              />
            </el-form-item>
            <el-form-item label="性别" prop="sex">
              <el-input v-model="contractInfoForm.sex" />
              <!--              <el-input v-model="contractInfoForm.sex" />-->
              <el-select v-model="contractInfoForm.sex" placeholder="请选择性别">
                <el-option
                  v-for="dict in sexOptions"
                  :key="dict.dicItemCode"
                  :label="dict.dicItemName"
                  :value="dict.dicItemCode"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="合同签订日期" prop="signingDate">
              <el-date-picker
@@ -1190,7 +1197,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注" prop="remark">
              <el-input v-model="contractInfoForm.remark" type="textarea" />
            </el-form-item>
@@ -1271,7 +1278,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注" prop="remark">
              <el-input v-model="dimissionAttendForm.remark" type="textarea" />
            </el-form-item>
@@ -1367,7 +1374,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注">
              <el-input v-model="leaveInfoForm.remark" type="textarea" />
            </el-form-item>
@@ -1420,14 +1427,14 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="辞职事由" prop="reason">
              <el-input v-model="resignForm.reason" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注">
              <el-input v-model="resignForm.remark" type="textarea" />
            </el-form-item>
@@ -1493,7 +1500,7 @@
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注">
              <el-input v-model="unemploymentForm.remark" type="textarea" />
            </el-form-item>
@@ -1585,7 +1592,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注">
              <el-input v-model="insuranceForm.remark" type="textarea" />
            </el-form-item>
@@ -1651,7 +1658,7 @@
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="受伤经过描述" prop="injuredDescribe">
              <el-input v-model="accidentCasesForm.injuredDescribe" type="textarea" />
            </el-form-item>
@@ -1735,6 +1742,9 @@
                />
              </el-select>
            </el-form-item>
            <el-form-item label="备注" prop="remark">
              <el-input v-model="accidentCasesForm.remark" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
@@ -1798,7 +1808,7 @@
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="受伤经过描述" prop="injuredDescribe">
              <el-input v-model="occupationalForm.injuredDescribe" type="textarea" />
            </el-form-item>
@@ -1923,7 +1933,7 @@
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注">
              <el-input v-model="occupationalForm.remark" type="textarea" />
            </el-form-item>
@@ -1936,7 +1946,7 @@
        <el-button @click="dialogIsShow()">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog title="劳资案件" :visible.sync="dialogshowArr[11].show" width="50%">
    <el-dialog title="仲裁案件" :visible.sync="dialogshowArr[11].show" width="50%">
      <el-form
        ref="laborTroubleForm"
        :model="laborTroubleForm"
@@ -2017,14 +2027,14 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="仲裁事由" prop="arbitrationReason">
              <el-input v-model="laborTroubleForm.arbitrationReason" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注" prop="remark">
              <el-input v-model="laborTroubleForm.remark" type="textarea" />
            </el-form-item>
@@ -2083,14 +2093,14 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="不良记录描述" prop="badContent">
              <el-input v-model="badRecordForm.badContent" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注">
              <el-input v-model="badRecordForm.remark" type="textarea" />
            </el-form-item>
@@ -2146,7 +2156,7 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
          <el-col>
            <el-form-item label="备注" prop="remarkContent">
              <el-input v-model="remarkInfoForm.remarkContent" type="textarea" />
            </el-form-item>
@@ -2214,7 +2224,7 @@
          message: '长度不超过36个字符',
          trigger: 'blur'
        }],
        insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }],
        insuranceType: [{ required: true, message: '请选择社保档位', trigger: 'change' }],
        entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }],
        seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }],
        archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }],
@@ -2292,10 +2302,10 @@
          pattern: /^\d{1,2}(\.\d{1,1})?$/,
          message: '出勤天数精确到1位小数'
        }],
        overtimeDay: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '加班(天)精确到1位小数' }],
        overtimeHour: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '加班(小时)精确到1位小数' }],
        leaveDay: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '请假(天)精确到1位小数' }],
        absenteeism: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '旷工(天)精确到1位小数' }],
        overtimeDay: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '加班(天)精确到1位小数' }],
        overtimeHour: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '加班(小时)精确到1位小数' }],
        leaveDay: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '请假(天)精确到1位小数' }],
        absenteeism: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '旷工(天)精确到1位小数' }],
        remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }]
      },
      leaveInfoRules: {
@@ -3068,10 +3078,12 @@
      arbitrationTypeOptions: [],
      changeTypeOptions: [],
      dimissionTypeOptions: [],
      sexOptions: []
      sexOptions: [],
      permissions: {}
    }
  },
  mounted() {
    this.permissions = JSON.parse(localStorage.getItem('PERMISSIONS'))
    this.getDicts('PLITICAL').then(response => {
      this.statusOptions = response.data
    })
@@ -3120,7 +3132,7 @@
    this.getDicts('LEAVETYPE').then(response => {
      this.leaveTypeOptions = response.data
    })
    this.getDicts('insuranceGaers').then(response => {
    this.getDicts('INSURANCETYPE').then(response => {
      this.insuranceGaersOptions = response.data
    })
    this.getDicts('applayStatus').then(response => {
@@ -3150,6 +3162,14 @@
    this.initJob()
  },
  methods: {
    timelineShow(name) {
      for (const v of this.permissions) {
        if (v === name) {
          return true
        }
      }
      return false
    },
    importHandleAvatarError() {
      this.$notify.error({
        title: '错误',
@@ -3852,7 +3872,7 @@
              // 起始日期有,进行判断
              if (this.compareDate(this.contractInfoForm.signingDate, value)) {
                // 如果起始在结束之前
                this.contractInfoForm.contractPeriod = dateDifference(this.contractInfoForm.signingDate, this.contractInfoForm.endDate, 'y')
                this.contractInfoForm.contractPeriod = dateDifference(this.contractInfoForm.signingDate, this.contractInfoForm.endDate, 'o')
                callback()
              } else {
                callback(new Error('结束日期不能在开始始日期之前,请重新选择'))
@@ -3867,7 +3887,7 @@
              // 起始日期有,进行判断
              if (this.compareDate(this.leaveInfoForm.beginTime, value)) {
                // 如果起始在结束之前
                this.leaveInfoForm.leaveDay = dateDifference(this.leaveInfoForm.beginTime, this.leaveInfoForm.endTime, 'd')
                // this.leaveInfoForm.leaveDay = dateDifference(this.leaveInfoForm.beginTime, this.leaveInfoForm.endTime, 'd')
                callback()
              } else {
                callback(new Error('结束日期不能在开始始日期之前,请重新选择'))
@@ -4339,6 +4359,7 @@
      this.empBaseInfoForm.version = row.version
      this.dialogshowArr[0].show = true
      this.empBaseInfoImageUrl = pages.getEmpBaseInfoImage + row.empId
      this.empBaseInfoForm.insuranceType = row.insuranceType
    },
    putEmpBase(formName) {
      this.$refs[formName].validate((valid) => {