yubo
2026-03-11 09d00cd810cebc2b78c3928a8673f569cbffe165
src/views/dashboard/index.vue
@@ -74,7 +74,7 @@
        </el-card>
      </el-col>
      <el-col>
        <el-card shadow="always" class="card-info" @click.native="showXzyg('辞职申请人数','7')">
        <el-card shadow="always" class="card-info" @click.native="showCtyg('辞职申请人数','7')">
          <p class="card-number">{{ total.czyg }}</p>
          <p>辞职申请人数</p>
        </el-card>
@@ -144,9 +144,9 @@
        </el-card>
      </el-col>
      <el-col>
        <el-card shadow="always" class="card-info" @click.native="showtj('员工体验','1')">
        <el-card shadow="always" class="card-info" @click.native="showtj('员工体检','1')">
          <p class="card-number">{{ total.ygtj }}</p>
          <p>员工体验</p>
          <p>员工体检</p>
        </el-card>
      </el-col>
      <el-col>
@@ -164,9 +164,9 @@
    </el-row>
    <el-row :gutter="20" class="dashboard-card">
      <el-col>
        <el-card shadow="always" class="card-info" @click.native="showlz('劳资案件','1')">
        <el-card shadow="always" class="card-info" @click.native="showlz('仲裁案件','1')">
          <p class="card-number">{{ total.lzaj }}</p>
          <p>劳资案件</p>
          <p>仲裁案件</p>
        </el-card>
      </el-col>
      <el-col>
@@ -213,6 +213,18 @@
          <p>不良记录</p>
        </el-card>
      </el-col>
      <el-col>
        <el-card shadow="always" class="card-info" @click.native="showInsurance('四险提醒','3')">
          <p class="card-number">{{ total.insurance }}</p>
          <p>四险提醒</p>
        </el-card>
      </el-col>
      <el-col>
        <el-card shadow="always" class="card-info" @click.native="showProbation('转正提醒')">
          <p class="card-number">{{ total.probation }}</p>
          <p>转正提醒</p>
        </el-card>
      </el-col>
    </el-row>
    <on-the-job-user
      ref="jobUser"
@@ -243,6 +255,10 @@
    <qj-user ref="qjUser" :dialog-visible="dialog.dialogShowqj" :title="title" @cancleChooseUser="cancleqjUser" />
    <yg-user ref="ygUser" :dialog-visible="dialog.dialogShowyg" :title="title" @cancleChooseUser="cancleygUser" />
    <sfz-user ref="sfzUser" :dialog-visible="dialog.dialogShowSfz" :title="title" @cancleChooseUser="cancleSfzUser" />
    <ct-user ref="ctUser" :dialog-visible="dialog.dialogShowct" :title="title" @cancleChooseUser="canclectUser" />
    <zz-user ref="zzUser" :dialog-visible="dialog.dialogShowProbation" :title="title" @cancleChooseUser="cancleZzUser" />
    <!--    四险提醒统计-->
    <insurance-user ref="insuranceUser" :dialog-visible="dialog.dialogShowInsurance" :title="title" @cancleChooseUser="cancleInsuranceUser" />
  </div>
</template>
<script>
@@ -259,9 +275,13 @@
import LzUser from './lzUser'
import QjUser from './qjUser'
import YgUser from './ygUser'
import CtUser from './ctUser'
import SfzUser from './sfzUser'
import ZzUser from './zzUser'
import InsuranceUser from './insuranceUser'
export default {
  components: { SfzUser, YgUser, QjUser, LzUser, GsUser, YwUser, SbUser, YjUser, TjUser, TgUser, BlUser, CqUser, HtUser, OnTheJobUser },
  components: { SfzUser, YgUser, QjUser, LzUser, GsUser, YwUser, SbUser, YjUser, TjUser, TgUser, BlUser, CqUser, HtUser, OnTheJobUser, CtUser, ZzUser, InsuranceUser },
  data() {
    return {
      dialog: {
@@ -275,10 +295,13 @@
        dialogShowsb: false,
        dialogShowyw: false,
        dialogShowgs: false,
        dialogShowct: false,
        dialogShowlz: false,
        dialogShowqj: false,
        dialogShowCq: false,
        dialogShowSfz: false,
        dialogShowProbation: false,
        dialogShowInsurance: false,
        title: '',
        type: ''
      },
@@ -311,7 +334,11 @@
        ygtj: 0,
        sfz: 0,
        ygtg: 0,
        bljl: 0
        bljl: 0,
        zzyg: 0,
        sxyg: 0,
        probation: 0,
        insurance: 0
      },
      pickerOptions: {
        shortcuts: [
@@ -350,6 +377,7 @@
  },
  mounted() {
    this.selectTab(0)
    this.fetchProbationCount()
  },
  methods: {
    showSfz(title, number) {
@@ -474,6 +502,60 @@
        this.dialog.isVisible = true
      }
    },
    showCtyg(title, number) {
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.ctUser.setjobUser(btime, etime, index, number)
      this.dialog.dialogShowct = true
    },
    showProbation(title) {
      this.dialog.dialogShowProbation = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex // 传入当前 dashboard 选中的时间维度
      this.$refs.zzUser.setjobUser(btime, etime, index, null)
    },
    showProbation(title) {
      this.dialog.dialogShowInsurance = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.insuranceUser.setjobUser(btime, etime, index, null)
    },
    showInsurance(title) {
      this.dialog.dialogShowInsurance = true
      this.title = title
      const values = this.value2
      const btime = values[0]
      const etime = values[1]
      const index = this.selectIndex
      this.$refs.insuranceUser.setjobUser(btime, etime, index, null)
    },
    cancleZzUser() {
      this.dialog.dialogShowProbation = false
    },
    cancleInsuranceUser() {
      this.dialog.dialogShowInsurance = false
    },
    fetchProbationCount() {
      this.$get('hr/empBaseInfo/probation/alert', {
        pageSize: 1,
        pageNum: 1,
        delFlag: 0,
        empStatus: 0,
        timeRange: this.selectIndex
      }).then((r) => {
        const data = r.data.data
        this.total.probation = data.total || 0
      })
    },
    cancleChooseUser() {
      this.dialog.isVisible = false
    },
@@ -512,6 +594,9 @@
    },
    cancleygUser() {
      this.dialog.dialogShowyg = false
    },
    canclectUser() {
      this.dialog.dialogShowct = false
    },
    cancleSfzUser() {
      this.dialog.dialogShowSfz = false
@@ -577,6 +662,8 @@
      this.total.clyg = data.clyg
      this.total.ygtg = data.ygtg
      this.total.bljl = data.bljl
      this.total.probation = data.probationCount
      this.total.insurance = data.insuranceCount
    }
  }
}