| | |
| | | * @Author: lzhe lzhe@example.com |
| | | * @Date: 2024-03-26 10:28:33 |
| | | * @LastEditors: lzhe lzhe@example.com |
| | | * @LastEditTime: 2024-04-10 17:05:04 |
| | | * @LastEditTime: 2024-10-24 18:37:07 |
| | | * @FilePath: /smart-web/src/views/master/person/main/index.vue |
| | | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | --> |
| | |
| | | <div class="right-top"> |
| | | <div class="right-bottom"> |
| | | <el-button type="primary" @click="addPerson">+ 添加部门</el-button> |
| | | <!-- 导入 --> |
| | | <import-table class="exportBtn" :exportUrl="exportUrl" :uploadUrl="uploadUrl"></import-table> |
| | | <!-- 导出 --> |
| | | <el-button type="primary" @click="getExport">导出</el-button> |
| | | <el-button type="danger" plain @click="delPerson">删除</el-button> |
| | | </div> |
| | | <div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="right-table"> |
| | | <el-table :data="departmentList" style="width: 100%;margin-bottom: 20px;" row-key="id" border default-expand-all ref="treeRef" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table :data="departmentList" style="width: 100%;margin-bottom: 20px;" row-key="id" border default-expand-all ref="treeRef" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" :selectable="selectableDisabled" /> |
| | | <el-table-column prop="name" label="岗位名称"></el-table-column> |
| | | <el-table-column prop="peopleNum" label="部门人数"></el-table-column> |
| | | <el-table-column prop="parentName" label="上级部门"></el-table-column> |
| | |
| | | <save-dialog v-if="dialog.save" ref="saveDialog" @success="addHandleSuccess" @closed="dialog.save=false"></save-dialog> |
| | | </template> |
| | | <script> |
| | | import importTable from '@/layout/components/importTable.vue' |
| | | import saveDialog from './department' |
| | | export default { |
| | | name: "bakalaka", |
| | | data(){ |
| | | return { |
| | | uploadUrl: "/api/smis/group/import?groupType=group_organization&groupCategory=1", |
| | | exportUrl: "/api/smis/organization/export-template", |
| | | selectId: "", |
| | | selection: [], |
| | | total: 0, |
| | |
| | | this.getOrganizationList(); |
| | | }, |
| | | components: { |
| | | saveDialog |
| | | saveDialog,importTable |
| | | }, |
| | | methods: { |
| | | selectableDisabled(row,rowIndex) { |
| | | return !row.children; //只禁用有children的选项 |
| | | }, |
| | | getExport() { |
| | | this.$HTTP.get(`/api/smis/organization/export-organization?`+this.$TOOL.qsStringify(this.searchData)).then(res=> { |
| | | if(res.code == 200) { |
| | | window.open(res.data.link); |
| | | } |
| | | }) |
| | | }, |
| | | addHandleSuccess() { |
| | | this.getOrganizationList(); |
| | | }, |
| | | delData(type) { |
| | | this.$HTTP.delete(`/api/blade-cps/organization?ids=${this.selectId}&type=${type}`).then(res=> { |
| | | this.$HTTP.delete(`/api/smis/organization?ids=${this.selectId}&type=${type}`).then(res=> { |
| | | if(res.code == 200) { |
| | | this.$message.success("操作成功"); |
| | | this.delPersonModel = false; |
| | |
| | | // 如果children字段存在且是数组,则递归处理children |
| | | if (Array.isArray(newItem.children)) { |
| | | newItem.children = this.removeHasChildren(newItem.children); |
| | | } |
| | | |
| | | } |
| | | return newItem; |
| | | }); |
| | | }, |
| | | getOrganizationList() { |
| | | this.$HTTP.get(`/api/blade-cps/organization/tree?` + this.$TOOL.qsStringify(this.searchData)).then(res=> { |
| | | this.$HTTP.get(`/api/smis/organization/tree?` + this.$TOOL.qsStringify(this.searchData)).then(res=> { |
| | | if(res.code == 200) { |
| | | this.departmentList = this.removeHasChildren(res.data); |
| | | this.departmentList[0]._disabled = true; |
| | | } |
| | | }) |
| | | }, |
| | |
| | | border-left: 0px; |
| | | } |
| | | .person-left-active { |
| | | background-color: #3b8e8e; |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | } |
| | | .person-left-search { |
| | |
| | | line-height: 20px; |
| | | margin-right: 6px; |
| | | } |
| | | .exportBtn { |
| | | margin-left:8px; |
| | | margin-right:8px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .right-table .el-table__header .el-table-column--selection .cell { |
| | | display: none; |
| | | } |
| | | </style> |