liukangdong
2024-05-15 959edec9fe35807d6b1b794cce42e9665d50d3a8
admin/src/views/business/internalMember.vue
@@ -47,13 +47,14 @@
        </template>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:member:delete','business:member:create']">
<!--                <li><el-button type="primary">门禁授权</el-button></li>-->
            <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create']">
<!--
                <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">同步</el-button></li>
-->
                <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('新建员工',null,department)"  icon="el-icon-plus" v-permissions="['business:member:create']">新建员工</el-button></li>
                <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('新建员工',null,department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">新建员工</el-button></li>
                <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入',department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li>
                <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">批量删除</el-button></li>
                <li><el-button type="primary" v-permissions="['business:empower:create']"  @click="startEmpowerBatch()"  icon="el-icon-plus">下发授权</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
@@ -109,12 +110,6 @@
                  </el-switch>
                </template>
              </el-table-column>
                <el-table-column label="可拜访" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.canVisit != 1">否</span>
                        <span v-if="row.canVisit == 1">是</span>
                    </template>
                </el-table-column>
                <el-table-column label="海康同步状态" min-width="100px">
                 <template slot-scope="{row}">
                        <span v-if="row.hkStatus == 0" style="color: #435EBE">待同步</span>
@@ -132,6 +127,18 @@
                <el-table-column label="门禁角色" min-width="100px">
                    <template slot-scope="{row}">
                        <span>{{(row.roleNames && row.roleNames.length) ?row.roleNames.join(','): '-'}}</span>
                    </template>
                </el-table-column>
              <el-table-column label="门禁有效期" min-width="170px">
                <template slot-scope="{row}">
                  <div v-if="row.roleId !=null && row.roleId != ''">
                    <div v-if="!row.startTime || !row.endTime">长期有效</div>
                    <div v-else>
                      <span>起:{{row.startTime}}</span><br />
                      <span>止:{{row.endTime}}</span>
                    </div>
                  </div>
                  <div v-else >-</div>
                    </template>
                </el-table-column>
              <el-table-column prop="code" label="工号" min-width="100px"></el-table-column>
@@ -176,6 +183,7 @@
            <!--    查看人员开卡记录    -->
            <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" />
            <OperaMemberWindow ref="OperaMemberWindow" @success="handlePageChange" />
            <OperaMemberRoleWindow ref="OperaMemberRoleWindow" @success="handlePageChange" />
        </template>
    </TableLayout1>
</template>
@@ -187,12 +195,13 @@
import cardOpeningRecord from '@/components/business/cardOpeningRecord'
import Tree from '@/components/common/Tree'
import OperaMemberWindow from '@/components/business/OperaMemberWindow'
import OperaMemberRoleWindow from '@/components/business/OperaMemberRoleWindow'
import { fetchList } from '@/api/business/company'
import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member'
export default {
  name: 'internalMember',
  extends: BaseTable,
  components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow },
  components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow },
  data () {
    return {
      TreeList: [],
@@ -205,6 +214,7 @@
        canVisit: '',
        keyword: '',
        type: 2,
        companyType:1,
        erpOrgId: '',
        companyId: '',
        hasFace: ''
@@ -228,6 +238,19 @@
    this.getfindCompanyTreePage()
  },
  methods: {
    startEmpowerBatch () {
      if (this.tableData.selectedRows.length === 0) {
        this.$tip.warning('请至少选择一条数据')
        return
      }
      var ids = []
      var names = []
      this.tableData.selectedRows.forEach(item => {
        ids.push(item.id)
        names.push(item.name)
      })
      this.$refs.OperaMemberRoleWindow.open('内部员工下发权限', ids, names,this.searchForm.companyType)
    },
    empower (id) {
      var that = this
      this.$confirm('确定重新授权吗?', '提示', {
@@ -246,7 +269,7 @@
    },
    // 获取组织树
    getfindCompanyTreePage () {
      fetchList(1)
      fetchList()
        .then(res => {
          if (res && res.length > 0) {
            res[0].fsStatus = 1
@@ -270,6 +293,12 @@
          this.$delete(newItem, 'children')
        } else {
          newItem.children = this.getDepartmentTree(newItem.children)
        }
        if(newItem.type === this.searchForm.companyType){
          //newItem.disabled =false
        }else{
          newItem.disabled = true
        }
        return newItem
      })
@@ -342,6 +371,8 @@
        .catch(() => {})
    },
    callback (row) {
      alert(row.name)
      console.log(row)
      this.searchForm.erpOrgId = row.erpId
      this.searchForm.companyId = row.id
      this.search()