在日常開發中,有想要根據某一狀態或條件去限制/隱藏對應權限或操作按鈕的情況,于是
用簡報模板列表進行展示,并提供以下功能:
顯示模板基本信息
提供啟用/禁用模板的開關
提供編輯模板的入口
根據模板狀態顯示不同的操作選項
效果展示:
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_FLAGfrom 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