fawvm-organization-staff

组织机构与人员管理前端UI

Usage no npm install needed!

<script type="module">
  import fawvmOrganizationStaff from 'https://cdn.skypack.dev/fawvm-organization-staff';
</script>

README

fawvm-organization-staff

组织机构与人员管理前端 UI

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# use
<FawvmOrganizationStaff
        :tree-show-icon="true"
        :tree-show-line="false"
        :tree-data-source="treeDataSource"
        :table-size="'small'"
        :tree-current-key="treeCurrentKey"
        :table-left-columns="tableLeftColumns"
        :table-right-columns="tableRightColumns"
        :target-keys="targetKeys"
        :table-data-source="tableDataSource"
        :tree-expanded-keys="treeExpandedKeys"
        @onTreeSelect="onTreeSelect"
        @handleSearch="handleSearch"
        @handleSelected="handleSelected"
        @onSelectChange="onSelectChange"
        @handleReset="handleReset"
      />
 说明:
   使用了ant-design-vue中的 Transfer 穿梭框组件

 字段说明如下:
 tableLeftColumns: 中间部分,代表数据源
 tableRightColumns: 右边部分,代表所选的内容
 targetKeys:右边带入默认已选中的内容,
 treeDataSource:左边树的数据源

 v1.0.7版本:
 新加入tree-current-key字段:此字段的作用是传入树的当前选中的节点KEY

 v1.0.8版本:
 修改BUG及数据回填优化

 v1.0.9版本:
 增加treeExpandedKeys属性:设置树的展开结点,如果不设置,则默认展开第一级,值为结点的key值

v1.0.10版本:
 bug fix

 使用特别说明:
   由于Transfer 穿梭框组件对数据源有特别的要求:
     tableDataSource数据源中必须包含title和key字段(详情见ant-design-vue关于Transfer的描述),示例如下:
     {
        title: "小何",
        key: "hexiao4@xxx.com",
        email: "hexiao4@xxx.com",
        pid:"188888",
        deptName: "技术部",
        vwdutyName: "后端"
      }
使用方法:如代码所示:
 methods: {
    handleReset() {
      this.receiver = "";
      this.targetKeys = [];
      this.selectedRows = [];
    },
    handleSelected(selectedRows) {
      //do something
      this.organizationVisible = false;
      this.targetKeys = [];
    },
    onSelectChange(selectedRow, selectedRowKey) {
      console.log("当前点击选择的内容:", selectedRow, selectedRowKey);
    },
    // 菜单选择
    onTreeSelect(selectedKeys, info) {
      // 设置表格中的数据源
      this.treeCurrentKey = selectedKeys[0];
      if (selectedKeys[0] === "0-0-0-1") {
        this.tableDataSource = tableDataSource1;
      } else if (selectedKeys[0] === "0-0-0-2") {
        this.tableDataSource = tableDataSource2;
      }
      console.log(info.node.title);
    },
    //弹出对话框时注意初始化变量
    handleVisible() {
      this.organizationVisible = true;
      this.tableDataSource = [];
      this.treeCurrentKey = "";
      this.targetKeys = [...this.selectedRows]; //如有已选数据,可回填
    }
  }
};