ll
liukangdong
2025-03-10 2bc4a739db642494accbf5be1fa55793f4652f44
admin/src/views/business/deletePersonnel.vue
@@ -2,12 +2,21 @@
    <TableLayout :permissions="['business:member:query']">
        <!-- 搜索表单 -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="姓名" prop="name">
                <el-input v-model="searchForm.name" placeholder="请输入访客名称" @keypress.enter.native="search"></el-input>
            <el-form-item label="姓名/手机号" prop="keyword">
                <el-input v-model="searchForm.keyword" placeholder="请输入姓名/手机号" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="公司名称" prop="companyName">
                <el-input v-model="searchForm.companyName" placeholder="请输入公司名称" @keypress.enter.native="search"></el-input>
            <el-form-item label="组织名称" prop="companyName">
                <el-input v-model="searchForm.companyName" placeholder="请输入组织名称" @keypress.enter.native="search"></el-input>
            </el-form-item>
          <el-form-item label="下发状态" prop="hkStatus">
            <el-select v-model="searchForm.hkStatus" placeholder="请选择" clearable @change="search">
              <el-option label="待下发" value="0"></el-option>
              <el-option label="已同步" value="1"></el-option>
              <el-option label="同步失败" value="2"></el-option>
              <el-option label="不符合下发条件" value="3"></el-option>
              <el-option label="等待删除权限" value="4"></el-option>
            </el-select>
          </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
@@ -15,19 +24,16 @@
        </el-form>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <!--            <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">-->
            <!--                <li><el-button type="primary" v-permissions="['business:member:create']" @click="thaws">离场</el-button></li>-->
            <!--            </ul>-->
            <el-table
                    v-loading="isWorking.search"
                    :data="tableData.list"
                    stripe
                    @selection-change="handleSelectionChange"
                :height="tableHeightNew"
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
                @selection-change="handleSelectionChange"
            >
                <!--                <el-table-column type="selection" width="55"></el-table-column>-->
                <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column>
                <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column>
                <el-table-column prop="companyName" label="公司" min-width="100px"></el-table-column>
                <el-table-column prop="companyName" label="组织名称" min-width="100px"></el-table-column>
                <el-table-column label="用户类型" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.type === 0">劳务访客</span>
@@ -35,36 +41,42 @@
                        <span v-if="row.type === 2">内部人员</span>
                    </template>
                </el-table-column>
                <el-table-column prop="inDate" label="入场时间" min-width="100px"></el-table-column>
                <el-table-column prop="outDate" label="授权到期时间" min-width="100px"></el-table-column>
                <el-table-column label="超时时长" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.outStatus === 1">{{row.timeOut.toString().replace('-', '')}}分钟</span>
                        <span v-else>-</span>
                    </template>
                </el-table-column>
              <el-table-column fixed="right" label="人脸信息" min-width="100px">
                <template slot-scope="{row}">
                  <el-image
                      v-if="row.faceImg"
                      style="width: 60px; height: 60px"
                      :src="row.faceImg"
                      :preview-src-list="[row.faceImg]">
                  </el-image>
                </template>
              </el-table-column>
                <el-table-column label="状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.outStatus === 0">未超时</span>
                        <span style="color: red;" v-else-if="row.outStatus === 1">已超时</span>
                        <span v-else-if="row.outStatus === 2">即将超时</span>
                        <span v-if="row.hkStatus === 0">未同步</span>
                        <span v-else-if="row.hkStatus === 1">已同步</span>
                        <span v-else-if="row.hkStatus === 2">同步失败</span>
                        <span v-else-if="row.hkStatus === 3">不符合下发条件</span>
                        <span v-else-if="row.hkStatus === 4">等待删除权限</span>
                    </template>
                </el-table-column>
                <el-table-column
                        v-if="containPermissions(['business:member:update', 'business:member:delete'])"
                        label="操作"
                        min-width="120"
                        fixed="right"
                >
                  <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>-
                  <el-table-column
                      v-if="containPermissions(['business:member:update'])"
                      label="操作"
                      min-width="120"
                      fixed="right"
                  >
                    <template slot-scope="{row}">
                        <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']" @click="departure(row.id)">离厂</el-button>
                      <el-button v-if="row.hkStatus === 2" type="text" @click="delHkForce(row.id)" v-permissions="['business:member:update']">重新删除</el-button>
                      <el-button v-if="row.hkStatus === 4  " type="text" @click="delHkForce(row.id)" v-permissions="['business:member:update']">立即删除</el-button>
                    </template>
                </el-table-column>
                  </el-table-column>
            </el-table>
            <pagination
                    @size-change="handleSizeChange"
                    @current-change="handlePageChange"
                    :pagination="tableData.pagination"
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
            </pagination>
        </template>
@@ -75,7 +87,7 @@
  import BaseTable from '@/components/base/BaseTable'
  import TableLayout from '@/layouts/TableLayout'
  import Pagination from '@/components/common/Pagination'
  import { level } from '@/api/business/staging'
  import { delHkForce } from '@/api/business/member'
  export default {
    name: 'deletePersonnel',
    extends: BaseTable,
@@ -85,9 +97,10 @@
        // 搜索
        searchForm: {
          companyName: '',
          name: '',
          keyword: '',
          type: '2',
          isdeleted: 1
          isdeleted: 1,
          hkStatus: null
        },
        user: []
      }
@@ -95,20 +108,20 @@
    created () {
      this.config({
        module: '人员信息表',
        api: '/business/strandedPersonnel',
        api: '/business/member',
        'field.id': 'id',
        'field.main': 'id'
      })
      this.search()
    },
    methods: {
      departure(id) {
        this.$confirm('确定离场吗, 是否继续?', '提示', {
      delHkForce(dataId) {
        this.$confirm('确定强制删除安防平台人员信息吗?此操作不可逆,请谨慎操作,是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          level(id)
          delHkForce({id:dataId})
            .then(res => {
              this.search()
            })