luoyb
2024-05-16 4cce4a5d09d5c8ed86f241cd70b6369344d2dfce
src/views/user/outemployess.vue
@@ -143,7 +143,7 @@
                    </td>
                  </tr>
                  <tr>
                    <td class="td">保险类型:</td>
                    <td class="td">社保档位:</td>
                    <td class="td-group">
                      <el-checkbox-group v-model="queryParams.insuranceType" class="fj-checkbox">
                        <el-checkbox label="" @change="selectAllInsuranceType">全部</el-checkbox>
@@ -179,17 +179,26 @@
                        <el-checkbox label="" @change="selectAllDimissionType">全部</el-checkbox>
                        <el-checkbox :label="6">正常离职</el-checkbox>
                        <el-checkbox :label="4">自动离职</el-checkbox>
                        <el-checkbox :label="2">公司辞退</el-checkbox>
                        <el-checkbox :label="2">公司劝退</el-checkbox>
                        <el-checkbox :label="1">合同期满</el-checkbox>
                        <el-checkbox :label="3">公司劝退</el-checkbox>
                        <el-checkbox :label="3">公司辞退</el-checkbox>
                        <el-checkbox :label="5">试用期内</el-checkbox>
                        <!--                        <el-checkbox-->
                        <!--                          v-for="data in dimissionTypeOptions"-->
                        <!--                          :key="data.dicItemName"-->
                        <!--                          :label="data.dicItemCode"-->
                        <!--                        >-->
                        <!--                          {{ data.dicItemName }}-->
                        <!--                        </el-checkbox>-->
                        <el-checkbox :label="7">到龄退休</el-checkbox>
                      </el-checkbox-group>
                    </td>
                  </tr>
                  <tr>
                    <td class="td">相关证件:</td>
                    <td class="td-group">
                      <el-checkbox-group v-model="queryParams.certificateList" class="fj-checkbox">
                        <el-checkbox label="" @change="selectAllCertificateList">全部</el-checkbox>
                        <el-checkbox
                          v-for="data in certificateListOptions"
                          :key="data.dicItemName"
                          :label="data.dicItemCode"
                        >
                          {{ data.dicItemName }}
                        </el-checkbox>
                      </el-checkbox-group>
                    </td>
                  </tr>
@@ -253,37 +262,43 @@
              >编辑</span> -->
            </template>
          </el-table-column>
          <el-table-column show-overflow-tooltip="true" prop="empNumb" label="编号" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="allDeptName" label="部门(护卫点)" width="280" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="jobName" label="岗位" width="80" />
          <el-table-column show-overflow-tooltip="true" prop="empName" label="姓名" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="certificateNumb" label="身份证号码" width="160" />
          <el-table-column show-overflow-tooltip="true" prop="sex" label="性别" width="50" :formatter="sexFormat" />
          <el-table-column show-overflow-tooltip="true" prop="age" label="年龄" width="50" />
          <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="280" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="80" />
          <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="160" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="sex" label="性别" width="50" :formatter="sexFormat" />
          <el-table-column show-overflow-tooltip prop="age" label="年龄" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column
            show-overflow-tooltip="true"
            show-overflow-tooltip
            prop="education"
            label="学历"
            width="60"
            :formatter="educationFormat"
            ortable="custom"
            :sort-orders="['ascending', 'descending']"
          />
          <el-table-column show-overflow-tooltip="true" prop="nativePlaceName" label="籍贯" width="70" />
          <el-table-column show-overflow-tooltip="true" prop="telePhone" label="联系电话" width="110" />
          <el-table-column show-overflow-tooltip prop="nativePlaceName" label="籍贯" width="70" />
          <el-table-column show-overflow-tooltip prop="telePhone" label="联系电话" width="110" />
          <el-table-column
            show-overflow-tooltip="true"
            show-overflow-tooltip
            prop="empType"
            label="员工类型"
            width="80"
            :formatter="empTypeFormat"
          />
          <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="dimissionDate" label="离职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="empStatus" label="员工状态" width="80">
          <el-table-column show-overflow-tooltip prop="entryDate" label="入职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="dimissionDate" label="离职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="empStatus" label="员工状态" width="80">
            <template slot-scope="{row}">
              {{ transEmpStatus(row.empStatus) }}
            </template>
          </el-table-column>
          <el-table-column prop="dimissionTypeName" label="离职类型" width="80" />
          <el-table-column prop="dimissionType" label="离职类型" width="120" sortable="custom" :sort-orders="['ascending', 'descending']">
            <template slot-scope="{row}">
              {{ transEntryType(row.dimissionType) }}
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total>0"
@@ -410,7 +425,7 @@
              <tr>
                <td>入职日期</td>
                <td>2020-01-02</td>
                <td>保险类型</td>
                <td>社保档位</td>
                <td>深户(五险一档)</td>
                <td>社保电脑号</td>
                <td />
