| | |
| | | </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() |