gaoshp
2024-11-03 3931e2728f618d0090f129b2665bc1285c4440c3
src/views/master/person/main/personDepartment.vue
@@ -2,7 +2,7 @@
 * @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
-->
@@ -12,6 +12,10 @@
         <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>
@@ -29,8 +33,8 @@
            </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>
@@ -68,11 +72,14 @@
   <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,
@@ -99,14 +106,24 @@
         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;
@@ -123,15 +140,15 @@
               // 如果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;
               }
            })
         },
@@ -234,7 +251,7 @@
      border-left: 0px;
   }
   .person-left-active {
      background-color: #3b8e8e;
      background-color: #409eff;
      color: #fff;
   }
   .person-left-search {
@@ -314,4 +331,13 @@
       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>