@@ -424,9 +439,9 @@
                <td>已发</td>
              </tr>
              <tr>
                <td>家庭成员及关系</td>
                <td>家庭成员及关系1</td>
                <td />
                <td>紧急联系电话</td>
                <td>家庭成员及关系2</td>
                <td />
                <td>员工手册</td>
                <td>已发</td>
@@ -889,8 +904,8 @@
            </table>
            <table>
              <tr>
                <td colspan="8" class="tdTitle">劳资案件</td>
                <td class="link_button">新增劳资案件</td>
                <td colspan="8" class="tdTitle">仲裁案件</td>
                <td class="link_button">新增仲裁案件</td>
                <td class="del_button">删除</td>
              </tr>
              <tr>
@@ -985,8 +1000,8 @@
          <el-col span="24">
            <el-form-item label="打开类型" prop="region">
              <el-radio-group v-model="baseicInformationForm.openType">
                <el-radio :label="5">重新入职</el-radio>
                <el-radio :label="6">返聘</el-radio>
                <el-radio :label="21">重新入职</el-radio>
                <el-radio :label="22">返聘</el-radio>
              </el-radio-group>
              (主要对已退休员工返聘)
            </el-form-item>
@@ -996,6 +1011,17 @@
                value-format="yyyy-MM-dd"
                type="date"
                placeholder="选择打开日期"
              />
            </el-form-item>
            <el-form-item label="部门(护卫点)" required message="请选择部门(护卫点)" prop="allDeptName">
              <treeselect
                v-model="baseicInformationForm.deptId"
                :multiple="false"
                :options="depts"
                :clear-value-text="$t('common.clear')"
                placeholder="请选择部门(护卫点)"
                style="width:100%"
                @select="DeptNameSelect"
              />
            </el-form-item>
            <el-form-item label="备注说明">
@@ -1138,7 +1164,7 @@
            </td>
          </tr>
          <tr>
            <td>家庭成员及关系</td>
            <td>家庭成员及关系1</td>
            <td>
              <el-checkbox label="family"><span /></el-checkbox>
            </td>
@@ -1156,7 +1182,7 @@
            <td>
              <el-checkbox label="entryDate"><span /></el-checkbox>
            </td>
            <td>保险类型</td>
            <td>社保档位</td>
            <td>
              <el-checkbox label="insuranceTypeName"><span /></el-checkbox>
            </td>
@@ -1182,15 +1208,29 @@
          <tr>
            <td>相关证件</td>
            <td>
              <el-checkbox label="certificateList"><span /></el-checkbox>
              <el-checkbox label="certificateListName"><span /></el-checkbox>
            </td>
            <td>紧急联系电话</td>
            <td>家庭成员及关系2</td>
            <td>
              <el-checkbox label="urgencyPhone"><span /></el-checkbox>
            </td>
            <td>员工手册</td>
            <td>
              <el-checkbox label="handbookStatusName"><span /></el-checkbox>
            </td>
          </tr>
          <tr>
            <td>入职类型</td>
            <td>
              <el-checkbox label="entryTypeName"><span /></el-checkbox>
            </td>
            <td>离职类型</td>
            <td>
              <el-checkbox label="dimissionTypeName"><span /></el-checkbox>
            </td>
            <td>编号</td>
            <td>
              <el-checkbox label="empNumb"><span /></el-checkbox>
            </td>
          </tr>
        </el-checkbox-group>
