| | |
| | | @clear="handleClear" @keyup.enter.native="handleEnter"></el-input> |
| | | </template> |
| | | <template #menu="{row,index,size}"> |
| | | <el-button type="text" icon="el-icon-menu" size="small" @click="classifyHandler">分类授权</el-button> |
| | | <el-button icon="el-icon-menu" size="small" type="text" @click="classifyHandler(row)">分类授权</el-button> |
| | | |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog :visible.sync="dialogVisible" append-to-body title="分类授权"> |
| | | <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="分类授权" top="-10"> |
| | | |
| | | <el-row> |
| | | <el-col :span="14"> |
| | | <el-col :span="10"> |
| | | <avue-tree ref="tree" |
| | | :option="TreeOption" |
| | | :data="TreeData" |
| | | v-model="TreeForm" |
| | | :data="TreeData" |
| | | :option="TreeOption" |
| | | @check-change="checkChange"> |
| | | </avue-tree> |
| | | </el-col> |
| | | </el-row> |
| | | <div slot="footer" class="dialog-footer" style="height: 50px;line-height: 50px"> |
| | | <el-button type="primary" icon="el-icon-plus" size="small">授 权</el-button> |
| | | <el-button icon="el-icon-close" size="small" type="danger">重 置</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | <script> |
| | | import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel} from '@/api/integration/sysInfo.js' |
| | | import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel, sysInfoTree} from '@/api/integration/sysInfo.js' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | TreeOption:{ |
| | | defaultExpandAll: true, |
| | | //避免缓存 |
| | | reload: Math.random(), |
| | | TreeLoading: false, |
| | | TreeOption: { |
| | | defaultExpandAll: false, |
| | | multiple: true, |
| | | addBtn:false, |
| | | filter:false |
| | | addBtn: false, |
| | | filter: false |
| | | }, |
| | | TreeData:[], |
| | | TreeForm:{}, |
| | | TreeData: [], |
| | | TreeForm: {}, |
| | | loading: false, |
| | | dialogVisible:false, |
| | | dialogVisible: false, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | //分类授权多选回调 |
| | | checkChange(){ |
| | | |
| | | checkChange(row,checked) { |
| | | // console.log(row) |
| | | // if(checked){ |
| | | // |
| | | // } |
| | | }, |
| | | //分类授权 |
| | | classifyHandler(){ |
| | | this.dialogVisible=true; |
| | | classifyHandler(row) { |
| | | this.loading = true; |
| | | sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => { |
| | | this.TreeData = res.data; |
| | | this.ModifyProperties(this.TreeData, 'text', 'label'); |
| | | // 根据 this.TreeData 的长度计算延迟时间 |
| | | const delayTime = this.TreeData.length * 1; |
| | | setTimeout(() => { |
| | | this.loading = false; |
| | | this.reload = Math.random() |
| | | this.dialogVisible = true; |
| | | }, delayTime); |
| | | }); |
| | | }, |
| | | //定义一个修改数据属性名的方法 |
| | | ModifyProperties(obj, oldName, newName) { |
| | | for (let key in obj) { |
| | | if (key === oldName) { |
| | | obj[newName] = obj[key]; |
| | | delete obj[key]; |
| | | } |
| | | if (typeof obj[key] === 'object') { |
| | | this.ModifyProperties(obj[key], oldName, newName); |
| | | } |
| | | } |
| | | }, |
| | | async getDataList() { |
| | | this.loading = true; |
| | | console.log(this.search); |
| | | const { pageSize, currentPage } = this.page; |
| | | const {pageSize, currentPage} = this.page; |
| | | const conditions = {}; |
| | | if (Object.keys(this.search).length > 0) { |
| | | for (const key in this.search) { |
| | |
| | | }, |
| | | // 多选 |
| | | selectionChange(list) { |
| | | console.log(list) |
| | | let newData = list.map(item => { |
| | | const {oid} = item |
| | | return oid |
| | | }) |
| | | this.delIds = {oids: newData.toString()} |
| | | console.log(this.delIds) |
| | | // console.log(this.delIds) |
| | | }, |
| | | } |
| | | } |