Alan
2021-02-19 3f447114eb5b0102c8d8d46d4a75be7eacf64f3a
提交首页查询页面
12个文件已添加
4个文件已修改
2240 ■■■■■ 已修改文件
src/views/dashboard/HtUser.vue 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/blUser.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/cqUser.vue 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/gsUser.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/index.vue 398 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/lzUser.vue 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/onTheJobUser.vue 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/qjUser.vue 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/sbUser.vue 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/tgUser.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/tjUser.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/yjUser.vue 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/ywUser.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/febs/system/job/Index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/febs/system/role/Index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/febs/system/user/Edit.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/HtUser.vue
New file
@@ -0,0 +1,148 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <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="beginDate" label="开始日期" width="100" />
        <el-table-column prop="endDate" label="结束日期" width="100" />
        <el-table-column prop="contractStatus" label="合同状态" width="100" />
        <el-table-column prop="contractPeriod" label="合同期限(年)" width="100" />
        <el-table-column prop="transactor" label="合同办理人" width="50" />
        <el-table-column prop="signingDate" label="合同签订日期" width="100" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoHtList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/blUser.vue
New file
@@ -0,0 +1,147 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="badDate" label="不良记录日期" width="180" />
        <el-table-column prop="badContent" label="不良记录描述" width="180" />
        <el-table-column prop="reporter" label="汇报人" width="180" />
        <el-table-column prop="remark" label="备注" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoBlList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/cqUser.vue
New file
@@ -0,0 +1,151 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位名称" width="180" />
        <el-table-column prop="empName" label="员工姓名" width="180" />
        <el-table-column prop="certificateNumb" label="证件号码" width="180" />
        <el-table-column prop="attendMonth" label="离职考勤月份" width="180" />
        <el-table-column prop="attendDays" label="出勤天数" width="180" />
        <el-table-column prop="overtimeDay" label="加班(天)" width="180" />
        <el-table-column prop="overtimeHour" label="加班(小时)" width="180" />
        <el-table-column prop="deduct" label="有无代扣款项" width="180" />
        <el-table-column prop="leaveDay" label="请假(天)" width="180" />
        <el-table-column prop="absenteeism" label="旷工(天)" width="180" />
        <el-table-column prop="remark" label="备注" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoCqList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/gsUser.vue
New file
@@ -0,0 +1,157 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="injuredTime" label="受伤日期" width="180" />
        <el-table-column prop="injuredAddress" label="受伤地点" width="180" />
        <el-table-column prop="injuredPart" label="受伤部位" width="180" />
        <el-table-column prop="injuredDescribe" label="受伤经过描述" width="180" />
        <el-table-column prop="injuredDiacrisis" label="工伤诊断" width="180" />
        <el-table-column prop="hospitalName" label="就诊医院" width="180" />
        <el-table-column prop="treatmentName" label="就诊科室" width="180" />
        <el-table-column prop="hospitalizatioFlag" label="是否住院" width="180" />
        <el-table-column prop="bedNumb" label="床号" width="180" />
        <el-table-column prop="reportTime" label="报案时间" width="180" />
        <el-table-column prop="submitTime" label="递交资料时间" width="180" />
        <el-table-column prop="sbumitBy" label="递交人" width="180" />
        <el-table-column prop="expensesFee" label="医疗总费用" width="180" />
        <el-table-column prop="compensated" label="已赔付医药费用" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoGsList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/index.vue
@@ -29,195 +29,284 @@
          value-format="yyyy-MM-dd"
          style="width: 400px;"
        />
        <el-button type="primary" plain @click="submitForm">
          查询
        </el-button>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('在职员工总数','1')">
          <p class="card-number">{{ this.total.zzyg }}</p>
          <p>在职员工总数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('新进员工人数','2')">
          <p class="card-number">{{ this.total.xjyg }}</p>
          <p>新进员工人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('正式员工人数','3')">
          <p class="card-number">{{ this.total.zsyg }}</p>
          <p>正式员工人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('临时员工人数','4')">
          <p class="card-number">{{ this.total.lsyg }}</p>
          <p>临时员工人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('超龄员工人数','5')">
          <p class="card-number">{{ this.total.lsyg }}</p>
          <p>超龄员工人数</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('离职员工总数','6')">
          <p class="card-number">{{ this.total.lzyg }}</p>
          <p>离职员工总数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('辞职申请人数','7')">
          <p class="card-number">{{ this.total.czyg }}</p>
          <p>辞职申请人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('正常离职人数','8')">
          <p class="card-number">{{ this.total.zclz }}</p>
          <p>正常离职人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('自动离职人数','9')">
          <p class="card-number">{{ this.total.zdlz }}</p>
          <p>自动离职人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('公司辞退人数','10')">
          <p class="card-number">{{ this.total.gsct }}</p>
          <p>公司辞退人数</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showht('有效合同','11')">
          <p class="card-number">{{ this.total.yxht }}</p>
          <p>有效合同</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showht('到期合同','12')">
          <p class="card-number">{{ this.total.dqht }}</p>
          <p>到期合同</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showht('新签合同','13')">
          <p class="card-number">{{ this.total.xinqht }}</p>
          <p>新签合同</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showht('续签合同','14')">
          <p class="card-number">{{ this.total.xqht }}</p>
          <p>续签合同</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
          <p>历史合同</p>
        <el-card shadow="always" class="card-info" @click.native="showht('解除合同','15')">
          <p class="card-number">{{ this.total.jcht }}</p>
          <p>解除合同</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showcq('出勤人数','1')">
          <p class="card-number">{{ this.total.cqrs }}</p>
          <p>出勤人数</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showqj('员工请假','1')">
          <p class="card-number">{{ this.total.ygqj }}</p>
          <p>员工请假</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showtj('员工体验','1')">
          <p class="card-number">{{ this.total.ygtj }}</p>
          <p>员工体验</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showcq('员工加班','2')">
          <p class="card-number">{{ this.total.ygjb }}</p>
          <p>员工加班</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showcq('员工旷工','3')">
          <p class="card-number">{{ this.total.ygkg }}</p>
          <p>员工旷工</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showlz('劳资案件','1')">
          <p class="card-number">{{ this.total.lzaj }}</p>
          <p>劳资案件</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showgs('工伤案件','1')">
          <p class="card-number">{{ this.total.gsaj }}</p>
          <p>工伤案件</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showyw('意外险案件','1')">
          <p class="card-number">{{ this.total.ywxaj }}</p>
          <p>意外险案件</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showsb('社保申请','3')">
          <p class="card-number">{{ this.total.sbsq }}</p>
          <p>社保申请</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showsyj('失业金案件','3')">
          <p class="card-number">{{ this.total.syj }}</p>
          <p>失业金案件</p>
        </el-card>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('身份证到期','11')">
          <p class="card-number">{{ this.total.sfz }}</p>
          <p>身份证到期</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showtg('员工调岗','3')">
          <p class="card-number">{{ this.total.ygtg }}</p>
          <p>员工调岗</p>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card shadow="always" class="card-info">
          <p class="card-number">12</p>
        <el-card shadow="always" class="card-info" @click.native="showbl('不良记录','3')">
          <p class="card-number">{{ this.total.bljl }}</p>
          <p>不良记录</p>
        </el-card>
      </el-col>
    </el-row>
    <on-the-job-user
      ref="jobUser"
      :dialog-visible="dialog.isVisible"
      :title="title"
      @cancleChooseUser="cancleChooseUser"
    />
    <ht-user
      ref="htUser"
      :dialog-visible="dialog.dialogShowHt"
      :title="title"
      @cancleChooseUser="canclehtUser"
    />
    <cq-user
      ref="cqUser"
      :dialog-visible="dialog.dialogShowCq"
      :title="title"
      @cancleChooseUser="canclecqUser"
    />
    <bl-user ref="blUser" :dialog-visible="dialog.dialogShowbl" :title="title" @cancleChooseUser="cancleblUser" />
    <tg-user ref="tgUser" :dialog-visible="dialog.dialogShowtg" :title="title" @cancleChooseUser="cancletgUser" />
    <tj-user ref="tjUser" :dialog-visible="dialog.dialogShowtj" :title="title" @cancleChooseUser="cancletjUser" />
    <yj-user ref="syjUser" :dialog-visible="dialog.dialogShowsyj" :title="title" @cancleChooseUser="cancleyjUser" />
    <sb-user ref="sbUser" :dialog-visible="dialog.dialogShowsb" :title="title" @cancleChooseUser="canclesbUser" />
    <yw-user ref="ywUser" :dialog-visible="dialog.dialogShowyw" :title="title" @cancleChooseUser="cancleywUser" />
    <gs-user ref="gsUser" :dialog-visible="dialog.dialogShowgs" :title="title" @cancleChooseUser="canclegsUser" />
    <lz-user ref="lzUser" :dialog-visible="dialog.dialogShowlz" :title="title" @cancleChooseUser="canclelzUser" />
    <qj-user ref="qjUser" :dialog-visible="dialog.dialogShowqj" :title="title" @cancleChooseUser="cancleqjUser" />
  </div>
</template>
<script>
import OnTheJobUser from './onTheJobUser'
import HtUser from './HtUser'
import CqUser from './cqUser'
import BlUser from './blUser'
import TgUser from './tgUser'
import TjUser from './tjUser'
import YjUser from './yjUser'
import SbUser from './sbUser'
import YwUser from './ywUser'
import GsUser from './gsUser'
import LzUser from './lzUser'
import QjUser from './qjUser'
export default {
  components: { QjUser, LzUser, GsUser, YwUser, SbUser, YjUser, TjUser, TgUser, BlUser, CqUser, HtUser, OnTheJobUser },
  data() {
    return {
      dialog: {
        isVisible: false,
        dialogShowHt: false,
        dialogShowbl: false,
        dialogShowtg: false,
        dialogShowtj: false,
        dialogShowsyj: false,
        dialogShowsb: false,
        dialogShowyw: false,
        dialogShowgs: false,
        dialogShowlz: false,
        dialogShowqj: false,
        dialogShowCq: false,
        title: '',
        type: ''
      },
      title: '',
      total: {
        zzyg: 0,
        zsyg: 0,
        lsyg: 0,
        zclz: 0,
        zdlz: 0,
        gsct: 0,
        xjyg: 0,
        lzyg: 0,
        jcht: 0,
        czyg: 0,
        yxht: 0,
        xinqht: 0,
        xqht: 0,
        dqht: 0,
        cqrs: 0,
        ygjb: 0,
        ygkg: 0,
        ygqj: 0,
        lzaj: 0,
        gsaj: 0,
        ywxaj: 0,
        sbsq: 0,
        syj: 0,
        ygtj: 0,
        sfz: 0,
        ygtg: 0,
        bljl: 0
      },
      pickerOptions: {
        shortcuts: [
          {
@@ -250,12 +339,205 @@
        ]
      },
      value2: '',
      selectIndex: 0 // 搜索结果,被选中的li index
      selectIndex: '' // 搜索结果,被选中的li index
    }
  },
  methods: {
    showbl(title, number) {
      this.dialog.dialogShowbl = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.blUser.setjobUser(btime, etime, index, number)
    },
    showtg(title, number) {
      this.dialog.dialogShowtg = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.tgUser.setjobUser(btime, etime, index, number)
    },
    showtj(title, number) {
      this.dialog.dialogShowtj = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.tjUser.setjobUser(btime, etime, index, number)
    },
    showsyj(title, number) {
      this.dialog.dialogShowsyj = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.syjUser.setjobUser(btime, etime, index, number)
    },
    showsb(title, number) {
      this.dialog.dialogShowsb = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.sbUser.setjobUser(btime, etime, index, number)
    },
    showyw(title, number) {
      this.dialog.dialogShowyw = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.ywUser.setjobUser(btime, etime, index, number)
    },
    showgs(title, number) {
      this.dialog.dialogShowgs = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.gsUser.setjobUser(btime, etime, index, number)
    },
    showlz(title, number) {
      this.dialog.dialogShowlz = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.lzUser.setjobUser(btime, etime, index, number)
    },
    showqj(title, number) {
      this.dialog.dialogShowqj = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.qjUser.setjobUser(btime, etime, index, number)
    },
    showcq(title, number) {
      this.dialog.dialogShowCq = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.cqUser.setjobUser(btime, etime, index, number)
    },
    showht(title, number) {
      this.dialog.dialogShowHt = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.htUser.setjobUser(btime, etime, index, number)
    },
    showXzyg(title, number) {
      this.dialog.isVisible = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.jobUser.setjobUser(btime, etime, index, number)
    },
    cancleChooseUser() {
      this.dialog.isVisible = false
    },
    canclehtUser() {
      this.dialog.dialogShowHt = false
    },
    canclecqUser() {
      this.dialog.dialogShowCq = false
    },
    cancleblUser() {
      this.dialog.dialogShowbl = false
    },
    cancletgUser() {
      this.dialog.dialogShowtg = false
    },
    cancletjUser() {
      this.dialog.dialogShowtj = false
    },
    cancleyjUser() {
      this.dialog.dialogShowsyj = false
    },
    canclesbUser() {
      this.dialog.dialogShowsb = false
    },
    cancleywUser() {
      this.dialog.dialogShowyw = false
    },
    canclegsUser() {
      this.dialog.dialogShowgs = false
    },
    canclelzUser() {
      this.dialog.dialogShowlz = false
    },
    cancleqjUser() {
      this.dialog.dialogShowqj = false
    },
    submitForm() {
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      this.$get('hr/statistics/list', {
        btime: btime, etime: etime, index: null
      }).then((r) => {
        const data = r.data.data
        this.totalValue(data)
      })
    },
    selectTab(index) {
      if (index === null || index === undefined) {
        index = 0
      }
      this.selectIndex = index
      this.$get('hr/statistics/list', {
        index: index
      }).then((r) => {
        const data = r.data.data
        this.totalValue(data)
      })
    },
    totalValue(data) {
      this.total.zzyg = data.zzyg
      this.total.zsyg = data.zsyg
      this.total.lsyg = data.lsyg
      this.total.zclz = data.zclz
      this.total.zdlz = data.zdlz
      this.total.gsct = data.gsct
      this.total.xjyg = data.xjyg
      this.total.lzyg = data.lzyg
      this.total.jcht = data.jcht
      this.total.czyg = data.czyg
      this.total.yxht = data.yxht
      this.total.xinqht = data.xinqht
      this.total.xqht = data.xqht
      this.total.dqht = data.dqht
      this.total.cqrs = data.cqrs
      this.total.ygjb = data.ygjb
      this.total.ygkg = data.ygkg
      this.total.ygqj = data.ygqj
      this.total.lzaj = data.lzaj
      this.total.gsaj = data.gsaj
      this.total.ywxaj = data.ywxaj
      this.total.sbsq = data.sbsq
      this.total.syj = data.syj
      this.total.ygtj = data.ygtj
      this.total.sfz = data.sfz
      this.total.ygtg = data.ygtg
      this.total.bljl = data.bljl
    }
  }
}
src/views/dashboard/lzUser.vue
New file
@@ -0,0 +1,151 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="arbitrationDate" label="仲裁日期" width="180" />
        <el-table-column prop="arbitrationType" label="仲裁类型" width="180" />
        <el-table-column prop="arbitrationReason" label="仲裁事由" width="180" />
        <el-table-column prop="reporter" label="报备人" width="180" />
        <el-table-column prop="remark" label="备注" width="180" />
        <el-table-column prop="arbitrationPay" label="仲裁赔付(元)" width="180" />
        <el-table-column prop="arbitrationStatus" label="状态" width="180" />
        <el-table-column prop="settleDate" label="案结日期" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoLzList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/onTheJobUser.vue
New file
@@ -0,0 +1,161 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <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="dimissionDate" label="离职日期" width="100" />
        <el-table-column prop="dimissionTypeName" label="离职类别" width="100" />
        <el-table-column prop="applayDate" label="辞职申请日期" width="180" />
        <el-table-column prop="reason" label="辞职事由" width="180" />
        <el-table-column prop="reporter" label="汇报人" width="180" />
        <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="certificateValidity" 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>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/qjUser.vue
New file
@@ -0,0 +1,150 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位名称" width="180" />
        <el-table-column prop="empName" label="员工姓名" width="180" />
        <el-table-column prop="certificateNumb" label="证件号码" width="180" />
        <el-table-column prop="beginTime" label="开始时间" width="180" />
        <el-table-column prop="endTime" label="结束时间" width="180" />
        <el-table-column prop="leaveDay" label="请假天数" width="180" />
        <el-table-column prop="leaveType" label="请假类型" width="180" />
        <el-table-column prop="returnDate" label="到岗时间" width="180" />
        <el-table-column prop="reporter" label="报备人" width="180" />
        <el-table-column prop="remark" label="备注" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoQjList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/sbUser.vue
New file
@@ -0,0 +1,150 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位名称" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="applayDate" label="社保申请日期" width="180" />
        <el-table-column prop="proposer" label="申请人" width="180" />
        <el-table-column prop="insuranceGaers" label="社保档位" width="180" />
        <el-table-column prop="reportStatus " label="是否已报告" width="180" />
        <el-table-column prop="applayStatus" label="状态" width="180" />
        <el-table-column prop="auditor" label="审核人" width="180" />
        <el-table-column prop="remark" label="备注" width="280" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoSbList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/tgUser.vue
New file
@@ -0,0 +1,147 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empName" label="员工姓名" width="180" />
        <el-table-column prop="oldDeptName" label="原护卫点" width="180" />
        <el-table-column prop="oldJobName" label="原岗位名称" width="180" />
        <el-table-column prop="newDeptName" label="新护卫点" width="180" />
        <el-table-column prop="newJobName" label="新岗位名称" width="180" />
        <el-table-column prop="certificateNumb" label="证件号码" width="180" />
        <el-table-column prop="changeType" label="调岗类型" width="180" />
        <el-table-column prop="changeDate" label="调岗位日期" width="180" />
        <el-table-column prop="changeReason" label="调岗原因" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoTgList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/tjUser.vue
New file
@@ -0,0 +1,152 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="empName" label="员工姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="jobName" label="岗位" width="180" />
        <el-table-column prop="hospital" label="体检医院" width="180" />
        <el-table-column prop="physicalExamDate" label="体检日期" width="180" />
        <el-table-column prop="physicalExamType" label="体检类型" width="180" />
        <el-table-column prop="bloodPressure" label="血压" width="180" />
        <el-table-column prop="transaminase" label="转氨酶" width="180" />
        <el-table-column prop="ecg" label="心电图" width="180" />
        <el-table-column prop="conclusion" label="体检结论" width="180" />
        <el-table-column prop="reviewRecord" label="复查记录" width="180" />
        <el-table-column prop="remark" label="备注" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoTjList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/yjUser.vue
New file
@@ -0,0 +1,148 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位名称" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="applayDate" label="失业金申请日期" width="180" />
        <el-table-column prop="applayReason" label="申报事由" width="180" />
        <el-table-column prop="reporter" label="汇报人" width="180" />
        <el-table-column prop="auditor" label="审核人" width="180" />
        <el-table-column prop="remark" label="备注" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoSyjList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/dashboard/ywUser.vue
New file
@@ -0,0 +1,157 @@
<template>
  <el-dialog
    :title="title"
    top="50px"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
        <el-input v-model="queryParams.name" placeholder="姓名/身份证号/护卫点/员工编号" class="filter-item search-item" />
        <el-button class="filter-item" type="primary" @click="search">
          {{ $t('table.search') }}
        </el-button>
        <el-button class="filter-item" type="success" @click="reset">
          {{ $t('table.reset') }}
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位名称" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="injuredTime" label="受伤日期" width="180" />
        <el-table-column prop="injuredAddress" label="受伤地点" width="180" />
        <el-table-column prop="injuredPart" label="受伤部位" width="180" />
        <el-table-column prop="injuredDescribe" label="受伤经过描述" width="180" />
        <el-table-column prop="injuredDiacrisis" label="意外险诊断" width="180" />
        <el-table-column prop="hospitalName" label="就诊医院" width="180" />
        <el-table-column prop="treatmentName" label="就诊科室" width="180" />
        <el-table-column prop="hospitalizatioFlag" label="是否住院" width="180" />
        <el-table-column prop="bedNumb" label="床号" width="180" />
        <el-table-column prop="reprotTime" label="报案时间" width="180" />
        <el-table-column prop="submitTime" label="递交资料时间" width="180" />
        <el-table-column prop="sbumitBy" label="递交人" width="180" />
        <el-table-column prop="expensesFee" label="医疗总费用" width="180" />
        <el-table-column prop="innsureFee" label="保险赔付费用" width="180" />
      </el-table>
      <pagination
        v-show="total>0"
        :total="total"
        :page.sync="pagination.num"
        :limit.sync="pagination.size"
        @pagination="search"
      />
      <el-button type="danger" @click="cancleChoose">关闭</el-button>
    </div>
  </el-dialog>
</template>
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
export default {
  components: {
    Pagination
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false
    },
    title: {
      type: String,
      default: ''
    },
    multipleselect: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      show: false,
      headerHeight: '70px',
      deptTree: [],
      selection: [],
      multipleSelection: [],
      total: 0, // 总数量
      queryParams: {
        name: null,
        btime: null,
        etime: null,
        index: null,
        number: null
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {
    isVisible: {
      get() {
        return this.dialogVisible
      }
    }
  },
  methods: {
    search() {
      this.fetch({
        ...this.queryParams
      })
    },
    reset() {
      this.queryParams.name = null
      this.search()
    },
    // 翻页方法
    setjobUser(btime, etime, index, number) {
      this.queryParams.btime = btime
      this.queryParams.etime = etime
      this.queryParams.index = index
      this.queryParams.number = number
      this.queryParams.name = null
      this.search()
    },
    fetch(params = {}) {
      var that = this
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/statistics/empBaseInfoYwList', {
        ...params
      }).then((r) => {
        const data = r.data.data
        that.total = data.total
        that.list = data.rows
      })
    },
    cancleChoose() {
      this.$emit('cancleChooseUser')
    }
  }
}
</script>
<style lang="scss" scoped>
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
</style>
src/views/febs/system/job/Index.vue
@@ -136,6 +136,7 @@
        cancelButtonText: this.$t('common.cancel'),
        type: 'warning'
      }).then(() => {
        debugger
        const positionId = []
        this.selection.forEach((c) => {
          positionId.push(c.positionId)
@@ -146,6 +147,7 @@
      })
    },
    singleDelete(row) {
      debugger
      this.$refs.table.toggleRowSelection(row, true)
      this.delete(row.positionId)
    },
src/views/febs/system/role/Index.vue
@@ -78,7 +78,7 @@
                <el-tree
                  ref="permsTree"
                  :data="permsTree"
                  :check-strictly="false"
                  :check-strictly="true"
                  show-checkbox
                  accordion
                  node-key="id"
src/views/febs/system/user/Edit.vue
@@ -11,11 +11,8 @@
      <el-form-item :label="$t('table.user.username')" prop="username">
        <el-input v-model="user.username" :readonly="user.userId === '' ? false : 'readonly'" />
      </el-form-item>
      <el-form-item label="员工姓名" prop="email">
        <el-input v-model="user.nickName" />
      </el-form-item>
      <el-form-item label="身份证号" prop="certificateNumb">
        <el-select v-model="user.certificateNumb" placeholder="" style="width:100%">
      <el-form-item label="员工姓名" prop="nickName">
        <el-select v-model="user.nickName" filterable placeholder="" style="width:100%" @change="nickName">
          <el-option
            v-for="item in baseinfo"
            :key="item.certificateNumb"
@@ -26,6 +23,9 @@
            <span style="float: right; color: #8492a6; font-size: 13px">{{ item.empName }}</span>
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="身份证号" prop="certificateNumb">
        <el-input v-model="user.certificateNumb" />
      </el-form-item>
      <el-form-item label="手机号码" prop="mobile">
        <el-input v-model="user.mobile" />
@@ -175,8 +175,13 @@
    }
  },
  methods: {
    returnUser() {
      alert(111)
    nickName(data) {
      this.user.certificateNumb = data
      for (let i = 0; i < this.baseinfo.length; i++) {
        if (this.baseinfo[i].certificateNumb === data) {
          this.user.nickName = this.baseinfo[i].empName
        }
      }
    },
    initUser() {
      return {