@@ -1212,9 +1252,11 @@
<script>
import Pagination from '@/components/Pagination'
import ArchivesChange from './archivesChange'
import Treeselect from '@riophae/vue-treeselect'
export default {
  components: {
    Treeselect,
    ArchivesChange,
    Pagination
  },
@@ -1238,13 +1280,15 @@
        insuranceType: [],
        empStatus: [],
        dimissionType: [],
        empType: []
        empType: [],
        certificateList: []
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 15,
        num: 1
      },
      depts: [],
      headerHeight: '30px',
      advancedQueryShow: false,
      dialogTableVisible: false,
@@ -1268,7 +1312,7 @@
      archivesStatusOptions: [],
      sexOptions: [],
      empTypeOptions: [],
      cityOptions: ['archivesNumb', 'allDeptName', 'jobName', 'empName', 'certificateNumb', 'certificateValidity', 'sexName', 'nationName', 'age', 'marriageName', 'stature', 'birthdate', 'politicsName', 'empTypeName', 'educationName', 'nativePlaceName', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatusName', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'insuranceTypeName', 'socialNumb', 'introducer', 'seniority', 'empCardStatusName', 'certificateList', 'urgencyPhone', 'handbookStatusName', 'family', 'empStatusName', 'dimissionDate'],
      cityOptions: ['archivesNumb', 'allDeptName', 'jobName', 'empName', 'certificateNumb', 'certificateValidity', 'sexName', 'nationName', 'age', 'marriageName', 'stature', 'birthdate', 'politicsName', 'empTypeName', 'educationName', 'nativePlaceName', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatusName', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'insuranceTypeName', 'socialNumb', 'introducer', 'seniority', 'empCardStatusName', 'certificateListName', 'urgencyPhone', 'handbookStatusName', 'family', 'empStatusName', 'dimissionDate', 'entryTypeName', 'dimissionTypeName', 'empNumb'],
      checkedCities: []
    }
  },
@@ -1295,8 +1339,29 @@
    this.getDicts('EMPTYPE').then(response => {
      this.empTypeOptions = response.data
    })
    this.getDicts('certificateList').then(response => {
      this.certificateListOptions = response.data
    })
    this.initDept()
  },
  methods: {
    initDept() {
      this.$get('system/dept').then((r) => {
        this.depts = r.data.data.rows
        this.deptTree = this.depts
      }).catch((error) => {
        console.error(error)
        this.$message({
          message: this.$t('tips.getDataFail'),
          type: 'error'
        })
      })
    },
    DeptNameSelect(val) {
      this.baseicInformationForm.deptId = val.deptId
      this.baseicInformationForm.deptName = val.label
      this.baseicInformationForm.allDeptName = val.allDeptName
    },
    exportExcel() {
      this.queryParams.baseKey = this.queryParams.vague
      var params = this.queryParams
@@ -1396,6 +1461,24 @@
          return '退休'
      }
    },
    transEntryType(entryType) {
      switch (entryType) {
        case '1':
          return '合同期满'
        case '2':
          return '公司劝退'
        case '3':
          return '公司辞退'
        case '4':
          return '自动离职'
        case '5':
          return '试用期内'
        case '6':
          return '正常离职'
        case '7':
          return '到龄退休'
      }
    },
    transDimissionType(dimissionType) {
      switch (dimissionType) {
        case '1':
@@ -1463,6 +1546,9 @@
            var id = selection[0].empId
            var name = selection[0].empName
            var number = selection[0].certificateNumb
            var deptName = selection[0].deptName
            var deptId = selection[0].deptId
            var allDeptName = selection[0].allDeptName
            const nowDate = new Date()
            const year = nowDate.getFullYear()
            const month = nowDate.getMonth() + 1
@@ -1471,9 +1557,12 @@
              empId: id,
              empName: name,
              certificateNumb: number,
              openType: 5,
              openType: 21,
              openDate: year + '-' + month + '-' + day,
              remark: ''
              remark: '',
              deptId: deptId,
              deptName: deptName,
              allDeptName: allDeptName
            }
            this.dialogShowDkda = true
          } else {
@@ -1609,6 +1698,13 @@
      this.checkedCities = val ? this.cityOptions : []
      this.isIndeterminate = false
    },
    selectAllCertificateList(val) {
      if (val) {
        this.queryParams.certificateList = this.dicListToArr(this.certificateListOptions)
      } else {
        this.queryParams.certificateList = []
      }
    },
    showDcyg(operate) {
      switch (operate) {
        case 0: