From 5f06c56fd6273a34a502ea730382296cf1c1707f Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 22 九月 2023 14:45:54 +0800 Subject: [PATCH] 单点登录-解密插件js库 --- Source/UBCS-WEB/src/views/integration/systemInfo.vue | 149 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 124 insertions(+), 25 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue index 392d645..0826c26 100644 --- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue +++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue @@ -19,16 +19,59 @@ :size="size" clearable style="width:300px;margin-left: 10px;" @clear="handleClear" @keyup.enter.native="handleEnter"></el-input> </template> + <template #menu="{row,index,size}"> + <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 class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" + top="-50px"> + + <el-row> + <el-col :span="10"> + <avue-tree ref="tree" + 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 icon="el-icon-plus" size="small" type="primary" @click="empower">鎺� 鏉�</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, + batchAddSave +} from '@/api/integration/sysInfo.js' export default { data() { return { + checkAll: {}, + ParentList: [], + //閬垮厤缂撳瓨 + reload: Math.random(), + TreeLoading: false, + TreeOption: { + defaultExpandAll: false, + multiple: true, + addBtn: false, + filter: false + }, + TreeData: [], + TreeForm: {}, loading: false, + dialogVisible: false, page: { currentPage: 1, pageSize: 10, @@ -92,29 +135,88 @@ }, } }, + created() { + }, methods: { - // 鑾峰彇鍒楄〃 - // async getDataList() { - // this.loading = true - // console.log(this.search) - // const { pageSize, currentPage } = this.page - // let param = { size: pageSize, current: currentPage } - // this.search = Object.keys(this.search) - // .filter((key) => this.search[key] !== null && this.search[key] !== undefined && this.search[key] !== "") - // .reduce((acc, key) => ({ ...acc, [key]: this.search[key] }), {}); - // const response = await getSysInfoList(pageSize,currentPage,{...param}) - // if (response.status === 200) { - // console.log(response) - // this.loading = false - // const data = response.data.data - // this.data = data.records - // this.page.total = data.total - // } else this.loading = false - // }, + empower() { + batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => { + console.log(res) + }) + }, + //鍒嗙被鎺堟潈澶氶�夊洖璋� + checkChange(row, checked) { + if (checked) { + if (!row.parentId && row.children) { + const parentRecord = { + oid: row.oid, + classifyId: row.attributes.classifyId, + classifyOid: row.attributes.classifyOid, + classParentOid: row.parentId, + }; + this.ParentList.push(parentRecord); + // 濡傛灉row鐨刢hildren涓嶄负绌猴紝缁х画寰幆children涓殑姣忎釜瀵硅薄 + if (row.children && row.children.length > 0) { + for (let child of row.children) { + const childRecord = { + oid: child.oid, + classifyId: child.attributes.classifyId, + classifyOid: child.attributes.classifyOid, + classParentOid: child.parentId, + }; + this.ParentList.push(childRecord); + // 濡傛灉瀛愬璞$殑children涓嶄负绌猴紝缁х画寰幆鑾峰彇鏁版嵁 + if (child.children && child.children.length > 0) { + for (let subChild of child.children) { + const subRecord = { + oid: subChild.oid, + classifyId: subChild.attributes.classifyId, + classifyOid: subChild.attributes.classifyOid, + classParentOid: subChild.parentId, + }; + this.ParentList.push(subRecord); + } + } + } + } + console.log(this.ParentList); + } + } else { + this.ParentList = this.ParentList.filter(res => res.classifyId !== row.classifyId); + console.log(this.ParentList); + } + }, + //鍒嗙被鎺堟潈 + classifyHandler(row) { + this.loading = true; + this.checkAll = row + 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) { @@ -216,9 +318,7 @@ }, // enter鎼滅储 handleEnter() { - if (this.search[this.selectValue] === '') return - else this.getDataList() - + this.getDataList() }, // 杈撳叆妗嗘竻绌� handleClear() { @@ -241,13 +341,12 @@ }, // 澶氶�� 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) }, } } -- Gitblit v1.9.3