From 41fc3d69e920ca286591352f7f6d03ccaad1e794 Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期五, 26 九月 2025 15:42:46 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao --- admin/.env | 2 admin/src/views/login.vue | 2 admin/src/views/platform/set/group.vue | 4 admin/src/views/vehicle/category.vue | 4 server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java | 2 admin/src/views/vehicle/components/OperaCategoryWindow.vue | 4 admin/src/views/system/menu.vue | 47 +++++++- admin/src/components/common/MenuSelect.vue | 20 +++ admin/src/store/index.js | 16 +++ admin/src/views/business/inoutRecord.vue | 4 server/system_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java | 2 server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java | 2 admin/src/components/common/CommonHeader.vue | 77 +++++++------- admin/src/components/system/menu/OperaMenuWindow.vue | 10 ++ server/system_service/src/main/resources/mappers/SystemMenuMapper.xml | 11 +- admin/public/index.html | 4 admin/src/views/platform/platformGroup.vue | 4 admin/src/components/business/OperaPlatformGroupWindow.vue | 4 admin/src/main.js | 26 +++- admin/src/views/business/userActionOther.vue | 2 20 files changed, 167 insertions(+), 80 deletions(-) diff --git a/admin/.env b/admin/.env index 5d45627..95e6320 100644 --- a/admin/.env +++ b/admin/.env @@ -10,4 +10,4 @@ VUE_APP_API_PREFIX = '/gateway_interface' # 椤圭洰鍚嶇О -VUE_APP_TITLE = '瀹夋嘲鏅烘収鐗╂祦鍥尯绯荤粺' +VUE_APP_TITLE = '鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺' diff --git a/admin/public/index.html b/admin/public/index.html index cd3ecef..4dba259 100644 --- a/admin/public/index.html +++ b/admin/public/index.html @@ -5,11 +5,11 @@ <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <link rel="icon" href="<%= BASE_URL %>favicon.ico"> - <title>瀹夋嘲鏅烘収鐗╂祦鍥尯绯荤粺</title> + <title>鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺</title> </head> <body> <noscript> - <strong>We're sorry but 瀹夋嘲鏅烘収鐗╂祦鍥尯绯荤粺 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> + <strong>We're sorry but 鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> </noscript> <div id="app"></div> <!-- built files will be auto injected --> diff --git a/admin/src/components/business/OperaPlatformGroupWindow.vue b/admin/src/components/business/OperaPlatformGroupWindow.vue index 96533f5..01bedc9 100644 --- a/admin/src/components/business/OperaPlatformGroupWindow.vue +++ b/admin/src/components/business/OperaPlatformGroupWindow.vue @@ -18,8 +18,8 @@ </el-form-item> <el-form-item label="涓氬姟绫诲瀷锛�" prop="type"> <el-radio-group v-model="form.type" > - <el-radio :label="0" >瀹夋嘲鐗╂祦鍗歌揣</el-radio> - <el-radio :label="1" >瀹夋嘲鐗╂祦瑁呰揣</el-radio> + <el-radio :label="0" >鐗╂祦鍗歌揣</el-radio> + <el-radio :label="1" >鐗╂祦瑁呰揣</el-radio> <el-radio :label="2" >甯傚叕鍙稿嵏璐�</el-radio> </el-radio-group> </el-form-item> diff --git a/admin/src/components/common/CommonHeader.vue b/admin/src/components/common/CommonHeader.vue index 2e95744..2857921 100644 --- a/admin/src/components/common/CommonHeader.vue +++ b/admin/src/components/common/CommonHeader.vue @@ -4,19 +4,10 @@ <div class="logo"> <div class="title">{{ title }}</div> <div class="list"> - <div class="item active"> - <div>鏈嶅姟涓績</div> - <div class="linellae"></div> - </div> - <div class="item" v-for="(item,index) in topMenuList.list" :key="item.id" @click="getHeaderNav(item)" :index="index">{{item.label}}</div> -<!-- <div class="item" @click="getHeaderNav('0')">瀹夐槻涓績</div> - <div class="item" @click="getHeaderNav('1')">娑堟帶涓績</div> - <div class="item" @click="getHeaderNav('2')">鑳界涓績</div> - <div class="item" @click="getHeaderNav('7')">鍚庡嫟涓績</div> - <div class="item" @click="getHeaderNav('3')">椹鹃┒鑸�</div>--> - <!-- <div class="item" @click="handleTest">娴嬭瘯</div> --> + <div :class="index==currentIndex?'item active':'item'" v-for="(item,index) in topMenuList.list" :key="item.id" @click="getHeaderNav(item,index)" :index="index">{{item.label}} + <div v-if="index==currentIndex" class="linellae"></div> + </div> </div> - <!-- <div class="title-en">Diagnosis of Intelligent Manufacturing Integrated Service Platfrom</div> --> </div> <div class="user"> <el-dropdown v-if="isLogined" trigger="click"> @@ -75,6 +66,7 @@ return { title: process.env.VUE_APP_TITLE, headerNavData: {}, + currentIndex: 0, visible: { // 淇敼瀵嗙爜 changePwd: false @@ -134,7 +126,7 @@ } }, methods: { - ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo']), + ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo', 'setTopMenuCurrent']), // 淇敼瀵嗙爜 changePwd () { this.visible.changePwd = true @@ -162,11 +154,16 @@ } } }, - getHeaderNav (item) { - if (item.url && item.url === 'goHKAF' && item.params != null) { - this.getHKAFHeaderNav(item.params) - } else if (item.url && item.url.indexOf('http') === 0) { - window.open(item.url, '_blank') + getHeaderNav (item,index) { + this.currentIndex = index + if(item.linkType === 0){ + this.setTopMenuCurrent(item) + }else{ + if (item.url && item.url === 'goHKAF' && item.params != null) { + this.getHKAFHeaderNav(item.params) + } else if (item.url && item.url.indexOf('http') === 0) { + window.open(item.url, '_blank') + } } }, getHKAFHeaderNav (type) { @@ -295,31 +292,32 @@ .list { flex: 1; - display: flex; - align-items: center; margin-left: 60px; - - .item { - margin-right: 40px; - font-size: 16px; - font-weight: 400; + margin-top: 10px; display: flex; - flex-direction: column; align-items: center; - justify-content: flex-start; - height: 40px; - cursor: pointer; + .item { + margin-right: 40px; + font-size: 16px; + font-weight: 400; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + height: 40px; + cursor: pointer; - .linellae { - width: 64px; - height: 2px; - background: #FFFFFF; + .linellae { + width: 64px; + height: 2px; + background: #FFFFFF; + } } - } - .active { - font-weight: 500; - } + .active { + font-weight: 500; + } + } .header { @@ -344,7 +342,8 @@ align-items: center; .title { - width: 240px; + font-size: 18px; + width: 320px; } // display: inline; @@ -356,7 +355,7 @@ } .user { - width: 212px; + width: 152px; box-sizing: border-box; height: 56px; padding-right: 25px; diff --git a/admin/src/components/common/MenuSelect.vue b/admin/src/components/common/MenuSelect.vue index b01748f..5373411 100644 --- a/admin/src/components/common/MenuSelect.vue +++ b/admin/src/components/common/MenuSelect.vue @@ -36,7 +36,8 @@ default: false }, // 闇�琚帓闄ょ殑閮ㄩ棬ID - excludeId: {} + excludeId: {}, + topMenuId: {} }, data () { return { @@ -45,6 +46,9 @@ }, watch: { excludeId () { + this.fetchData() + }, + topMenuId () { this.fetchData() } }, @@ -64,7 +68,17 @@ fetchTree() .then(records => { this.data = [] - this.__fillData(this.data, records) + var res = []; + if(this.topMenuId){ + records.forEach(item => { + if(item.id == this.topMenuId){ + res = item.children + } + }) + }else{ + res = records + } + this.__fillData(this.data, res) }) .catch(e => { this.$tip.apiFailed(e) @@ -74,7 +88,7 @@ // 濉厖鑿滃崟鏍� __fillData (list, pool) { for (const menu of pool) { - if (menu.id === this.excludeId) { + if (menu.id === this.excludeId || menu.linkType ===1) { continue } const menuNode = { diff --git a/admin/src/components/system/menu/OperaMenuWindow.vue b/admin/src/components/system/menu/OperaMenuWindow.vue index 73505e7..e786d69 100644 --- a/admin/src/components/system/menu/OperaMenuWindow.vue +++ b/admin/src/components/system/menu/OperaMenuWindow.vue @@ -20,6 +20,12 @@ <el-form-item label="鎼哄甫鍙傛暟" prop="params"> <el-input v-model="form.params" placeholder="璇疯緭鍏ユ惡甯﹀弬鏁�" v-trim maxlength="200"/> </el-form-item> + <el-form-item label="鑿滃崟绫诲瀷" prop="linkType" > + <el-radio-group v-model="form.linkType"> + <el-radio :label="0" :value="0" >鍐呴儴鑿滃崟</el-radio> + <el-radio :label="1" :value="1" >澶栭儴绯荤粺</el-radio> + </el-radio-group> + </el-form-item> <el-form-item label="鍥炬爣" prop="icon" class="form-item-icon" v-if="form.type !== 1"> <el-radio-group v-model="form.icon"> <el-radio :label="icon" v-for="icon in icons" :key="icon"> @@ -59,12 +65,16 @@ path: '', icon: '', type: '', + linkType: 0, remark: '' }, // 楠岃瘉瑙勫垯 rules: { name: [ { required: true, message: '璇疯緭鍏ヨ彍鍗曞悕绉�' } + ], + linkType: [ + { required: true, message: '璇疯緭鍏ヨ彍鍗曞悕绉�' } ] } } diff --git a/admin/src/main.js b/admin/src/main.js index 0ad3f03..83b2a5e 100644 --- a/admin/src/main.js +++ b/admin/src/main.js @@ -37,7 +37,7 @@ router, store, computed: { - ...mapState(['userInfo', 'homePage']) + ...mapState(['userInfo', 'homePage','topMenuCurrent','menuData']) }, watch: { async userInfo () { @@ -48,7 +48,7 @@ } }, methods: { - ...mapMutations(['switchCollapseMenu', 'setHomePage']), + ...mapMutations(['switchCollapseMenu', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent']), // 鍒濆鍖栨湰鍦伴厤缃� initLocalConfig () { // 鑿滃崟鐘舵�侀厤缃� @@ -74,15 +74,27 @@ await fetchMenuTree() .then(allmenus => { // 娣诲姞鑿滃崟 - var menus = allmenus.filter(item => { - return item.type !== 1 - }) var topList = allmenus.filter(item => { return item.type === 1 }) - console.log(topList) - storeMenus.push.apply(storeMenus, menus) storeTopMenus.push.apply(storeTopMenus, topList) + var topCurrent = null + topList.forEach(item => { + if (item.linkType === 0 && topCurrent == null) { + topCurrent = item + } + }) + this.setTopMenuCurrent(topCurrent) + // console.log(topList) + // var menus = [] + // topList.forEach(item => { + // console.log(topCurrent.id, item.id) + // if (item.id == this.topMenuCurrent.id) { + // menus = item.children + // } + // }) + console.log('menus', this.menuData.list) + storeMenus.push.apply(storeMenus, this.menuData.list) // 娣诲姞璺敱 this.__addRouters(storeMenus) // 404 diff --git a/admin/src/store/index.js b/admin/src/store/index.js index 6825b73..f76eee9 100644 --- a/admin/src/store/index.js +++ b/admin/src/store/index.js @@ -16,6 +16,8 @@ // 鏄惁鏀惰捣 collapse: false }, + topMenuCurrent: { + }, topMenuList: { // 鑿滃崟鍒楄〃 list: [], @@ -56,8 +58,22 @@ setHomePage (state, homePage) { state.homePage = homePage }, + // 璁剧疆棣栭〉璺敱淇℃伅 + setTopMenuCurrent (state, current) { + console.log("setTopMenuCurrent",current) + if(current.id !== state.topMenuCurrent.id){ + state.topMenuList.list.forEach(item => { + console.log(item.id, item.id) + if (current.id == item.id) { + state.topMenuCurrent = current + state.menuData.list = item.children + } + }) + } + }, // 閲嶇疆鑿滃崟 resetMenus: (state) => { + state.topMenuId=null; state.menuData.list = [] }, // tags diff --git a/admin/src/views/business/inoutRecord.vue b/admin/src/views/business/inoutRecord.vue index 6b0c029..444240c 100644 --- a/admin/src/views/business/inoutRecord.vue +++ b/admin/src/views/business/inoutRecord.vue @@ -162,8 +162,8 @@ { key: 1, name: '澶栧崗杩愯緭杞﹁締' }, { key: 2, name: '甯傚叕鍙稿嵏璐ц溅杈�' }, { key: 3, name: '鍔犲伐鐑熷嵏璐ц溅杈�' }, - { key: 4, name: '瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅' }, - { key: 5, name: '瀹夋嘲鐗╂祦璐ц繍杞﹁締' }, + { key: 4, name: '鐗╂祦鍏姟鐢ㄨ溅' }, + { key: 5, name: '鐗╂祦璐ц繍杞﹁締' }, { key: 6, name: '鏈煡杞﹁締' } ] } diff --git a/admin/src/views/business/userActionOther.vue b/admin/src/views/business/userActionOther.vue index fa5f58e..952c42e 100644 --- a/admin/src/views/business/userActionOther.vue +++ b/admin/src/views/business/userActionOther.vue @@ -12,7 +12,7 @@ <el-option label="鍒犻櫎璁垮鎶ュ" :value="19"></el-option> <el-option label="鍒犻櫎鏈堝彴棰勭害浠诲姟" :value="20"></el-option> <el-option label="鍒犻櫎鍏溅鐢宠" :value="21"></el-option> - <el-option label="鍒犻櫎瀹夋嘲鐗╂祦浣滀笟浠诲姟" :value="22"></el-option> + <el-option label="鍒犻櫎鐗╂祦浣滀笟浠诲姟" :value="22"></el-option> <el-option label="鍒犻櫎闅愭偅闅忔墜鎷�" :value="23"></el-option> </el-select> </el-form-item> diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue index 6cdf919..765d208 100644 --- a/admin/src/views/login.vue +++ b/admin/src/views/login.vue @@ -3,7 +3,7 @@ <img src="@/assets/images/bg@2x.png" class="main_bg" alt=""> <div class="login_wrap"> <div class="login_img"> - <div class="h2">瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃</div> + <div class="h2">鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺</div> <div class="h3">鏅烘収鐗╂祦鍥尯瀹夋秷涓�浣撳寲绯荤粺</div> </div> <div class="form_wrap"> diff --git a/admin/src/views/platform/platformGroup.vue b/admin/src/views/platform/platformGroup.vue index 286e32e..b055575 100644 --- a/admin/src/views/platform/platformGroup.vue +++ b/admin/src/views/platform/platformGroup.vue @@ -22,8 +22,8 @@ </el-table-column> <el-table-column prop="type" label="涓氬姟绫诲瀷" align="center" min-width="100px"> <template scope="{row}"> - <span v-if="row.type == 0">瀹夋嘲鐗╂祦鍗歌揣</span> - <span v-if="row.type == 1">瀹夋嘲鐗╂祦瑁呰揣</span> + <span v-if="row.type == 0">鐗╂祦鍗歌揣</span> + <span v-if="row.type == 1">鐗╂祦瑁呰揣</span> <span v-if="row.type == 2">甯傚叕鍙稿嵏璐�</span> </template> </el-table-column> diff --git a/admin/src/views/platform/set/group.vue b/admin/src/views/platform/set/group.vue index 1951211..f9e7970 100644 --- a/admin/src/views/platform/set/group.vue +++ b/admin/src/views/platform/set/group.vue @@ -60,8 +60,8 @@ </el-form-item> <el-form-item label="鍏宠仈鍏ュ洯浜嬬敱"> <el-checkbox-group v-model="param.checkList"> - <el-checkbox label="0">瀹夋嘲瑁呰揣</el-checkbox> - <el-checkbox label="0">瀹夋嘲鍗歌揣</el-checkbox> + <el-checkbox label="0">瑁呰揣</el-checkbox> + <el-checkbox label="0">鍗歌揣</el-checkbox> <el-checkbox label="0">甯傚叕鍙稿嵏璐�</el-checkbox> </el-checkbox-group> </el-form-item> diff --git a/admin/src/views/system/menu.vue b/admin/src/views/system/menu.vue index 44e1bac..849b26e 100644 --- a/admin/src/views/system/menu.vue +++ b/admin/src/views/system/menu.vue @@ -11,7 +11,7 @@ <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['system:menu:create', 'system:menu:delete', 'system:menu:sort']"> - <li><el-button type="primary" @click="$refs.operaMenuWindow.open(activeGroup==0?'鏂板缓涓�绾ц彍鍗�':'鏂板缓椤堕儴瀵艰埅鑿滃崟',null,null,activeGroup)" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li> + <li><el-button type="primary" @click="$refs.operaMenuWindow.open(activeType==0?'鏂板缓涓�绾ц彍鍗�':'鏂板缓椤堕儴瀵艰埅鑿滃崟',null,null,activeType)" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li> <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:menu:delete']">鍒犻櫎</el-button></li> <li><el-button @click="sort('top')" :loading="isWorking.sort" icon="el-icon-sort-up" v-permissions="['system:menu:sort']">涓婄Щ</el-button></li> <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['system:menu:sort']">涓嬬Щ</el-button></li> @@ -35,9 +35,14 @@ <template v-else>鏈缃�</template> </template> </el-table-column> - <el-table-column prop="path" label="璁块棶璺緞" show-tooltip-when-overflow min-width="220px"></el-table-column> + <el-table-column prop="path" label="璁块棶璺緞" show-tooltip-when-overflow min-width="200px"></el-table-column> <el-table-column prop="params" label="鍙傛暟" min-width="120px"></el-table-column> - <el-table-column prop="remark" label="澶囨敞" min-width="120px"></el-table-column> + <el-table-column prop="linkType" label="鑿滃崟绫诲瀷" min-width="80px"> + <template slot-scope="{row}"> + {{row.linkType == 1 ? '澶栭儴绯荤粺' : '鍐呴儴绯荤粺'}} + </template> + </el-table-column> + <el-table-column prop="remark" label="澶囨敞" min-width="150px" show-tooltip-when-overflow></el-table-column> <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px"> <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template> </el-table-column> @@ -58,8 +63,8 @@ fixed="right" > <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.operaMenuWindow.open('缂栬緫鑿滃崟', row,null,activeGroup)" v-permissions="['system:menu:update']">缂栬緫</el-button> - <el-button v-if="activeGroup !== 1" type="text" icon="el-icon-plus" @click="$refs.operaMenuWindow.open('鏂板缓瀛愯彍鍗�', null, row,activeGroup)" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button> + <el-button type="text" icon="el-icon-edit" @click="$refs.operaMenuWindow.open('缂栬緫鑿滃崟', row,null,activeType)" v-permissions="['system:menu:update']">缂栬緫</el-button> + <el-button v-if="activeGroup !== 1" type="text" icon="el-icon-plus" @click="$refs.operaMenuWindow.open('鏂板缓瀛愯彍鍗�', null, row,activeType)" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button> <el-button v-if="!row.fixed" type="text" icon="el-icon-delete" @click="deleteById(row)" v-permissions="['system:menu:delete']">鍒犻櫎</el-button> </template> </el-table-column> @@ -82,8 +87,10 @@ data () { return { // 鏄惁姝e湪澶勭悊涓� - activeGroup: 0, - groupList:[{id:0,name: "鏈嶅姟涓績鑿滃崟"},{id:1,name: "椤堕儴瀵艰埅閰嶇疆"}], + activeGroup: -1, + activeType: 1, + topMenuId:null, + groupList:[{id:-1,name: "椤堕儴瀵艰埅閰嶇疆",type:1},{id:-2,name: "绯荤粺宸︿晶鑿滃崟",type:0}], isWorking: { sort: false } @@ -92,14 +99,36 @@ methods: { groupClick(item){ this.activeGroup = item.id + this.activeType = item.type this.handlePageChange(); }, // 鏌ヨ鏁版嵁 handlePageChange () { this.isWorking.search = true - fetchTree({type: this.activeGroup}) + fetchTree({type: this.activeType == 1?this.activeType:null}) .then(records => { - this.tableData.list = records + if(this.activeType === 1){ + this.tableData.list = records + this.groupList = [{id:-1,name: "椤堕儴瀵艰埅閰嶇疆",type:1}] + var tops = [] + this.tableData.list.forEach(item=>{ + if(item.linkType !== 1){ + tops.push({id:item.id,name: item.name,type:0}) + } + }) + if(tops.length){ + this.groupList.push(...tops) + }else { + this.groupList.push({id:0,name: "绯荤粺宸︿晶鑿滃崟",type:0}) + } + }else{ + //濡傛灉鏄唴閮ㄨ彍鍗� + records.forEach(item =>{ + if(item.id === this.activeGroup){ + this.tableData.list =item.children + } + }) + } }) .catch(e => { this.$tip.apiFailed(e) diff --git a/admin/src/views/vehicle/category.vue b/admin/src/views/vehicle/category.vue index ced35fd..0d1f740 100644 --- a/admin/src/views/vehicle/category.vue +++ b/admin/src/views/vehicle/category.vue @@ -30,8 +30,8 @@ <span v-else-if="row.bizType ==1">澶栧崗杩愯緭杞﹁締</span> <span v-else-if="row.bizType ==2">甯傚叕鍙稿嵏璐ц溅杈�</span> <span v-else-if="row.bizType ==3">鍔犲伐鐑熷嵏璐ц溅杈�</span> - <span v-else-if="row.bizType ==4">瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅</span> - <span v-else-if="row.bizType ==5">瀹夋嘲鐗╂祦璐ц繍杞﹁締</span> + <span v-else-if="row.bizType ==4">鐗╂祦鍏姟鐢ㄨ溅</span> + <span v-else-if="row.bizType ==5">鐗╂祦璐ц繍杞﹁締</span> <span v-else >-</span> </template> </el-table-column> diff --git a/admin/src/views/vehicle/components/OperaCategoryWindow.vue b/admin/src/views/vehicle/components/OperaCategoryWindow.vue index cea3254..a0f3875 100644 --- a/admin/src/views/vehicle/components/OperaCategoryWindow.vue +++ b/admin/src/views/vehicle/components/OperaCategoryWindow.vue @@ -50,8 +50,8 @@ { key: 1, name: '澶栧崗杩愯緭杞﹁締' }, { key: 2, name: '甯傚叕鍙稿嵏璐ц溅杈�' }, { key: 3, name: '鍔犲伐鐑熷嵏璐ц溅杈�' }, - { key: 4, name: '瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅' }, - { key: 5, name: '瀹夋嘲鐗╂祦璐ц繍杞﹁締' } + { key: 4, name: '鐗╂祦鍏姟鐢ㄨ溅' }, + { key: 5, name: '鐗╂祦璐ц繍杞﹁締' } ], // 楠岃瘉瑙勫垯 rules: { diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java index 7bcf824..edf8379 100644 --- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java +++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java @@ -137,6 +137,7 @@ nodeVO.setUrl(menu.getPath()); nodeVO.setParams(menu.getParams()); nodeVO.setType(menu.getType()); + nodeVO.setLinkType(menu.getLinkType()); nodeVO.setIcon(menu.getIcon()); nodeVO.setChildren(new ArrayList<>()); rootNodes.add(nodeVO); @@ -230,6 +231,7 @@ child.setParams(menu.getParams()); child.setIcon(menu.getIcon()); child.setType(menu.getType()); + child.setLinkType(menu.getLinkType()); child.setIndex("menu_" + menu.getId()); child.setChildren(new ArrayList<>()); parent.getChildren().add(child); diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java index 774734c..2e8a6c1 100644 --- a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java +++ b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java @@ -34,6 +34,8 @@ private Integer parentId; @ApiModelProperty(value = "绫诲瀷 0鏈嶅姟涓績鑿滃崟 1椤堕儴瀵艰埅,榛樿 0", example = "1") private Integer type; + @ApiModelProperty(value = "鍏宠仈绫诲瀷 0绯荤粺鍐呴儴鑿滃崟 1澶栭儴绯荤粺", example = "1") + private Integer linkType; @ApiModelProperty(value = "鑿滃崟鍚嶇О") @NotBlank(message = "鑿滃崟鍚嶇О涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class}) diff --git a/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java b/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java index 49fecd4..9532faf 100644 --- a/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java +++ b/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java @@ -25,6 +25,8 @@ private String index; @ApiModelProperty(value = "鑿滃崟绫诲瀷 0鏈嶅姟涓績 1椤堕儴瀵艰埅") private Integer type; + @ApiModelProperty(value = "鑿滃崟绫诲瀷 0鏈嶅姟涓績 1椤堕儴瀵艰埅") + private Integer linkType; @ApiModelProperty(value = "鍥炬爣") private String icon; diff --git a/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml b/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml index e8f7431..bbc2e7a 100644 --- a/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml +++ b/server/system_service/src/main/resources/mappers/SystemMenuMapper.xml @@ -16,7 +16,7 @@ </resultMap> <select id="selectManageList" resultMap="SystemMenuListVO" parameterType="com.doumee.dao.system.model.SystemMenu"> SELECT - menu.`ID`, menu.`type`, menu.`PARENT_ID`,menu.params, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`, + menu.`ID`, menu.`type`,menu.`link_type`, menu.`PARENT_ID`,menu.params, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`, create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME, update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME FROM SYSTEM_MENU menu @@ -25,6 +25,7 @@ <where> menu.DELETED = 0 <if test="type!=null"> and menu.type=#{type}</if> + <if test="linkType!=null"> and menu.link_type=#{linkType}</if> </where> ORDER BY menu.SORT </select> @@ -32,7 +33,7 @@ <!-- 鏌ヨ鑿滃崟鏍� --> <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu"> SELECT - DISTINCT menu.`ID`, menu.`type`,menu.`PARENT_ID`,menu.params, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED` + DISTINCT menu.`ID`, menu.`type`,menu.`link_type`,menu.`PARENT_ID`,menu.params, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED` FROM `SYSTEM_MENU` menu INNER JOIN SYSTEM_ROLE_MENU role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0 INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role_menu.ROLE_ID AND user_role.DELETED = 0 @@ -47,9 +48,9 @@ <!-- 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鍒楄〃 --> <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu"> SELECT - menu.`ID`, menu.`type`,menu.`PARENT_ID`, menu.`NAME`,menu.params, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED` - FROM `SYSTEM_MENU` menu - INNER JOIN `SYSTEM_ROLE_MENU` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0 + menu.`ID`,menu.`link_type`, menu.`type`,menu.`PARENT_ID`, menu.`NAME`,menu.params, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED` + FROM `SYSTEM_MENU` menu + INNER JOIN `SYSTEM_ROLE_MENU` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0 <where> menu.DELETED = 0 AND role_menu.ROLE_ID = #{roleId} -- Gitblit v1.9.3