From 2d960488287048a4f0678f004120e78259e5578a Mon Sep 17 00:00:00 2001 From: wang-liang0615 <dhuwl0615@163.com> Date: Mon, 31 Jul 2023 19:52:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=A7=92=E8=89=B2=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../setting/components/employeeTable.vue | 152 ++---------------- 1 file changed, 12 insertions(+), 140 deletions(-) diff --git a/cmdb-ui/src/views/setting/components/employeeTable.vue b/cmdb-ui/src/views/setting/components/employeeTable.vue index 652ea12..35ee807 100644 --- a/cmdb-ui/src/views/setting/components/employeeTable.vue +++ b/cmdb-ui/src/views/setting/components/employeeTable.vue @@ -228,46 +228,6 @@ </span> </template> </vxe-column> - <vxe-column - field="current_company" - title="目前所属主体" - sortable - min-width="120" - v-if=" - useDFC && - checkedCols.findIndex((v) => v == 'current_company') !== -1 && - tableType == 'structure' && - attributes.findIndex((v) => v == 'current_company') !== -1 - " - key="current_company" - > - <template #header> - <span class="vxe-handle"> - <OpsMoveIcon class="move-icon" /> - <span>目前所属主体</span> - </span> - </template> - </vxe-column> - <vxe-column - field="dfc_entry_date" - title="初始入职日期" - sortable - min-width="120" - v-if=" - useDFC && - checkedCols.findIndex((v) => v == 'dfc_entry_date') !== -1 && - tableType == 'structure' && - attributes.findIndex((v) => v == 'dfc_entry_date') !== -1 - " - key="dfc_entry_date" - > - <template #header> - <span class="vxe-handle"> - <OpsMoveIcon class="move-icon" /> - <span>初始入职日期</span> - </span> - </template> - </vxe-column> <vxe-column field="entry_date" title="目前主体入职日期" @@ -739,39 +699,6 @@ </span> </template> </vxe-column> - <vxe-column - field="roles" - title="角色" - v-bind="tableType === 'structure' ? { filters: [], 'filter-multiple': true } : {}" - :min-width="120" - v-if=" - checkedCols.findIndex((v) => v == 'roles') !== -1 && - tableType == 'structure' && - attributes.findIndex((v) => v == 'roles') !== -1 - " - key="role" - > - <template #header> - <span class="vxe-handle"> - <OpsMoveIcon class="move-icon" /> - <span>角色</span> - </span> - </template> - <template #default="{ row }"> - <a-popover v-if="row.roles.length"> - <template slot="content"> - <a-tag v-for="item in row.roles" color="blue" :key="item.role_id" :style="{ marginBottom: '2px' }"> - {{ item.role_name }} - </a-tag> - </template> - <span> - <a-tag v-for="item in row.roles" color="blue" :key="item.role_id" :style="{ marginBottom: '2px' }"> - {{ item.role_name }} - </a-tag> - </span> - </a-popover> - </template> - </vxe-column> <vxe-column field="last_login" title="上次登录时间" @@ -814,7 +741,7 @@ > <template slot="content"> <div :style="{ maxHeight: `${windowHeight - 320}px`, overflowY: 'auto', width: '160px' }"> - <a-checkbox-group v-model="unsbmitCheckedCols" :options="options" style="display: grid;"> + <a-checkbox-group v-model="unsbmitCheckedCols" :options="options" style="display: grid"> </a-checkbox-group> </div> <div @@ -830,40 +757,32 @@ <a-button size="small" @click="handleSubmit" type="primary">确定</a-button> </div> </template> - <a-icon type="control" style="cursor: pointer;" /> + <a-icon type="control" style="cursor: pointer" /> </a-popover> </template> </template> <template #default="{ row }"> <a-space v-if="tableType === 'structure'"> - <a><a-icon type="edit" @click="openEmployeeModal(row, 'edit')"/></a> + <a><a-icon type="edit" @click="openEmployeeModal(row, 'edit')" /></a> <a-tooltip> - <template slot="title"> - 重置密码 - </template> - <a><a-icon type="reload" @click="openBatchModal('password', row)"/></a> + <template slot="title"> 重置密码 </template> + <a><a-icon type="reload" @click="openBatchModal('password', row)" /></a> </a-tooltip> <a-tooltip v-if="!row.block"> - <template slot="title"> - 禁用 - </template> + <template slot="title"> 禁用 </template> <a :style="{ color: 'red' }" @click="openBatchModal('block', row, 1)"> <ops-icon type="icon-xianxing-weilianjie" /> </a> </a-tooltip> <a-tooltip v-else> - <template slot="title"> - 恢复 - </template> + <template slot="title"> 恢复 </template> <a @click="openBatchModal('block', row, 0)"> <ops-icon type="icon-xianxing-yilianjie" /> </a> </a-tooltip> </a-space> <a-tooltip v-else> - <template slot="title"> - 移除 - </template> + <template slot="title"> 移除 </template> <a :style="{ color: 'red' }" @click="removeEmployee(row)"> <ops-icon type="icon-xianxing-shanchuyonghu" /> </a> @@ -881,7 +800,6 @@ <script> import { mapState } from 'vuex' -import { getRoleList } from '@/api/role' import { getDepartmentName, getDirectorName } from '@/utils/util' import Bus from '../companyStructure/eventBus/bus' import appConfig from '@/config/app' @@ -1005,7 +923,6 @@ export default { checkedCols, unsbmitCheckedCols: [], visible: false, - useDFC: appConfig.useDFC, tableDragClassName: [], // 表格拖拽的参数 attributes: [], internMap: [ @@ -1040,11 +957,9 @@ export default { Bus.$on('reqExportSelectEvent', () => { this.exportExcel() }) - if (!this.useDFC) { - this.options = this.options - .filter((item) => item.label !== '目前所属主体') - .filter((item) => item.label !== '初始入职日期') - } + this.options = this.options + .filter((item) => item.label !== '目前所属主体') + .filter((item) => item.label !== '初始入职日期') this.unsbmitCheckedCols = this.checkedCols }, beforeDestroy() { @@ -1056,8 +971,6 @@ export default { localStorage.removeItem('setting-table-CheckedCols') } setTimeout(() => { - // 获取并设置角色过滤项 - this.setRoleFilter() // table拖拽 this.columnDrop() }, 1000) @@ -1073,34 +986,6 @@ export default { getVxetableRef() { return this.$refs.employeeTable }, - setRoleFilter() { - // 获取并设置角色过滤项 - this.$nextTick(() => { - if (this.tableType === 'structure') { - getRoleList('all').then((res) => { - const _filterRoleList = [] - Object.keys(res).forEach((key) => { - _filterRoleList.push( - ...res[key].role_list.map((role) => { - return { - label: role.role_name, - value: role.role_id, - } - }) - ) - }) - this.filterRoleList = _filterRoleList - const $table = this.$refs.employeeTable - if ($table) { - const nameColumn = $table.getColumnByField('role') - if (nameColumn) { - $table.setFilter(nameColumn, this.filterRoleList) - } - } - }) - } - }) - }, initAttributes() { // 过滤用户没有权限的字段 if (this.tableData.length) { @@ -1220,10 +1105,6 @@ export default { }, handleSubmit() { this.visible = false - // 如果用户选择了角色列,获取角色list - if (!this.checkedCols.includes('roles') && this.unsbmitCheckedCols.includes('roles')) { - this.setRoleFilter() - } localStorage.setItem('setting-table-CheckedCols', JSON.stringify(this.unsbmitCheckedCols)) this.$nextTick(() => { this.checkedCols = JSON.parse(localStorage.getItem('setting-table-CheckedCols')) @@ -1251,7 +1132,6 @@ export default { ...item, is_internship: item.is_internship ? '实习生' : '正式', direct_supervisor_id: getDirectorName(this.allFlatEmployees, item.direct_supervisor_id), - roles: this.getRoleName(item.roles) } }), filename: 'employee-' + now_time, @@ -1261,7 +1141,7 @@ export default { useStyle: true, // 是否导出样式 isFooter: false, // 是否导出表尾(比如合计) // 过滤那个字段导出 - columnFilterMethod: function(column, $columnIndex) { + columnFilterMethod: function (column, $columnIndex) { return !(column.$columnIndex === 0) // 0是复选框 不导出 }, @@ -1281,14 +1161,6 @@ export default { } return realNum }, - getRoleName(roles) { - let roles_str = '' - roles.forEach(role => { - roles_str += `${role.role_name}` + ',' - }) - roles_str = roles_str.substring(0, roles_str.length - 1) - return roles_str - }, columnDrop() { this.$nextTick(() => { if (this.$refs.employeeTable) {