|
|
@@ -6,16 +6,8 @@
|
|
|
<template #left>
|
|
|
<!-- 查询 -->
|
|
|
<BaseIndexButton ref="search" name="search"></BaseIndexButton>
|
|
|
- <!-- 清空条件 -->
|
|
|
- <BaseIndexButton ref="clear" name="clear"></BaseIndexButton>
|
|
|
<!-- 编辑 -->
|
|
|
<BaseIndexButton ref="edit" name="edit"></BaseIndexButton>
|
|
|
- <!-- 启用 -->
|
|
|
- <BaseIndexButton ref="enable" name="enable"></BaseIndexButton>
|
|
|
- <!-- 停用 -->
|
|
|
- <BaseIndexButton ref="disable" name="disable"></BaseIndexButton>
|
|
|
- <!-- 新建 -->
|
|
|
- <BaseIndexButton ref="add" name="add"></BaseIndexButton>
|
|
|
</template>
|
|
|
<template #right>
|
|
|
|
|
|
@@ -26,19 +18,19 @@
|
|
|
<div :style="'height: ' + (tableHeight + 30) + 'px'" class="split-div-class">
|
|
|
<DkSplit v-model="split">
|
|
|
<!-- 左边部分 -->
|
|
|
- <DkTable slot="left" ref="leftTable" :data="leftData" :height="tableHeight + 30" :page-flag="false"
|
|
|
+ <DkTable slot="left" ref="left-table" :data="leftData" :height="tableHeight + 30" :page-flag="false"
|
|
|
:page-total-flag="false" :show-setting-flag="false" :freeze="false" :choose-flag="false"
|
|
|
- @current-change="currentChangeEvent($event)">
|
|
|
- <DkTableColumn field="gradeCode" width="auto" :filter="false" :sortable="false"
|
|
|
- :center-flag="true">
|
|
|
- </DkTableColumn>
|
|
|
+ @current-change="currentChangeEvent($event)" primaryKey="gradeCode">
|
|
|
+ <DkTableColumn field="gradeCode" :filter="false" :sortable="false" :center-flag="true"/>
|
|
|
+ <DkTableColumn field="gradeName" :filter="false" :sortable="false" :center-flag="true"/>
|
|
|
</DkTable>
|
|
|
<!-- 数据字典 -->
|
|
|
- <DkTable slot="right" :id="'table-' + $options.name" ref="table-select"
|
|
|
+ <DkTable slot="right" :id="'table-' + $options.name" ref="right-table"
|
|
|
:data="menuData"
|
|
|
:pageFlag="true"
|
|
|
:page-total="pageInfo.total" :current-page="pageInfo.currentPage" :choose-flag="false"
|
|
|
:height="this.tableHeight" primaryKey="menuUuid" @pageChange="pageSizeChange">
|
|
|
+ <DkTableColumn field="appName"></DkTableColumn>
|
|
|
<DkTableColumn field="menuName"></DkTableColumn>
|
|
|
</DkTable>
|
|
|
</DkSplit>
|
|
|
@@ -57,46 +49,32 @@
|
|
|
>
|
|
|
<DkForm ref="formInline" v-model="formData" :col-count="1">
|
|
|
<!--活动版本-->
|
|
|
- <DkFormItem prop="gradeCode" :required="true">
|
|
|
- <SelectPop v-model="formData.gradeCode" ref="gradeCode"
|
|
|
- :disabled="type == $config.formMode.edit"
|
|
|
- :options="gradeList"
|
|
|
- :multiple="false"
|
|
|
- labelKey="gradeName" valueKey="gradeCode"
|
|
|
- style="width: 200px;">
|
|
|
- </SelectPop>
|
|
|
+ <DkFormItem prop="gradeName">
|
|
|
+ <InputPop v-model="formData.gradeName" :readonly="true"/>
|
|
|
</DkFormItem>
|
|
|
<!--功能展示-->
|
|
|
<DkRow style="margin-left: 0px">
|
|
|
<!--功能一览-->
|
|
|
<Col>
|
|
|
- <DkTabs v-model="tabValue" :options="tabList">
|
|
|
- <div style="height: 600px;overflow:auto" v-for="(item, index) of appList" :key="index" :slot="item.appCode">
|
|
|
+ <DkTabs v-model="tabValue" :options="tabList" @on-click="handleChangeTabs">
|
|
|
+ <div style="height: 600px;overflow:auto" v-for="(item, index) of appList" :key="index"
|
|
|
+ :slot="item.appCode">
|
|
|
<div class="main-class">
|
|
|
<el-collapse v-model="model" @change="handleChange(null)">
|
|
|
- <dk-el-collapse-item v-for="(it,index) in parentData.filter(f => f.appCode == item.appCode)" :key="index" :title="it[name]" :name="it.id"
|
|
|
- :ref="'collapseItem_' + it.id" :id="it.id" :checked="it.checked" v-if="tabValue==item.appCode"
|
|
|
- @on-change="(checked, id)=>handleChangeCheckbox(checked, id,it[name])" :disabled="disabled">
|
|
|
+ <dk-el-collapse-item v-for="(it,index) in parentData.filter(f => f.appCode == item.appCode)"
|
|
|
+ :key="index" :title="it[name]" :name="it.id"
|
|
|
+ :ref="'collapseItem_' + it.id" :id="it.id" :checked="it.checked"
|
|
|
+ v-if="tabValue==item.appCode"
|
|
|
+ @on-change="(checked, id)=>handleChangeCheckbox(checked, id,it[name])"
|
|
|
+ :disabled="disabled"
|
|
|
+ style="width: 700px;">
|
|
|
<div v-for="(tIt,tIndex) in data.filter(item=>item.parentId == it.id)" :key="tIndex">
|
|
|
<!--子级-->
|
|
|
- <MasterSlaveCheckbox v-if="tIt[funcFlag]" :item="tIt" :name="name" :checked="tIt.checked" :disabled="disabled"
|
|
|
+ <MasterSlaveCheckbox v-if="tIt[funcFlag]" :item="tIt" :name="name" :checked="tIt.checked"
|
|
|
+ :disabled="disabled"
|
|
|
:child-data="data.filter(item=>item.parentId == tIt.id)"
|
|
|
- @on-change="handleChangeCheckbox1(tIt)" ref="checkbox"></MasterSlaveCheckbox>
|
|
|
- <!--父级-->
|
|
|
-<!-- <div v-else>-->
|
|
|
-<!-- <el-collapse v-model="model" @change="handleChange(tIt.id)">-->
|
|
|
-<!-- <dk-el-collapse-item :ref="'collapseItem_' + tIt.id" class="child-item-collapse"-->
|
|
|
-<!-- :title="'\u3000\u3000' + tIt[name]"-->
|
|
|
-<!-- :name="tIt.id" :id="tIt.id" :checked="tIt.checked"-->
|
|
|
-<!-- @on-change="(checked, id)=>handleChangeCheckbox(checked, id,tIt[name])" :disabled="disabled">-->
|
|
|
-<!-- <div v-for="(cIt,cIndex) in data.filter(item=>item.parentId == tIt.id)"-->
|
|
|
-<!-- :key="cIndex">-->
|
|
|
-<!-- <MasterSlaveCheckbox :item="cIt" :name="name" :disabled="disabled"-->
|
|
|
-<!-- :child-data="data.filter(item=>item.parentId == cIt.id)"></MasterSlaveCheckbox>-->
|
|
|
-<!-- </div>-->
|
|
|
-<!-- </dk-el-collapse-item>-->
|
|
|
-<!-- </el-collapse>-->
|
|
|
-<!-- </div>-->
|
|
|
+ @on-change="handleChangeCheckbox1(tIt)"
|
|
|
+ ref="checkbox"></MasterSlaveCheckbox>
|
|
|
</div>
|
|
|
</dk-el-collapse-item>
|
|
|
</el-collapse>
|
|
|
@@ -133,24 +111,21 @@ export default {
|
|
|
name: "com-menu",
|
|
|
mixins: [indexMixin],
|
|
|
components: {MasterSlaveCheckbox, DkElCollapseItem},
|
|
|
- data(){
|
|
|
+ data() {
|
|
|
let self = this
|
|
|
return {
|
|
|
modalTitle: '',//新建编辑弹窗名称
|
|
|
submitType: '',//新建编辑提交类型
|
|
|
- formData:{
|
|
|
- gradeCode:null,
|
|
|
+ formData: {
|
|
|
+ gradeCode: null,
|
|
|
+ gradeName: null,
|
|
|
},
|
|
|
split: 0.15,
|
|
|
minSplit: 0.15,
|
|
|
- gradeList:[],
|
|
|
+ gradeList: [],
|
|
|
leftData: [],
|
|
|
- menuData:[],
|
|
|
+ menuData: [],
|
|
|
useMenuData: [],
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
documentKeyDownContent: Object,
|
|
|
title: '',
|
|
|
funcFlag: 'flgMenu',
|
|
|
@@ -171,11 +146,12 @@ export default {
|
|
|
tabValue: 'CP-WEB',
|
|
|
tabOptions: null,
|
|
|
appList: [],
|
|
|
- tabList: []
|
|
|
-
|
|
|
+ tabList: [],
|
|
|
+ tableRef: 'left-table',
|
|
|
+ appCode: 'CP-WEB'
|
|
|
}
|
|
|
},
|
|
|
- methods:{
|
|
|
+ methods: {
|
|
|
/**
|
|
|
* @desc : 左侧列表行变化事件
|
|
|
* @author : 常皓宁
|
|
|
@@ -184,7 +160,7 @@ export default {
|
|
|
currentChangeEvent({row}) {
|
|
|
if (row != null) {
|
|
|
let params = {
|
|
|
- gradeCode:row.gradeCode
|
|
|
+ gradeCode: row.gradeCode
|
|
|
}
|
|
|
this.excute(this.$service.comMenuService, this.$service.comMenuService.selectByCond, params).then(res => {
|
|
|
if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
@@ -200,12 +176,7 @@ export default {
|
|
|
* @date : 2024/3/9 10:55
|
|
|
*/
|
|
|
getData(params) {
|
|
|
- if (this.kindCode) {
|
|
|
- let data = {
|
|
|
-
|
|
|
- }
|
|
|
- this.currentChangeEvent({row: data})
|
|
|
- }
|
|
|
+ this.getGrade()
|
|
|
this.loading = false
|
|
|
},
|
|
|
|
|
|
@@ -214,14 +185,16 @@ export default {
|
|
|
* @author : 常皓宁
|
|
|
* @date : 2024/1/31 9:19
|
|
|
*/
|
|
|
- add() {
|
|
|
- this.modalTitle = this.setTitle(this.$config.formMode.add, '常用功能')
|
|
|
- let row = this.$refs['leftTable'].$refs.table.getCurrentRecord()
|
|
|
+ edit() {
|
|
|
+ this.modalTitle = this.setTitle(this.$config.formMode.edit, '常用功能')
|
|
|
+ let row = this.$refs['left-table'].$refs.table.getCurrentRecord()
|
|
|
if (row) {
|
|
|
- this.formData = {}
|
|
|
+ this.formData.gradeCode = row.gradeCode
|
|
|
+ this.formData.gradeName = row.gradeName
|
|
|
}
|
|
|
+ this.getAppMenu(this.formData.gradeCode)
|
|
|
this.editAddModal = true
|
|
|
- this.modalParams.button = 'add'
|
|
|
+ this.modalParams.button = 'edit'
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
@@ -230,22 +203,19 @@ export default {
|
|
|
* @date : 2024/3/9 15:51
|
|
|
*/
|
|
|
saveData() {
|
|
|
- console.log('this.useMenuData',this.useMenuData)
|
|
|
+ // console.log('this.useMenuData', this.useMenuData)
|
|
|
let useMenuData = this.useMenuData
|
|
|
let displayNo = 1
|
|
|
- useMenuData.map(row =>{
|
|
|
+ useMenuData.map(row => {
|
|
|
let item = row
|
|
|
this.$set(item, 'gradeCode', this.formData.gradeCode)
|
|
|
this.$set(item, 'displayNo', displayNo)
|
|
|
+ // this.$set(item, 'appCode', displayNo)
|
|
|
displayNo++
|
|
|
return item
|
|
|
})
|
|
|
let params = useMenuData
|
|
|
- console.log('sadas',params)
|
|
|
- //新建
|
|
|
- if (this.modalParams.button === this.$config.formMode.add) {
|
|
|
- return this.excute(this.$service.comMenuService, this.$service.comMenuService.insert, params)
|
|
|
- }
|
|
|
+ // console.log('sadas', params)
|
|
|
//编辑
|
|
|
if (this.modalParams.button === this.$config.formMode.edit) {
|
|
|
return this.excute(this.$service.comMenuService, this.$service.comMenuService.update, params)
|
|
|
@@ -257,10 +227,9 @@ export default {
|
|
|
* @author : 常皓宁
|
|
|
* @date : 2024/4/15 10:47
|
|
|
*/
|
|
|
- getGrade(){
|
|
|
+ getGrade() {
|
|
|
// 查询数据
|
|
|
- let params = {
|
|
|
- }
|
|
|
+ let params = {}
|
|
|
this.excute(this.$service.commonService, this.$service.commonService.getGrade, params).then(res => {
|
|
|
if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
let gradeData = res.data.filter(it => it.gradeCode === 'STD' || it.gradeCode === 'PRO')
|
|
|
@@ -275,9 +244,12 @@ export default {
|
|
|
* @author : 周兴
|
|
|
* @date : 2022/12/29 16:52
|
|
|
*/
|
|
|
- handleChangeCheckbox(checked, id,name) {
|
|
|
- console.log('1')
|
|
|
- let item = {id: id, checked: checked , menuName:name};
|
|
|
+ handleChangeCheckbox(checked, id, name) {
|
|
|
+ console.log("handleChangeCheckbox")
|
|
|
+
|
|
|
+
|
|
|
+ // console.log('1')
|
|
|
+ let item = {id: id, checked: checked, menuName: name};
|
|
|
let filterRows = this.data.filter(it => it.id === id);
|
|
|
if (filterRows && filterRows.length > 0) {
|
|
|
filterRows[0].checked = checked;
|
|
|
@@ -297,11 +269,15 @@ export default {
|
|
|
* @date : 2022/12/29 16:52
|
|
|
*/
|
|
|
handleChangeCheckbox1() {
|
|
|
+ console.log("handleChangeCheckbox1")
|
|
|
+
|
|
|
let list = []
|
|
|
+
|
|
|
for (let re of this.$refs.checkbox) {
|
|
|
- list = list.concat(re.data.filter(item=>item.checked))
|
|
|
+
|
|
|
+ list = list.concat(re.data.filter(item => item.checked))
|
|
|
}
|
|
|
- console.log('2',list)
|
|
|
+ // console.log('2', list)
|
|
|
this.useMenuData = list
|
|
|
},
|
|
|
|
|
|
@@ -311,6 +287,8 @@ export default {
|
|
|
* @date : 2022/12/29 13:54
|
|
|
*/
|
|
|
getCollapseItems() {
|
|
|
+ console.log("getCollapseItems")
|
|
|
+
|
|
|
let items = this.data.filter(it => !it[this.funcFlag]);
|
|
|
if (items && items.length > 0) {
|
|
|
items.forEach(it => {
|
|
|
@@ -326,25 +304,36 @@ export default {
|
|
|
* @date : 2022/12/29 16:02
|
|
|
*/
|
|
|
handleChange(id) {
|
|
|
- this.$nextTick(() => {
|
|
|
- if (this.collapseItems && this.collapseItems.length > 0) {
|
|
|
- let index = 0;
|
|
|
- if (id) {
|
|
|
- index = this.collapseItems.findIndex(item => item == 'collapseItem_' + id)
|
|
|
- }
|
|
|
- for (let i = index + 1; i < this.collapseItems.length; i++) {
|
|
|
- let it = this.collapseItems[i]
|
|
|
- if (this.$refs[it] && this.$refs[it].length > 0) {
|
|
|
- this.$refs[it][0].itemTop = null;
|
|
|
- setTimeout(() => {
|
|
|
- this.$refs[it][0].countCheckboxLocation();
|
|
|
- }, 400)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
+ // console.log('切换tab')
|
|
|
+ //
|
|
|
+ // this.$nextTick(() => {
|
|
|
+ // debugger
|
|
|
+ // if (this.collapseItems && this.collapseItems.length > 0) {
|
|
|
+ // let index = 0;
|
|
|
+ // if (id) {
|
|
|
+ // index = this.collapseItems.findIndex(item => item == 'collapseItem_' + id)
|
|
|
+ // }
|
|
|
+ // for (let i = index + 1; i < this.collapseItems.length; i++) {
|
|
|
+ // let it = this.collapseItems[i]
|
|
|
+ // if (this.$refs[it] && this.$refs[it].length > 0) {
|
|
|
+ // this.$refs[it][0].itemTop = null;
|
|
|
+ // setTimeout(() => {
|
|
|
+ // this.$refs[it][0].countCheckboxLocation();
|
|
|
+ // }, 400)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 切换应用
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2024-06-11 11:04
|
|
|
+ */
|
|
|
+ handleChangeTabs(val) {
|
|
|
+ this.appCode = val;
|
|
|
+ this.getAppMenu(this.formData.gradeCode)
|
|
|
},
|
|
|
-
|
|
|
/**
|
|
|
* @desc : 获取应用
|
|
|
* @author : 洪旭东
|
|
|
@@ -353,26 +342,29 @@ export default {
|
|
|
getApplication() {
|
|
|
this.excute(this.$service.commonService, this.$service.commonService.getApplication, {}).then(res => {
|
|
|
if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
- let data = res.data.filter(it=>it.appCode != 'DK-WEB')
|
|
|
+ let data = res.data.filter(it => it.appCode != 'DK-WEB')
|
|
|
this.appList = data
|
|
|
- this.tabList = data.map(m => {return {
|
|
|
- label: m.appName,
|
|
|
- name: m.appCode
|
|
|
- }})
|
|
|
+ this.tabList = data.map(m => {
|
|
|
+ return {
|
|
|
+ label: m.appName,
|
|
|
+ name: m.appCode
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
- * @desc : 获取功能
|
|
|
- * @author : 常皓宁
|
|
|
- * @date : 2024/5/11 13:42
|
|
|
- */
|
|
|
- getAppMenu(){
|
|
|
+ * @desc : 获取功能
|
|
|
+ * @author : 常皓宁
|
|
|
+ * @date : 2024/5/11 13:42
|
|
|
+ */
|
|
|
+ getAppMenu(gradeCode) {
|
|
|
let params = {
|
|
|
-
|
|
|
+ gradeCode: gradeCode,
|
|
|
+ appCode: this.appCode,
|
|
|
}
|
|
|
- this.excute(this.$service.commonService, this.$service.commonService.getAppMenu, params).then(res=>{
|
|
|
+ this.excute(this.$service.commonService, this.$service.commonService.getAppMenu, params).then(res => {
|
|
|
if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
this.data = res.data.list
|
|
|
// 先过滤顶级
|
|
|
@@ -400,12 +392,12 @@ export default {
|
|
|
* @date : 2024/4/30 9:02
|
|
|
*/
|
|
|
initData() {
|
|
|
- this.getGrade()
|
|
|
- this.getAppMenu();
|
|
|
+ // this.getGrade()
|
|
|
+ // this.getAppMenu();
|
|
|
},
|
|
|
},
|
|
|
created() {
|
|
|
- this.primaryKey = 'menuUuId' // 设置主键Id
|
|
|
+ this.primaryKey = 'gradeCode' // 设置主键Id
|
|
|
this.routeObjName = 'comMenu' // 设置路由名称
|
|
|
},
|
|
|
}
|