在日常开发中,有想要根据某一状态或条件去限制/隐藏对应权限或操作按钮的情况,于是
用简报模板列表进行展示,并提供以下功能:
显示模板基本信息
提供启用/禁用模板的开关
提供编辑模板的入口
根据模板状态显示不同的操作选项
效果展示:
1.通过编辑禁用模板;
2.被禁用的模板操作权限被关闭↓
代码:
select BRIEFING_TEMPLATE_ID,
TENANT_ID,
REVISION,
DEL_FLAG,
CREATED_BY,
CREATION_DATE,
UPDATED_BY,
UPDATE_DATE,
TEMPLATE_NAME,
DECODE(FREQUENCY_TYPE,'DAY','日报','WEEK','周报','DOUBLE_WEEK','双周报','MONTH','月报','YEAR','年报') FREQUENCY_TYPE,
REFERENCE_ID,
TEMPLATE_TYPE,
--DECODE(IS_USING,1,'启用','未启用') IS_USING,
IS_USING,
DECODE(IS_USING,0,'','模板设计') OPERATOR ,
-- 该按钮配置先保留
DECODE(IS_USING,1,'fa fa-edit','fa fa-edit') EDIT_BTN,
'<div class="form-check form-switch">
<input class="form-check-input m-auto text-center" type="checkbox" role="switch" id="flexSwitchCheckDefault" '|| DECODE(IS_USING,1,'checked','') ||' onchange=click_using_flag('||BRIEFING_TEMPLATE_ID||')>
</div>
' IS_USING_FLAG
from TASK_BRIEFING_TEMPLATE WHERE DEL_FLAG = 0 AND TENANT_ID = V('USER_TENANT') AND TEMPLATE_TYPE='GENERAL'
说明:
状态字段:
IS_USING
:是否启用(原始值)OPERATOR
:根据是否启用显示操作文本(未启用时为空,启用时显示"模板设计")EDIT_BTN
:编辑按钮的图标(始终显示'fa fa-edit',无论是否启用)
交互元素:
IS_USING_FLAG
:生成一个HTML开关按钮,用于切换模板启用状态包含一个checkbox,当IS_USING=1时显示为选中状态
当状态改变时调用
click_using_flag
函数,并传入模板ID