| | |
| | | padding: 20px 0; |
| | | display: flex; |
| | | } |
| | | |
| | | .left { |
| | | width: 270px; |
| | | height: calc(100% - 40px); |
| | | background-color: white; |
| | | padding: 15px; |
| | | } |
| | | |
| | | .el-tree{ |
| | | height: calc(100% - 37px); |
| | | overflow-y: auto; |
| | |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 40px); |
| | | } |
| | | |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | |
| | | </style> |
| | | <template> |
| | | <div class="person_manage"> |
| | | <!-- <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">用户管理</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | |
| | | </el-col> |
| | | </el-row> --> |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input placeholder="输入关键字进行搜索" suffix-icon="el-icon-search" v-model="search" size="small" |
| | | style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter" @keyup.enter.native="searchFilter()"></el-input> |
| | | style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter" |
| | | @keyup.enter.native="searchFilter()"></el-input> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center;line-height: 30px;" v-if="addPower"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="handleAdd"></el-button> |
| | |
| | | <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'name' }" node-key="id" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" |
| | | :default-checked-keys="[1]"> |
| | | :default-expanded-keys="expandedKeys" :default-checked-keys="[1]"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%;"> |
| | | <el-col :span="21" :class="{sort:node.level>3}"> |
| | |
| | | <div class="search_thing"> |
| | | <div class="search_label">公司名称:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.company" @keyup.enter.native="refreshTable()"></el-input> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.company" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <ValueTable ref="ValueTable" :url="$api.user.selectUserList" :upUrl="$api.user.updateUser" :componentData="componentData" :key="upIndex" @upUser="upUser"/> |
| | | <ValueTable ref="ValueTable" :url="$api.user.selectUserList" :upUrl="$api.user.updateUser" |
| | | :componentData="componentData" :key="upIndex" /> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="架构新增" :visible.sync="addDia" width="400px"> |
| | |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="添加三方人员" :visible.sync="addthirdParty" width="400px"> |
| | | <el-dialog title="获取人事系统人员信息" :visible.sync="addthirdParty" width="70%"> |
| | | <div class="body"> |
| | | <el-tree |
| | | :data="datathirdParty" |
| | | show-checkbox |
| | | node-key="id" |
| | | :default-expanded-keys="[2, 3]" |
| | | :default-checked-keys="[5]" |
| | | :props="defaultProps"> |
| | | <el-row> |
| | | <el-col :span="9" style="height: 70vh;overflow: hidden;"> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="search2" size="small" style="width: 90%;padding: 0 5% 10px 5%;" |
| | | clearable @blur="searchFilter2" @clear="searchFilter2" @keyup.enter.native="searchFilter2()"> |
| | | </el-input> |
| | | <el-tree :data="datathirdParty" node-key="id" :props="defaultProps" @node-click="nodeClick2" |
| | | style="height: calc(100% - 42px);" :filter-node-method="filterNode2" ref="tree2" highlight-current> |
| | | </el-tree> |
| | | <span slot="footer" style="padding-left: 200px"> |
| | | </el-col> |
| | | <el-col :span="15" style="height: 70vh;padding-left: 8px;"> |
| | | <el-table height="70vh" border stripe :data="personList" v-loading="personLoad" ref="personTable" |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="employeeID" label="员工号"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="员工姓名"> |
| | | </el-table-column> |
| | | <el-table-column prop="isLive" label="已存在" width="80" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="success" effect="dark" v-if="scope.row.isLive === 1">√</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="addthirdParty = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click="" :loading="addLoad" size="mini">确 定</el-button> |
| | | </span> |
| | | <el-button type="primary" @click="addUser2" :loading="addLoad" size="mini">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | compileToFunctions |
| | | } from 'vue-template-compiler' |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | datathirdParty:[{ |
| | | id: 1, |
| | | label: '一级 1', |
| | | children: [{ |
| | | id: 4, |
| | | label: '二级 1-1', |
| | | children: [{ |
| | | id: 9, |
| | | label: '三级 1-1-1' |
| | | }, { |
| | | id: 10, |
| | | label: '三级 1-1-2' |
| | | }] |
| | | }] |
| | | }, { |
| | | id: 2, |
| | | label: '一级 2', |
| | | children: [{ |
| | | id: 5, |
| | | label: '二级 2-1' |
| | | }, { |
| | | id: 6, |
| | | label: '二级 2-2' |
| | | }] |
| | | }, { |
| | | id: 3, |
| | | label: '一级 3', |
| | | children: [{ |
| | | id: 7, |
| | | label: '二级 3-1' |
| | | }, { |
| | | id: 8, |
| | | label: '二级 3-2' |
| | | }] |
| | | }], |
| | | datathirdParty: [], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label' |
| | |
| | | treeLoad:false, |
| | | expandedKeys: [], |
| | | addLoad:false, |
| | | personList: [], |
| | | treeLoad: false, |
| | | personLoad: false, |
| | | search2: '', |
| | | multipleSelection: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | methods: { |
| | | openthirdParty(){ |
| | | this.addthirdParty=true; |
| | | |
| | | this.$axios.get(this.$api.companies.selectCompaniesList).then(res => { |
| | | this.datathirdParty = [] |
| | | for (let ai = 0; ai < res.data.length; ai++) { |
| | | let a = res.data[ai] |
| | | if (a.parentCompanyId === 'ROOT') { |
| | | this.datathirdParty.push({ |
| | | id: a.companyId, |
| | | label: a.companyName, |
| | | children: [] |
| | | }) |
| | | res.data.splice(ai, 1) |
| | | ai-- |
| | | } else { |
| | | this.getOrganizational(a, ai, this.datathirdParty, res.data) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getOrganizational(a, ai, children, list) { |
| | | for (let bi = 0; bi < children.length; bi++) { |
| | | let b = children[bi] |
| | | if (a.parentCompanyId === b.id) { |
| | | b.children.push({ |
| | | id: a.companyId, |
| | | label: a.companyName, |
| | | children: [] |
| | | }) |
| | | list.splice(ai, 1) |
| | | ai-- |
| | | break |
| | | } else { |
| | | this.getOrganizational(a, ai, b.children, list) |
| | | } |
| | | } |
| | | }, |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | // this.upIndex++ |
| | | this.refreshTable() |
| | | }, |
| | | upUser(row){ |
| | | console.log(row); |
| | | }, |
| | | selectRole(){ |
| | | this.$axios.get(this.$api.user.selectRoleList).then(res=>{ |
| | |
| | | searchFilter() { |
| | | this.$refs.tree.filter(this.search) |
| | | }, |
| | | searchFilter2() { |
| | | this.$refs.tree2.filter(this.search2) |
| | | }, |
| | | filterNode(value, data) { |
| | | console.log(data); |
| | | if (!value) return true; |
| | | return data.name.indexOf(value) !== -1; |
| | | }, |
| | | filterNode2(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | handleNodeClick(val, node, el) { //树的值 |
| | | this.selectTree = '' |
| | |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | nodeClick2(ob, node, el) { |
| | | if (ob.id !== 'SC21') { |
| | | this.personLoad = true |
| | | this.$axios.post(this.$api.companies.selectSimpleList, { |
| | | companyId: ob.id |
| | | }).then(res => { |
| | | this.personList = res.data |
| | | this.personLoad = false |
| | | this.$refs.personTable.doLayout() |
| | | }) |
| | | } |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | console.log(this.multipleSelection); |
| | | }, |
| | | addUser2(){ |
| | | } |
| | | } |
| | | } |
| | | </script> |