|  |  | 
 |  |  |         </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" | 
 |  |  | 
 |  |  |                   </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> | 
 |  |  | 
 |  |  |                         <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> | 
 |  |  |               <el-table-column label="卡片" min-width="80px"> | 
 |  |  |                 <template slot-scope="{row}"> | 
 |  |  | 
 |  |  |             <!--    查看人员开卡记录    --> | 
 |  |  |             <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" /> | 
 |  |  |             <OperaMemberWindow ref="OperaMemberWindow" @success="handlePageChange" /> | 
 |  |  |             <OperaMemberRoleWindow ref="OperaMemberRoleWindow" @success="handlePageChange" /> | 
 |  |  |         </template> | 
 |  |  |     </TableLayout1> | 
 |  |  | </template> | 
 |  |  | 
 |  |  | 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: [], | 
 |  |  | 
 |  |  |         canVisit: '', | 
 |  |  |         keyword: '', | 
 |  |  |         type: 2, | 
 |  |  |         companyType:1, | 
 |  |  |         erpOrgId: '', | 
 |  |  |         companyId: '', | 
 |  |  |         hasFace: '' | 
 |  |  | 
 |  |  |     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('确定重新授权吗?', '提示', { | 
 |  |  | 
 |  |  |             that.search() | 
 |  |  |           }) | 
 |  |  |       }).catch(() => { | 
 |  |  |         this.$tip.apiSuccess(  '操作失败') | 
 |  |  |         this.$tip.apiSuccess('操作失败') | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     // 获取组织树 | 
 |  |  |     getfindCompanyTreePage () { | 
 |  |  |       fetchList(1) | 
 |  |  |       fetchList() | 
 |  |  |         .then(res => { | 
 |  |  |           if (res && res.length > 0) { | 
 |  |  |             res[0].fsStatus = 1 | 
 |  |  | 
 |  |  |           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 | 
 |  |  |       }) | 
 |  |  | 
 |  |  |     }, | 
 |  |  |     async updateHead (row, type) { | 
 |  |  |       this.$dialog.actionConfirm('您确认进行当前操作吗?', '部门主管设置操作提示') | 
 |  |  |           .then(() => { | 
 |  |  |         this.heading = true | 
 |  |  |         updateHead({ id: row.id, headStatus: type }) | 
 |  |  |           .then(res => { | 
 |  |  |             this.$tip.apiSuccess(res || '操作成功') | 
 |  |  |             this.search() | 
 |  |  |           }) | 
 |  |  |           .catch(e => { | 
 |  |  |             this.$tip.apiFailed(e) | 
 |  |  |           }) | 
 |  |  |           .finally(() => { | 
 |  |  |             this.heading = false | 
 |  |  |           }) | 
 |  |  |           .catch(() => {}) | 
 |  |  |           }) | 
 |  |  |         .then(() => { | 
 |  |  |           this.heading = true | 
 |  |  |           updateHead({ id: row.id, headStatus: type }) | 
 |  |  |             .then(res => { | 
 |  |  |               this.$tip.apiSuccess(res || '操作成功') | 
 |  |  |               this.search() | 
 |  |  |             }) | 
 |  |  |             .catch(e => { | 
 |  |  |               this.$tip.apiFailed(e) | 
 |  |  |             }) | 
 |  |  |             .finally(() => { | 
 |  |  |               this.heading = false | 
 |  |  |             }) | 
 |  |  |             .catch(() => {}) | 
 |  |  |         }) | 
 |  |  |     }, | 
 |  |  |     changeWorkStatus (e, row) { | 
 |  |  |       this.working = true | 
 |  |  | 
 |  |  |         }) | 
 |  |  |         .catch(() => {}) | 
 |  |  |     }, | 
 |  |  |      changeCanvisit (e, row) { | 
 |  |  |     changeCanvisit (e, row) { | 
 |  |  |       this.canvisiting = true | 
 |  |  |       updateCanVisit({ id: row.id, canVisit: e }) | 
 |  |  |         .then(res => { | 
 |  |  | 
 |  |  |         .catch(() => {}) | 
 |  |  |     }, | 
 |  |  |     callback (row) { | 
 |  |  |       alert(row.name) | 
 |  |  |       console.log(row) | 
 |  |  |       this.searchForm.erpOrgId = row.erpId | 
 |  |  |       this.searchForm.companyId = row.id | 
 |  |  |       this.search() |