From 584ae5476c319cd1551a97b64c01ee1e5e5ff5a6 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 25 十月 2023 15:46:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/docking/info.vue | 121 +++--
Source/UBCS-WEB/src/views/system/menu.vue | 1035 +++++++++++++++++++++++-----------------------
Source/UBCS-WEB/src/views/integration/systemInfo.vue | 108 ++--
Source/UBCS-WEB/src/store/modules/user.js | 6
Source/UBCS-WEB/src/views/docking/task.vue | 3
5 files changed, 652 insertions(+), 621 deletions(-)
diff --git a/Source/UBCS-WEB/src/store/modules/user.js b/Source/UBCS-WEB/src/store/modules/user.js
index 235b774..e8fc9c2 100644
--- a/Source/UBCS-WEB/src/store/modules/user.js
+++ b/Source/UBCS-WEB/src/store/modules/user.js
@@ -145,7 +145,7 @@
},
//鍒锋柊token
refreshToken({state, commit}, userInfo) {
- window.console.log('handle refresh token');
+ // window.console.log('handle refresh token');
return new Promise((resolve, reject) => {
refreshToken(state.refreshToken, state.tenantId,
!validatenull(userInfo) ? userInfo.deptId : state.userInfo.dept_id,
@@ -273,7 +273,7 @@
},
SET_USER_INFO: (state, userInfo) => {
state.upadatastatus=userInfo
- console.log(state.upadatastatus)
+ // console.log(state.upadatastatus)
if (validatenull(userInfo.avatar)) {
userInfo.avatar = "/img/bg/img-logo.png";
}
@@ -295,8 +295,8 @@
}
Vue.set(permission_new, item.code, children);
});
+ //console.log(permission_new)
state.permission = permission_new;
- // console.log(state.permission)
setStore({name: "permission", content: permission_new});
},
diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue
index b29f9cf..a05840a 100644
--- a/Source/UBCS-WEB/src/views/docking/info.vue
+++ b/Source/UBCS-WEB/src/views/docking/info.vue
@@ -2,28 +2,43 @@
<el-container>
<el-main>
<basic-container>
- <avue-crud ref="crud" v-model="form" :data="data" :option="option" :page.sync="page" @on-load="onLoad"
+ <avue-crud ref="crud" v-model="form" :cell-style="cellStyle" :data="data" :option="option" :page.sync="page"
+ @on-load="onLoad"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange" @row-click="rowClick" :cell-style="cellStyle">
+ @size-change="sizeChange" @refresh-change="refreshChange" @row-click="rowClick">
<template slot="menu" slot-scope="{row,index}">
- <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)" :disabled="row.usedFlag === 'true' ? false :true">缂栬緫</el-button>
- <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button>
- <el-button v-if="row.usedFlag=='false' || row.usedFlag==''" icon="el-icon-position" size="small" type="text"
- @click="ENABLE(row,index)">鍚敤
+ <el-button v-if="permission.info.info_edit" :disabled="row.usedFlag === 'true' ? false :true"
+ icon="el-icon-edit" size="small"
+ type="text"
+ @click="updateSave(row,index)">缂栬緫
</el-button>
- <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">鍋滅敤
+ <el-button v-if="permission.info.info_delete" icon="el-icon-delete" size="small" type="text"
+ @click="deleteSave(row,index)">鍒犻櫎
</el-button>
+ <span v-if="permission.info.info_enable">
+
+ <el-button v-if="row.usedFlag=='false' || row.usedFlag==''" icon="el-icon-position" size="small"
+ type="text" @click="ENABLE(row,index)">鍚敤
+ </el-button>
+ </span>
+ <span v-if="permission.info.info_stop">
+ <el-button v-if="row.usedFlag !== 'false' && row.usedFlag !== ''" icon="el-icon-finished"
+ size="small"
+ type="text" @click="DISABLE(row, index)">鍋滅敤
+ </el-button>
+ </span>
</template>
<template slot="menuLeft">
- <el-button icon="el-icon-plus" size="small" type="primary" @click="addSave">鏂� 澧�
+ <el-button v-if="permission.info.info_add" icon="el-icon-plus" size="small" type="primary" @click="addSave">
+ 鏂� 澧�
</el-button>
- <el-button icon="el-icon-share" size="small" @click="PUSH">鍚� 姝�
+ <el-button v-if="permission.info.info_sync" icon="el-icon-share" size="small" @click="PUSH">鍚� 姝�
</el-button>
- <el-button icon="el-icon-search" size="small" @click="openAdvancedQuery">鏌� 璇�
+ <el-button v-if="permission.info.info_query" icon="el-icon-search" size="small" @click="openAdvancedQuery">鏌�
+ 璇�
</el-button>
</template>
</avue-crud>
@@ -46,6 +61,7 @@
} from "@/api/docking/info";
import {getDictionary} from "@/api/omd/enum";
import infoForm from "./infoForm.vue";
+import {mapGetters} from "vuex";
export default {
name: "info",
@@ -93,7 +109,7 @@
option: {
height: "auto",
calcHeight: 20,
- columnBtn:false,
+ columnBtn: false,
tip: false,
headerAlign: "center",
border: true,
@@ -110,40 +126,40 @@
addBtn: false,
editBtn: false,
delBtn: false,
- column: [ {
+ column: [{
label: '鏄惁鍚敤',
prop: 'usedFlag',
width: 150,
formatter: res => res.usedFlag === "true" ? "鍚敤" : "鍋滅敤"
- },{
+ }, {
label: '闆嗘垚绯荤粺',
prop: 'sysBaseName',
sortable: true,
width: 150
- },{
+ }, {
label: '鍒嗙被閫夋嫨',
prop: 'classifyName',
- align:'center',
+ align: 'center',
// sortable: true,
width: 150
- },{
+ }, {
label: '缂栫爜绫诲瀷',
prop: 'isGroupCodeFlag',
sortable: true,
width: 150,
formatter: res => res.isGroupCodeFlag ? '闆嗗洟鐮�' : '浼佷笟缂栫爜'
- },{
+ }, {
label: '鎺ュ彛绫诲瀷',
- prop:'dataFlowTypeText',
- align:'center',
+ prop: 'dataFlowTypeText',
+ align: 'center',
sortable: true,
- width:150,
- },{
+ width: 150,
+ }, {
label: '鎺ㄩ�佺被鍨�',
prop: 'pushTypeText',
sortable: true,
- overHidden:true,
- align:'center',
+ overHidden: true,
+ align: 'center',
width: 150,
//pushTypeList浣滅敤鍩�
// formatter: (d) => {
@@ -153,59 +169,59 @@
label: '绯荤粺缂栧彿',
prop: 'id',
sortable: true,
- hide:true,
+ hide: true,
width: 150
}, {
label: '绯荤粺鍚嶇О',
prop: 'name',
- hide:true,
+ hide: true,
sortable: true,
width: 150
- },{
+ }, {
label: '鎺ュ彛鏂瑰紡',
prop: 'interfaceType',
// sortable: true,
width: 150
- },{
+ }, {
label: '绫昏矾寰�',
prop: 'classPath',
// sortable: true,
width: 150
- },{
+ }, {
label: 'soapAction',
prop: 'soapAction',
- overHidden:true,
+ overHidden: true,
sortable: true,
width: 200
- }, {
+ }, {
label: '璋冪敤鏂瑰紡',
prop: 'cxfaxis',
sortable: true,
width: 150
}, {
- label: '璇锋眰鏂瑰紡',
- prop: 'requestMethod',
- align:'center',
- // sortable: true,
- width: 150
- }, {
+ label: '璇锋眰鏂瑰紡',
+ prop: 'requestMethod',
+ align: 'center',
+ // sortable: true,
+ width: 150
+ }, {
label: '璇锋眰鍦板潃',
prop: 'requestUrl',
sortable: true,
- overHidden:true,
+ overHidden: true,
width: 200
- }, {
+ }, {
label: '鎺ュ彛鍑芥暟',
prop: 'interfaceFunction',
sortable: true,
- align:'center',
+ align: 'center',
width: 150
}, {
- label: '鍙傛暟鍚嶇О',
- prop: 'targetName',
- sortable: true,
- width: 150
- },{
+ label: '鍙傛暟鍚嶇О',
+ prop: 'targetName',
+ sortable: true,
+ width: 150
+ }, {
label: '鍙傛暟绫诲瀷',
prop: 'paramType',
sortable: true,
@@ -226,7 +242,7 @@
prop: 'nameSpace',
sortable: true,
width: 150
- },{
+ }, {
label: '绯荤粺鎻忚堪',
prop: 'description',
width: 150
@@ -245,6 +261,8 @@
created() {
},
computed: {
+ ...mapGetters(["permission"]),
+
oids() {
let oids = [];
this.selectionList.forEach(ele => {
@@ -253,7 +271,7 @@
return oids.join(",");
}
},
- watch:{
+ watch: {
// editAttribute:{
// immediate: true,
// handler(newData) {
@@ -263,9 +281,9 @@
},
methods: {
//鍗曞厓鏍兼牱寮�
- cellStyle(row,column,rowIndex,columnIndex){
- if(row.columnIndex==2) {
- if(row.row.usedFlag == '' || row.row.usedFlag == 'false'){
+ cellStyle(row, column, rowIndex, columnIndex) {
+ if (row.columnIndex == 2) {
+ if (row.row.usedFlag == '' || row.row.usedFlag == 'false') {
return {
color: 'red',
fontWeight: 'bold',
@@ -340,7 +358,7 @@
showClose: true,
type: "warning"
}).then(() => {
- del({oids:row.oid}).then(res => {
+ del({oids: row.oid}).then(res => {
this.$message.success("鍒犻櫎鎴愬姛");
this.refreshChange();
});
@@ -515,6 +533,7 @@
width: 10px;
}
+
// 婊氬姩鏉$殑婊戝潡
/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
background-color: #ececec;
diff --git a/Source/UBCS-WEB/src/views/docking/task.vue b/Source/UBCS-WEB/src/views/docking/task.vue
index 4e83ecd..51132be 100644
--- a/Source/UBCS-WEB/src/views/docking/task.vue
+++ b/Source/UBCS-WEB/src/views/docking/task.vue
@@ -20,7 +20,8 @@
size="small"
plain
icon="el-icon-refresh-right"
- @click="handleSend">鎵嬪姩鎺ㄩ��
+ v-if="permission.task.task_sendPush"
+ @click="handleSend" >鎵嬪姩鎺ㄩ��
</el-button>
<div style="float: right;margin-left: 10px">
<vci-docking-search :formInline="formInline" :SearchObject="SearchObject" :page="page" :status="status" @getList="dockingGetList"></vci-docking-search>
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index 5f769cd..f4978de 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -7,7 +7,7 @@
<template slot="menuLeft">
<!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇�
</el-button> -->
- <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄�
+ <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds" v-if="this.permission.systemInfo.systemInfo_remove">鍒� 闄�
</el-button>
</template>
<template slot="search" slot-scope="{row,size}">
@@ -19,10 +19,11 @@
:size="size" clearable style="width:300px;margin-left: 10px;"
@clear="handleClear" @keyup.enter.native="handleEnter"></el-input>
</template>
- <template #menu="{row,index,size}">
+ <template #menu="{row,index,size}" v-if="this.permission.systemInfo.systemInfo_empower">
<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">
@@ -54,7 +55,7 @@
sysInfoTree,
batchAddSave
} from '@/api/integration/sysInfo.js'
-
+import {mapGetters} from "vuex";
export default {
data() {
return {
@@ -90,55 +91,64 @@
search: {},
delIds: [],
data: [],
- option: {
- height: "auto",
- tip: false,
- border: true,
- align: 'center',
- menuAlign: 'center',
- index: true,
- searchMenuSpan: 8,
- searchBtn: false,
- emptyBtn: false,
- columnBtn: false,
- defaultSort: {
- prop: 'id,name',
- order: 'descending'
- },
- selection: true,
- column: [
- {
- label: '绯荤粺缂栧彿',
- prop: 'id',
- sortable: true,
- rules: [{
- required: true,
- message: '绯荤粺缂栧彿涓嶈兘涓虹┖',
- trigger: 'blur'
- }],
- // maxlength: 30, //瀛楁暟闄愬埗
- }, {
- label: '绯荤粺鍚嶇О',
- prop: 'name',
- sortable: true,
- rules: [{
- required: true,
- message: '绯荤粺鍚嶇О涓嶈兘涓虹┖',
- trigger: 'blur'
- }],
- // maxlength: 30, //瀛楁暟闄愬埗
- },
- {
- label: '绯荤粺鎻忚堪',
- prop: 'description',
- type: 'textarea'
- }
- ]
- },
+
}
},
created() {
},
+ computed: {
+ ...mapGetters(["permission"]),
+ option(){
+ return{
+ height: "auto",
+ tip: false,
+ border: true,
+ align: 'center',
+ menuAlign: 'center',
+ index: true,
+ searchMenuSpan: 8,
+ addBtn:this.permission.systemInfo.systemInfo_add,
+ editBtn:this.permission.systemInfo.systemInfo_edit,
+ delBtn:this.permission.systemInfo.systemInfo_remove,
+ searchBtn: false,
+ emptyBtn: false,
+ columnBtn: false,
+ defaultSort: {
+ prop: 'id,name',
+ order: 'descending'
+ },
+ selection: true,
+ column: [
+ {
+ label: '绯荤粺缂栧彿',
+ prop: 'id',
+ sortable: true,
+ rules: [{
+ required: true,
+ message: '绯荤粺缂栧彿涓嶈兘涓虹┖',
+ trigger: 'blur'
+ }],
+ // maxlength: 30, //瀛楁暟闄愬埗
+ }, {
+ label: '绯荤粺鍚嶇О',
+ prop: 'name',
+ sortable: true,
+ rules: [{
+ required: true,
+ message: '绯荤粺鍚嶇О涓嶈兘涓虹┖',
+ trigger: 'blur'
+ }],
+ // maxlength: 30, //瀛楁暟闄愬埗
+ },
+ {
+ label: '绯荤粺鎻忚堪',
+ prop: 'description',
+ type: 'textarea'
+ }
+ ]
+ }
+ }
+ },
methods: {
//閲嶇疆
resetting(){
diff --git a/Source/UBCS-WEB/src/views/system/menu.vue b/Source/UBCS-WEB/src/views/system/menu.vue
index efe0136..6c8f412 100644
--- a/Source/UBCS-WEB/src/views/system/menu.vue
+++ b/Source/UBCS-WEB/src/views/system/menu.vue
@@ -1,13 +1,13 @@
<template>
<basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- ref="crud"
+ <avue-crud ref="crud"
v-model="form"
- :permission="permissionList"
- :before-open="beforeOpen"
:before-close="beforeClose"
+ :before-open="beforeOpen"
+ :data="data"
+ :option="option"
+ :permission="permissionList"
+ :table-loading="loading"
@row-del="rowDel"
@row-update="rowUpdate"
@row-save="rowSave"
@@ -21,93 +21,284 @@
@on-load="onLoad"
@tree-load="treeLoad">
<template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- v-if="permission.menu_delete"
- plain
- @click="handleDelete">鍒� 闄�
+ <el-button v-if="this.permission.menu.menu_delete"
+ icon="el-icon-delete"
+ plain
+ size="small"
+ type="danger"
+ @click="handleDelete">鍒� 闄�
</el-button>
- <el-button type="success"
- size="small"
- icon="el-icon-connection"
- plain
- @click="cloneMenuButton">浠庡叾浠栬彍鍗曞厠闅嗘寜閽�
+ <el-button v-if="this.permission.menu.menu_clone"
+ icon="el-icon-connection"
+ plain
+ size="small"
+ type="success"
+ @click="cloneMenuButton">浠庡叾浠栬彍鍗曞厠闅嗘寜閽�
</el-button>
</template>
- <template slot-scope="scope" slot="menu">
+ <template slot="menu" slot-scope="scope">
<el-button
- type="text"
+ v-if="userInfo.role_name.includes('admin') && scope.row.category === 1"
icon="el-icon-circle-plus-outline"
size="small"
+ type="text"
@click.stop="handleAdd(scope.row,scope.index)"
- v-if="userInfo.role_name.includes('admin') && scope.row.category === 1"
>鏂板瀛愰」
</el-button>
</template>
- <template slot-scope="{row}"
- slot="source">
+ <template slot="source"
+ slot-scope="{row}">
<div style="text-align:center">
<i :class="row.source"/>
</div>
</template>
</avue-crud>
<!-- 浠庡叾浠栬彍鍗曞厠闅嗘寜閽� -->
- <el-dialog title="浠庡叾浠栬彍鍗曞厠闅嗘寜閽�"
- append-to-body
- :visible.sync="cloneOtherMenuButtons.cloneButtonSettingBox"
- width="1100px"
- @close="cleanCloneSelections"
- style="height: 110vh; margin-top: -10vh;">
- <avue-crud :option="cloneOtherMenuButtons.cloneOption"
- :table-loading="cloneOtherMenuButtons.cloneLoading"
- :data="cloneOtherMenuButtons.cloneData"
- ref="cloneCrud"
- @search-change="searchCloneChange"
- @search-reset="searchCloneReset"
- @selection-change="selectionCloneChange"
- @row-click="clickRowCloneChange"
- @refresh-change="refreshCloneChange"
- @on-load="cloneOnLoad"
- @tree-load="treeLoad">
- <template slot-scope="{row}" slot="source">
- <div style="text-align:center">
- <i :class="row.source"/>
- </div>
- </template>
- </avue-crud>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="cloneButtonsToMenu">淇� 瀛�</el-button>
- <el-button @click="cloneOtherMenuButtons.cloneButtonSettingBox = false">鍙� 娑�</el-button>
- </div>
+ <el-dialog :visible.sync="cloneOtherMenuButtons.cloneButtonSettingBox"
+ append-to-body
+ style="height: 110vh; margin-top: -10vh;"
+ title="浠庡叾浠栬彍鍗曞厠闅嗘寜閽�"
+ width="1100px"
+ @close="cleanCloneSelections">
+ <avue-crud ref="cloneCrud"
+ :data="cloneOtherMenuButtons.cloneData"
+ :option="cloneOtherMenuButtons.cloneOption"
+ :table-loading="cloneOtherMenuButtons.cloneLoading"
+ @search-change="searchCloneChange"
+ @search-reset="searchCloneReset"
+ @selection-change="selectionCloneChange"
+ @row-click="clickRowCloneChange"
+ @refresh-change="refreshCloneChange"
+ @on-load="cloneOnLoad"
+ @tree-load="treeLoad">
+ <template slot="source" slot-scope="{row}">
+ <div style="text-align:center">
+ <i :class="row.source"/>
+ </div>
+ </template>
+ </avue-crud>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="cloneButtonsToMenu">淇� 瀛�</el-button>
+ <el-button @click="cloneOtherMenuButtons.cloneButtonSettingBox = false">鍙� 娑�</el-button>
+ </div>
</el-dialog>
</basic-container>
</template>
<script>
- import {getLazyList, remove, update, add, getMenu ,cloneMenuButton} from "@/api/system/menu";
- import {mapGetters} from "vuex";
- import iconList from "@/config/iconList";
- import func from "@/util/func";
- import {getMenuTree} from "@/api/system/menu";
+import {getLazyList, remove, update, add, getMenu, cloneMenuButton} from "@/api/system/menu";
+import {mapGetters} from "vuex";
+import iconList from "@/config/iconList";
+import func from "@/util/func";
+import {getMenuTree} from "@/api/system/menu";
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- selectionList: [],
- parentId: 0,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- option: {
+export default {
+ data() {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ selectionList: [],
+ parentId: 0,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ option: {
+ height: "auto",
+ lazy: true,
+ columnBtn: false,
+ tip: false,
+ simplePage: true,
+ searchShow: true,
+ searchMenuSpan: 6,
+ dialogWidth: "60%",
+ tree: true,
+ border: true,
+ index: true,
+ selection: true,
+ viewBtn: true,
+ menuWidth: 300,
+ dialogClickModal: false,
+ highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
+ column: [
+ {
+ label: "鑿滃崟鍚嶇О",
+ prop: "name",
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ彍鍗曞悕绉�",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "璺敱鍦板潃",
+ prop: "path",
+ rules: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ矾鐢卞湴鍧�",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "涓婄骇鑿滃崟",
+ prop: "parentId",
+ type: "tree",
+ dicData: [],
+ hide: true,
+ addDisabled: false,
+ props: {
+ label: "title"
+ },
+ rules: [
+ {
+ required: false,
+ message: "璇烽�夋嫨涓婄骇鑿滃崟",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "鑿滃崟鍥炬爣",
+ prop: "source",
+ type: "icon",
+ slot: true,
+ iconList: iconList,
+ rules: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ彍鍗曞浘鏍�",
+ trigger: "click"
+ }
+ ]
+ },
+ {
+ label: "鑿滃崟缂栧彿",
+ prop: "code",
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ彍鍗曠紪鍙�",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "鑿滃崟绫诲瀷",
+ prop: "category",
+ type: "radio",
+ dicData: [
+ {
+ label: "鑿滃崟",
+ value: 1
+ },
+ {
+ label: "鎸夐挳",
+ value: 2
+ }
+ ],
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "璇烽�夋嫨鑿滃崟绫诲瀷",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "鑿滃崟鍒悕",
+ prop: "alias",
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ彍鍗曞埆鍚�",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "鏂扮獥鍙�",
+ prop: "isOpen",
+ type: "radio",
+ disabled: false,
+ display: false,
+ dicData: [
+ {
+ label: "鍚�",
+ value: 1
+ },
+ {
+ label: "鏄�",
+ value: 2
+ }
+ ],
+ value: 1,
+ rules: [
+ {
+ required: true,
+ message: "璇烽�夋嫨鏂扮獥鍙f墦寮�",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "鑿滃崟鎺掑簭",
+ prop: "sort",
+ type: "number",
+ rules: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ彍鍗曟帓搴�",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "璺敱缂撳瓨",
+ prop: "keepAlive",
+ type: "switch",
+ dicData: [
+ {
+ label: "鍚�",
+ value: "false"
+ },
+ {
+ label: "鏄�",
+ value: "true"
+ }
+ ],
+ hide: true
+ },
+ {
+ label: "鑿滃崟澶囨敞",
+ prop: "remark",
+ type: "textarea",
+ span: 24,
+ minRows: 2,
+ hide: true
+ }
+ ]
+ },
+ data: [],
+ // 浠庡叾浠栬彍鍗曞厠闅嗘寜閽�
+ cloneOtherMenuButtons: {
+ cloneButtonSettingBox: false,
+ selectCloneButtons: [],
+ cloneOption: {
height: "auto",
+ menu: false,
+ header: false,
+ addBtn: false,
lazy: true,
- columnBtn:false,
tip: false,
simplePage: true,
searchShow: true,
@@ -117,7 +308,8 @@
border: true,
index: true,
selection: true,
- viewBtn: true,
+ columnBtn: false,
+ searchShowBtn: false,
menuWidth: 300,
dialogClickModal: false,
highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
@@ -126,42 +318,20 @@
label: "鑿滃崟鍚嶇О",
prop: "name",
search: true,
- rules: [
- {
- required: true,
- message: "璇疯緭鍏ヨ彍鍗曞悕绉�",
- trigger: "blur"
- }
- ]
},
{
label: "璺敱鍦板潃",
prop: "path",
- rules: [
- {
- required: true,
- message: "璇疯緭鍏ヨ矾鐢卞湴鍧�",
- trigger: "blur"
- }
- ]
},
{
label: "涓婄骇鑿滃崟",
prop: "parentId",
type: "tree",
- dicData: [],
hide: true,
addDisabled: false,
props: {
label: "title"
},
- rules: [
- {
- required: false,
- message: "璇烽�夋嫨涓婄骇鑿滃崟",
- trigger: "click"
- }
- ]
},
{
label: "鑿滃崟鍥炬爣",
@@ -169,25 +339,11 @@
type: "icon",
slot: true,
iconList: iconList,
- rules: [
- {
- required: true,
- message: "璇疯緭鍏ヨ彍鍗曞浘鏍�",
- trigger: "click"
- }
- ]
},
{
label: "鑿滃崟缂栧彿",
prop: "code",
search: true,
- rules: [
- {
- required: true,
- message: "璇疯緭鍏ヨ彍鍗曠紪鍙�",
- trigger: "blur"
- }
- ]
},
{
label: "鑿滃崟绫诲瀷",
@@ -203,33 +359,16 @@
value: 2
}
],
- hide: true,
- rules: [
- {
- required: true,
- message: "璇烽�夋嫨鑿滃崟绫诲瀷",
- trigger: "blur"
- }
- ]
},
{
label: "鑿滃崟鍒悕",
prop: "alias",
search: true,
- rules: [
- {
- required: true,
- message: "璇疯緭鍏ヨ彍鍗曞埆鍚�",
- trigger: "blur"
- }
- ]
},
{
label: "鏂扮獥鍙�",
prop: "isOpen",
type: "radio",
- disabled: false,
- display: false,
dicData: [
{
label: "鍚�",
@@ -240,26 +379,11 @@
value: 2
}
],
- value: 1,
- rules: [
- {
- required: true,
- message: "璇烽�夋嫨鏂扮獥鍙f墦寮�",
- trigger: "blur"
- }
- ]
},
{
label: "鑿滃崟鎺掑簭",
prop: "sort",
type: "number",
- rules: [
- {
- required: true,
- message: "璇疯緭鍏ヨ彍鍗曟帓搴�",
- trigger: "blur"
- }
- ]
},
{
label: "璺敱缂撳瓨",
@@ -275,7 +399,6 @@
value: "true"
}
],
- hide: true
},
{
label: "鑿滃崟澶囨敞",
@@ -283,220 +406,98 @@
type: "textarea",
span: 24,
minRows: 2,
- hide: true
}
]
},
- data: [],
- // 浠庡叾浠栬彍鍗曞厠闅嗘寜閽�
- cloneOtherMenuButtons: {
- cloneButtonSettingBox: false,
- selectCloneButtons: [],
- cloneOption: {
- height: "auto",
- menu: false,
- header:false,
- addBtn: false,
- lazy: true,
- tip: false,
- simplePage: true,
- searchShow: true,
- searchMenuSpan: 6,
- dialogWidth: "60%",
- tree: true,
- border: true,
- index: true,
- selection: true,
- columnBtn: false,
- searchShowBtn: false,
- menuWidth: 300,
- dialogClickModal: false,
- highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
- column: [
- {
- label: "鑿滃崟鍚嶇О",
- prop: "name",
- search: true,
- },
- {
- label: "璺敱鍦板潃",
- prop: "path",
- },
- {
- label: "涓婄骇鑿滃崟",
- prop: "parentId",
- type: "tree",
- hide: true,
- addDisabled: false,
- props: {
- label: "title"
- },
- },
- {
- label: "鑿滃崟鍥炬爣",
- prop: "source",
- type: "icon",
- slot: true,
- iconList: iconList,
- },
- {
- label: "鑿滃崟缂栧彿",
- prop: "code",
- search: true,
- },
- {
- label: "鑿滃崟绫诲瀷",
- prop: "category",
- type: "radio",
- dicData: [
- {
- label: "鑿滃崟",
- value: 1
- },
- {
- label: "鎸夐挳",
- value: 2
- }
- ],
- },
- {
- label: "鑿滃崟鍒悕",
- prop: "alias",
- search: true,
- },
- {
- label: "鏂扮獥鍙�",
- prop: "isOpen",
- type: "radio",
- dicData: [
- {
- label: "鍚�",
- value: 1
- },
- {
- label: "鏄�",
- value: 2
- }
- ],
- },
- {
- label: "鑿滃崟鎺掑簭",
- prop: "sort",
- type: "number",
- },
- {
- label: "璺敱缂撳瓨",
- prop: "keepAlive",
- type: "switch",
- dicData: [
- {
- label: "鍚�",
- value: "false"
- },
- {
- label: "鏄�",
- value: "true"
- }
- ],
- },
- {
- label: "鑿滃崟澶囨敞",
- prop: "remark",
- type: "textarea",
- span: 24,
- minRows: 2,
- }
- ]
- },
- cloneLoading: false,
- cloneData: [],
- cloneQuery: {},
- clonePage: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- }
- };
- },
- watch: {
- 'form.category'() {
- const category = func.toInt(this.form.category);
- this.$refs.crud.option.column.filter(item => {
- if (item.prop === "path") {
- item.rules[0].required = category === 1;
- }
- if (item.prop === 'isOpen') {
- item.disabled = category === 2;
- }
- });
- },
- },
- computed: {
- // mapGetters: 杈呭姪鍑芥暟浠呬粎灏唖tore 涓殑 getter 鏄犲皠鍒板眬閮ㄨ绠楀睘鎬�
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.menu_add, false),
- viewBtn: this.vaildData(this.permission.menu_view, false),
- delBtn: this.vaildData(this.permission.menu_delete, false),
- editBtn: this.vaildData(this.permission.menu_edit, false)
- };
-
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
+ cloneLoading: false,
+ cloneData: [],
+ cloneQuery: {},
+ clonePage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
}
+ };
+ },
+ watch: {
+ 'form.category'() {
+ const category = func.toInt(this.form.category);
+ this.$refs.crud.option.column.filter(item => {
+ if (item.prop === "path") {
+ item.rules[0].required = category === 1;
+ }
+ if (item.prop === 'isOpen') {
+ item.disabled = category === 2;
+ }
+ });
},
- methods: {
- /** 浠庡叾浠栬彍鍗曞厠闅嗘寜閽� */
- cloneMenuButton(){
- if(this.selectionList.length != 1 || this.selectionList[0].category === 2){
- this.$message({
- type: "warning",
- message: "璇烽�夋嫨涓�鏉¢潪鎸夐挳绫诲瀷鐨勬暟鎹�!"
- });
- return;
- }
- this.cloneOtherMenuButtons.cloneButtonSettingBox = true;
- },
- /** 鍏嬮殕鎸夐挳鍒伴�変腑鐨勮彍鍗曚笅 */
- cloneButtonsToMenu(){
- if(this.selectionList.length != 1){
- this.$message({
- type: "warning",
- message: "瑕佸厠闅嗘寜閽殑鑿滃崟淇℃伅宸蹭涪澶憋紝璇烽噸鏂伴�夋嫨!"
- });
- return;
- }
- if(this.cloneOtherMenuButtons.selectCloneButtons.length <= 0){
- this.$message({
- type: "warning",
- message: "璇烽�夋嫨瑕佸厠闅嗘寜閽暟鎹�!"
- });
- return;
- }
- this.$confirm("纭畾灏嗛�変腑鐨勬寜閽厠闅嗗埌銆�"+this.selectionList[0].name+"銆戣彍鍗曚腑?", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "info"
- })
+ },
+ computed: {
+ // mapGetters: 杈呭姪鍑芥暟浠呬粎灏唖tore 涓殑 getter 鏄犲皠鍒板眬閮ㄨ绠楀睘鎬�
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.menu.menu_add, false),
+ viewBtn: this.vaildData(this.permission.menu.menu_view, false),
+ delBtn: this.vaildData(this.permission.menu.menu_delete, false),
+ editBtn: this.vaildData(this.permission.menu.menu_edit, false)
+ };
+
+ },
+ ids() {
+ let ids = [];
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ }
+ },
+ methods: {
+ /** 浠庡叾浠栬彍鍗曞厠闅嗘寜閽� */
+ cloneMenuButton() {
+ if (this.selectionList.length != 1 || this.selectionList[0].category === 2) {
+ this.$message({
+ type: "warning",
+ message: "璇烽�夋嫨涓�鏉¢潪鎸夐挳绫诲瀷鐨勬暟鎹�!"
+ });
+ return;
+ }
+ this.cloneOtherMenuButtons.cloneButtonSettingBox = true;
+ },
+ /** 鍏嬮殕鎸夐挳鍒伴�変腑鐨勮彍鍗曚笅 */
+ cloneButtonsToMenu() {
+ if (this.selectionList.length != 1) {
+ this.$message({
+ type: "warning",
+ message: "瑕佸厠闅嗘寜閽殑鑿滃崟淇℃伅宸蹭涪澶憋紝璇烽噸鏂伴�夋嫨!"
+ });
+ return;
+ }
+ if (this.cloneOtherMenuButtons.selectCloneButtons.length <= 0) {
+ this.$message({
+ type: "warning",
+ message: "璇烽�夋嫨瑕佸厠闅嗘寜閽暟鎹�!"
+ });
+ return;
+ }
+ this.$confirm("纭畾灏嗛�変腑鐨勬寜閽厠闅嗗埌銆�" + this.selectionList[0].name + "銆戣彍鍗曚腑?", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "info"
+ })
.then(() => {
let buttonIds = [];
let flag = true;
- this.cloneOtherMenuButtons.selectCloneButtons.forEach(function(item) {
- if(item.category != 2){
+ this.cloneOtherMenuButtons.selectCloneButtons.forEach(function (item) {
+ if (item.category != 2) {
flag = false;
- }else {
+ } else {
buttonIds.push(item.id);
}
});
// 閫夋嫨浜嗛潪鎸夐挳绫诲瀷鐨勬暟鎹�
- if(!flag){
+ if (!flag) {
this.$message({
type: "warning",
message: "鍙兘閫夋嫨鎸夐挳绫诲瀷鐨勮〃鏍艰!"
@@ -504,105 +505,105 @@
return;
}
// console.log(buttonIds);
- return cloneMenuButton({"menuId":this.selectionList[0].id,"buttonIds": buttonIds});
+ return cloneMenuButton({"menuId": this.selectionList[0].id, "buttonIds": buttonIds});
})
.then(res => {
this.$message({
- type: res.data.success ? "success":"error",
+ type: res.data.success ? "success" : "error",
message: res.data.msg,
});
this.cloneOtherMenuButtons.cloneButtonSettingBox = false;
// 鏁版嵁鍥炶皟杩涜鍒锋柊
this.onLoad(this.page);
});
- },
- /** 閫変腑琚厠闅嗙殑鎸夐挳鏃惰Е鍙� */
- selectionCloneChange(list) {
- this.cloneOtherMenuButtons.selectCloneButtons = list;
- this.$refs.cloneCrud.setCurrentRow(this.cloneOtherMenuButtons.selectCloneButtons[list.length-1]);
- },
- clickRowCloneChange(row){
- this.cloneOtherMenuButtons.selectCloneButtons.push(row);
- this.$refs.cloneCrud.setCurrentRow(row);
- this.$refs.cloneCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
- },
- /** 鍏抽棴瀵硅瘽妗嗘椂娓呯┖閫変腑鐨勫垪琛� */
- cleanCloneSelections(){
- this.cloneOtherMenuButtons.selectCloneButtons = [];
- this.$refs.cloneCrud.toggleSelection();
- },
- cloneOnLoad(page, params = {}) {
- this.cloneOtherMenuButtons.cloneLoading = true;
- getLazyList(this.parentId, Object.assign(params, this.cloneOtherMenuButtons.cloneQuery)).then(res => {
- this.cloneOtherMenuButtons.cloneData = res.data.data;
- this.cloneOtherMenuButtons.cloneLoading = false;
- });
- },
- searchCloneChange(params, done){
- this.cloneOtherMenuButtons.cloneQuery = params;
- this.parentId = '';
- this.cloneOtherMenuButtons.clonePage.currentPage = 1;
- this.cloneOnLoad(this.cloneOtherMenuButtons.clonePage, params);
- done();
- },
- searchCloneReset(){
- this.cloneOtherMenuButtons.cloneQuery = {};
- this.parentId = 0;
- this.cloneOnLoad(this.cloneOtherMenuButtons.clonePage);
- },
- refreshCloneChange(){
- this.onLoad(this.cloneOtherMenuButtons.clonePage, this.cloneOtherMenuButtons.cloneQuery);
- },
+ },
+ /** 閫変腑琚厠闅嗙殑鎸夐挳鏃惰Е鍙� */
+ selectionCloneChange(list) {
+ this.cloneOtherMenuButtons.selectCloneButtons = list;
+ this.$refs.cloneCrud.setCurrentRow(this.cloneOtherMenuButtons.selectCloneButtons[list.length - 1]);
+ },
+ clickRowCloneChange(row) {
+ this.cloneOtherMenuButtons.selectCloneButtons.push(row);
+ this.$refs.cloneCrud.setCurrentRow(row);
+ this.$refs.cloneCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+ },
+ /** 鍏抽棴瀵硅瘽妗嗘椂娓呯┖閫変腑鐨勫垪琛� */
+ cleanCloneSelections() {
+ this.cloneOtherMenuButtons.selectCloneButtons = [];
+ this.$refs.cloneCrud.toggleSelection();
+ },
+ cloneOnLoad(page, params = {}) {
+ this.cloneOtherMenuButtons.cloneLoading = true;
+ getLazyList(this.parentId, Object.assign(params, this.cloneOtherMenuButtons.cloneQuery)).then(res => {
+ this.cloneOtherMenuButtons.cloneData = res.data.data;
+ this.cloneOtherMenuButtons.cloneLoading = false;
+ });
+ },
+ searchCloneChange(params, done) {
+ this.cloneOtherMenuButtons.cloneQuery = params;
+ this.parentId = '';
+ this.cloneOtherMenuButtons.clonePage.currentPage = 1;
+ this.cloneOnLoad(this.cloneOtherMenuButtons.clonePage, params);
+ done();
+ },
+ searchCloneReset() {
+ this.cloneOtherMenuButtons.cloneQuery = {};
+ this.parentId = 0;
+ this.cloneOnLoad(this.cloneOtherMenuButtons.clonePage);
+ },
+ refreshCloneChange() {
+ this.onLoad(this.cloneOtherMenuButtons.clonePage, this.cloneOtherMenuButtons.cloneQuery);
+ },
- initData() {
- getMenuTree().then(res => {
- const column = this.findObject(this.option.column, "parentId");
- column.dicData = res.data.data;
- });
- },
- handleAdd(row) {
- this.parentId = row.id;
+ initData() {
+ getMenuTree().then(res => {
const column = this.findObject(this.option.column, "parentId");
- column.value = row.id;
- column.addDisabled = true;
- this.$refs.crud.rowAdd();
- },
- rowSave(row, done, loading) {
- add(row).then((res) => {
- // 鑾峰彇鏂板鏁版嵁鐨勭浉鍏冲瓧娈�
- const data = res.data.data;
- row.id = data.id;
- this.$message({
- type: "success",
- message: "鎿嶄綔鎴愬姛!"
- });
- // 鏁版嵁鍥炶皟杩涜鍒锋柊
- done(row);
- }, error => {
- window.console.log(error);
- loading();
+ column.dicData = res.data.data;
+ });
+ },
+ handleAdd(row) {
+ this.parentId = row.id;
+ const column = this.findObject(this.option.column, "parentId");
+ column.value = row.id;
+ column.addDisabled = true;
+ this.$refs.crud.rowAdd();
+ },
+ rowSave(row, done, loading) {
+ add(row).then((res) => {
+ // 鑾峰彇鏂板鏁版嵁鐨勭浉鍏冲瓧娈�
+ const data = res.data.data;
+ row.id = data.id;
+ this.$message({
+ type: "success",
+ message: "鎿嶄綔鎴愬姛!"
});
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.$message({
- type: "success",
- message: "鎿嶄綔鎴愬姛!"
- });
- // 鏁版嵁鍥炶皟杩涜鍒锋柊
- this.onLoad()
- done(row);
- }, error => {
- window.console.log(error);
- loading();
+ // 鏁版嵁鍥炶皟杩涜鍒锋柊
+ done(row);
+ }, error => {
+ window.console.log(error);
+ loading();
+ });
+ },
+ rowUpdate(row, index, done, loading) {
+ update(row).then(() => {
+ this.$message({
+ type: "success",
+ message: "鎿嶄綔鎴愬姛!"
});
- },
- rowDel(row, index, done) {
- this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
+ // 鏁版嵁鍥炶皟杩涜鍒锋柊
+ this.onLoad()
+ done(row);
+ }, error => {
+ window.console.log(error);
+ loading();
+ });
+ },
+ rowDel(row, index, done) {
+ this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
.then(() => {
return remove(row.id);
})
@@ -614,103 +615,103 @@
// 鏁版嵁鍥炶皟杩涜鍒锋柊
done(row);
});
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
- return;
- }
- this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
+ },
+ handleDelete() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ return;
+ }
+ this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(this.ids);
})
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- // 鍒锋柊琛ㄦ牸鏁版嵁骞堕噸杞�
- this.data = [];
- this.parentId = 0;
- this.$refs.crud.refreshTable();
- this.$refs.crud.toggleSelection();
- // 琛ㄦ牸鏁版嵁閲嶈浇
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "鎿嶄綔鎴愬姛!"
- });
+ .then(() => {
+ // 鍒锋柊琛ㄦ牸鏁版嵁骞堕噸杞�
+ this.data = [];
+ this.parentId = 0;
+ this.$refs.crud.refreshTable();
+ this.$refs.crud.toggleSelection();
+ // 琛ㄦ牸鏁版嵁閲嶈浇
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "鎿嶄綔鎴愬姛!"
});
- },
- searchReset() {
- this.query = {};
- this.parentId = 0;
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.parentId = '';
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- clickRowChange(row){
- this.$refs.crud.toggleSelection();
- this.selectionList = row;
- this.$refs.crud.setCurrentRow(row);
- this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
- },
- selectionChange(list) {
- this.selectionList = list;
- this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- beforeOpen(done, type) {
- if (["add", "edit"].includes(type)) {
- this.initData();
- }
- if (["edit", "view"].includes(type)) {
- getMenu(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- beforeClose(done) {
- this.parentId = "";
- const column = this.findObject(this.option.column, "parentId");
- column.value = "";
- column.addDisabled = false;
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
- this.data = res.data.data;
- this.loading = false;
- this.selectionClear();
});
- },
- treeLoad(tree, treeNode, resolve) {
- const parentId = tree.id;
- getLazyList(parentId).then(res => {
- resolve(res.data.data);
+ },
+ searchReset() {
+ this.query = {};
+ this.parentId = 0;
+ this.onLoad(this.page);
+ },
+ searchChange(params, done) {
+ this.query = params;
+ this.parentId = '';
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ clickRowChange(row) {
+ this.$refs.crud.toggleSelection();
+ this.selectionList = row;
+ this.$refs.crud.setCurrentRow(row);
+ this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ this.$refs.crud.setCurrentRow(this.selectionList[list.length - 1]);
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.crud.toggleSelection();
+ },
+ beforeOpen(done, type) {
+ if (["add", "edit"].includes(type)) {
+ this.initData();
+ }
+ if (["edit", "view"].includes(type)) {
+ getMenu(this.form.id).then(res => {
+ this.form = res.data.data;
});
}
+ done();
+ },
+ beforeClose(done) {
+ this.parentId = "";
+ const column = this.findObject(this.option.column, "parentId");
+ column.value = "";
+ column.addDisabled = false;
+ done();
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
+ this.data = res.data.data;
+ this.loading = false;
+ this.selectionClear();
+ });
+ },
+ treeLoad(tree, treeNode, resolve) {
+ const parentId = tree.id;
+ getLazyList(parentId).then(res => {
+ resolve(res.data.data);
+ });
}
- };
+ }
+};
</script>
<style>
--
Gitblit v1.9.3