From b7ff96b416181fbe5138b9c02fbc00040e379978 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 26 九月 2023 17:26:45 +0800
Subject: [PATCH] 写一个测试接口方法
---
Source/UBCS-WEB/src/views/integration/systemInfo.vue | 142 ++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 120 insertions(+), 22 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index 7cd24b1..4d3dee2 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -20,41 +20,59 @@
@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="-50px">
<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 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 {
- TreeOption:{
- defaultExpandAll: true,
+ checkAll: {},
+ ParentList: [],
+ ParentRemoveList:[],
+ //閬垮厤缂撳瓨
+ 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,
@@ -118,19 +136,102 @@
},
}
},
+ created() {
+ },
methods: {
+ empower() {
+ batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => {
+ console.log(res)
+ })
+ },
//鍒嗙被鎺堟潈澶氶�夊洖璋�
- checkChange(){
+ 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 {
+ if (!row.parentId && row.children) {
+ this.ParentRemoveList = this.ParentList.filter(record => record.oid !== row.oid);
+ if (row.children && row.children.length > 0) {
+ for (let child of row.children) {
+ this.ParentRemoveList = this.ParentList.filter(record => record.oid !== child.oid);
+
+ if (child.children && child.children.length > 0) {
+ for (let subChild of child.children) {
+ this.ParentRemoveList = this.ParentList.filter(record => record.oid !== subChild.oid);
+ }
+ }
+ }
+ }
+ }
+ console.log(this.ParentRemoveList)
+ }
},
//鍒嗙被鎺堟潈
- classifyHandler(){
- this.dialogVisible=true;
+ 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) {
@@ -232,9 +333,7 @@
},
// enter鎼滅储
handleEnter() {
- if (this.search[this.selectValue] === '') return
- else this.getDataList()
-
+ this.getDataList()
},
// 杈撳叆妗嗘竻绌�
handleClear() {
@@ -257,13 +356,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