田源
2024-11-01 8c107924ebc49105fa81f13f972f1710b42c1503
Source/plt-web/plt-web-ui/src/views/system/department/index.vue
@@ -25,9 +25,10 @@
      </template>
      <template slot="menuLeft" slot-scope="scope">
        <el-button icon="el-icon-school" plain size="small" type="primary" @click="assignMembersHandler">分配成员</el-button>
        <el-button icon="el-icon-school" plain size="small" type="primary" @click="assignMembersHandler">分配成员
        </el-button>
        <el-button icon="el-icon-user" plain size="small" type="primary" @click="statisticsHandler">统计</el-button>
        <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="statisticsHandler">导入部门</el-button>
        <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadHandler">导入部门</el-button>
        <el-button icon="el-icon-download" plain size="small" type="primary" @click="downLoadHandler">下载导入模板</el-button>
      </template>
    </avue-crud>
@@ -36,7 +37,6 @@
    <el-dialog
      v-dialogDrag
      v-loading="statisticsLoading"
      :destroy-on-close="true"
      :visible.sync="statisticsVisible"
      append-to-body="true"
      class="avue-dialog"
@@ -62,6 +62,10 @@
              :transferTitle="transferTitle" title="部门添加成员"
              @transferSend="departTransferSend">
    </transfer>
    <!-- 导入部门   -->
    <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导入部门"
                 @updata="getTableList"></upload-file>
  </basic-container>
</template>
@@ -91,12 +95,15 @@
        ...basicOption,
        rowKey: 'oid',
        rowParentKey: 'parentId',
        expandRowKeys:[],
        selection: false,
        addBtn: false,
        editBtn: false,
        delBtn: false,
        gridBtn: false,
        menuWidth:280,
        highlightCurrentRow: true,
        calcHeight: -50,
        column: column
      },
      tableLoading: false,
@@ -110,7 +117,9 @@
        selection: false,
        refreshBtn: false,
        addBtn: false,
        header :false,
        menu: false,
        calcHeight:80,
        column: [
          {
            label: '部门',
@@ -131,12 +140,16 @@
            label: '角色',
            prop: 'pkPersonName',
            sortable: true,
            overHidden: true,
          },
        ]
      },
      leftTransferData: [],
      rightTransferData: [],
      transferTitle: ['待选人员', '已选人员'],
      tipList: ['导入模板中标明红色字体的为必输项', '导入结构为树结构时请保证ID列不能重复', '父ID请使用界面上部门的唯一标识ID或者Excel中手动输入的ID', '父ID列为空时,导入的部门即为顶层部门'],
      upFileType: ['xls', 'xlsx'],
      fileUrl: 'api/departmentQueryController/importDept',
    }
  },
  methods: {
@@ -144,6 +157,7 @@
    getTableList() {
      refTree({queryAllLevel: true, 'extandParamsMap[showAllDepartmentNode]': true}).then(res => {
        this.tableData = this.departDtaFormAtter(res.data.treeData);
        this.option.expandRowKeys=[res.data.treeData[0].oid];
      })
    },
@@ -152,6 +166,7 @@
      return items.map(item => {
        // 转换当前节点的属性
        const formList = {
          expanded:item.expanded,
          oid: item.oid,
          id: item.attributes.id,
          name: item.attributes.name,
@@ -195,7 +210,6 @@
          done();
        }
      }).catch(err => {
        console.log(err);
        loading();
      })
@@ -223,7 +237,6 @@
          done();
        }
      }).catch(err => {
        console.log(err);
        loading();
      })
    },
@@ -273,7 +286,6 @@
      }
      countSmUserByDeptOid({pkDepartment: this.departCurrenRow.ALLDept === 'ALLDept' ? null : this.departCurrenRow.oid}).then(res => {
        console.log(res);
        if (res.data.code === 200) {
          const data = res.data.data;
          this.countData = data.map(item => {
@@ -326,11 +338,11 @@
    // 分配成员穿梭框回填
    departTransferSend(row) {
      let params = {
        userOids: row.join(','),
        userOIds: row.join(','),
        deptId: this.departCurrenRow.oid
      }
      saveUsersDepts(params).then(res => {
        console.log(res);
        //console.log(res);
        this.$message.success(res.data.obj);
        this.getTableList();
      }).catch(err => {
@@ -339,13 +351,18 @@
    },
    // 下载导入模板
    downLoadHandler(){
    downLoadHandler() {
      download().then(res => {
        func.downloadFileByBlobHandler(res);
        this.$message.success('下载成功')
      }).catch(err => {
        this.$message.error(err);
      })
    },
    // 导入部门
    upLoadHandler() {
      this.$refs.upload.visible = true;
    }
  }
}