Skip to content

Commit e1ad78f

Browse files
committed
一级和二级弹窗列表中增加状态设置、优化权限控制功能
1 parent 9d72d29 commit e1ad78f

File tree

6 files changed

+22
-8
lines changed

6 files changed

+22
-8
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vuecmf",
3-
"version": "2.3.0",
3+
"version": "2.4.0",
44
"private": true,
55
"description": "VueCMF是一款完全开源免费的内容管理快速开发框架。2.1+版本使用vue3、Element Plus和TypeScript构建,后端API基于Go/PHP开发。可用于快速开发CMS、CRM、WMS、OMS、ERP等管理系统,开发简单、高效易用,极大减少系统的开发周期和研发成本!甚至不用写一行代码使用VueCMF就能设计出功能强大的后台管理系统。",
66
"author": "vuecmf <tulihua2004@126.com>",

src/components/LayoutAsideMenu.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
@select="addTab"
2323
>
2424
<template v-for="item in aside_menu_list" >
25-
<el-menu-item :index="item.mid" :key="item.mid" v-if="!item.children">
25+
<el-menu-item :index="item.mid" :key="item.mid" v-if="!item.children && item.default_action_type != ''">
2626
<i class="el-icon" v-if="item.icon"><component :is="item.icon"></component></i>
2727
<template #title>{{ item.title }}</template>
2828
</el-menu-item>
29-
<vuecmf-layout-aside-menu-item :menu_item_list="item" :key="item.mid" v-else></vuecmf-layout-aside-menu-item>
29+
<vuecmf-layout-aside-menu-item :menu_item_list="item" :key="item.mid" v-else-if="item.children"></vuecmf-layout-aside-menu-item>
3030
</template>
3131

3232
</el-menu>

src/components/LayoutAsideMenuItem.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
<span>{{ menu_item_list.title }}</span>
66
</template>
77
<template v-for="item in menu_item_list.children" >
8-
<el-menu-item :index="item.mid" :key="item.mid" v-if="!item.children">
8+
<el-menu-item :index="item.mid" :key="item.mid" v-if="!item.children && item.default_action_type != ''">
99
<i class="el-icon" v-if="item.icon"><component :is="item.icon"></component></i>
1010
<span>{{ item.title }}</span>
1111
</el-menu-item>
12-
<template v-else>
12+
<template v-else-if="item.default_action_type != ''">
1313
<vuecmf-layout-aside-menu-item :menu_item_list="item" :key="item.mid"></vuecmf-layout-aside-menu-item>
1414
</template>
1515
</template>

src/service/ContentService.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ export default class ContentService extends BaseService{
105105
detailBtnVisible: ():boolean => true, //是否显示详情按钮
106106
editBtnVisible: ():boolean => true, //是否显示编辑按钮
107107
delBtnVisible: ():boolean => true, //是否显示删除按钮
108+
statusDisabled: (row:AnyObject):boolean => false, //列表中每行的状态切换是否可用
108109
server: '', //获取列表的API地址
109110
import_server: '', //批量导入的API地址
110111
save_server: '', //单个保存的API地址
@@ -124,6 +125,7 @@ export default class ContentService extends BaseService{
124125
detailBtnVisible: ():boolean => true, //是否显示详情按钮
125126
editBtnVisible: ():boolean => true, //是否显示编辑按钮
126127
delBtnVisible: ():boolean => true, //是否显示删除按钮
128+
statusDisabled: (row:AnyObject):boolean => false, //列表中每行的状态切换是否可用
127129
server: '', //获取列表的API地址
128130
import_server: '', //批量导入的API地址
129131
save_server: '', //单个保存的API地址

src/service/event/BaseEvent.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,8 @@ export default abstract class BaseEvent{
172172
* @param permission_type 权限类型 role = 角色, user = 用户
173173
*/
174174
setPermission = (permission_param:AnyObject, permission_type = 'role'):void => {
175-
const action_param = typeof permission_param['role_name'] != 'undefined' ? permission_param : {}
176-
177175
//获取所有权限列表
178-
this.dataModel.getActionList(this.table_name, action_param).then((res:AnyObject) => {
176+
this.dataModel.getActionList(this.table_name, permission_param).then((res:AnyObject) => {
179177
if(res.status == 200 && res.data.code == 0){
180178
this.dataService.permission_config.permission_action_list = res.data.data
181179

src/views/template/content/List.vue

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,13 @@
128128
@beforeLoadTable="dialogBeforeLoadTable"
129129
:expand_action="dlg_expand_action"
130130
>
131+
<!-- 每行中的每个字段内容 自定义格式化内容显示: 可获取参数有 { row, field } -->
132+
<template #formatRow="{ row, field }">
133+
<span v-if=" field === 'status' ">
134+
<el-switch v-model="row[field]" :disabled="dlg_first.statusDisabled(row)" @change="(value) => firstDlgChangeStatus(value, row)" inline-prompt :active-value="10" active-text="" :inactive-value="20" inactive-text=""></el-switch>
135+
</span>
136+
</template>
137+
131138
<!-- 列表每行 自定义按钮操作 -->
132139
<template #rowAction="{ row, service }">
133140
<template v-if=" typeof dialog_table_event.row_event != 'undefined' ">
@@ -174,6 +181,13 @@
174181
@beforeLoadTable="secondDialogBeforeLoadTable"
175182
:expand_action="dlg_expand_action"
176183
>
184+
<!-- 每行中的每个字段内容 自定义格式化内容显示: 可获取参数有 { row, field } -->
185+
<template #formatRow="{ row, field }">
186+
<span v-if=" field === 'status' ">
187+
<el-switch v-model="row[field]" :disabled="dlg_second.statusDisabled(row)" @change="(value) => firstDlgChangeStatus(value, row)" inline-prompt :active-value="10" active-text="开" :inactive-value="20" inactive-text="关"></el-switch>
188+
</span>
189+
</template>
190+
177191
</vuecmf-table>
178192
</template>
179193
</vuecmf-dialog>

0 commit comments

Comments
 (0)