需求背景
在構建OA系統時,業務流程中的智能邏輯交互一直是傳統開發與普通無代碼平台面臨的共同挑戰。若採用傳統高碼模式,諸如會議室衝突校驗、請假時長計算、表單動態渲染等核心邏輯,均需開發人員編寫大量底層代碼,不僅研發週期長、成本高昂,且後續業務規則一旦變動,修改與維護亦極為繁瑣。而許多輕量級無代碼平台雖簡化了界面搭建,卻在複雜業務邏輯的交互實現上能力薄弱,難以支撐深度的數據聯動與自動校驗,導致搭建的應用“形似而神不至”,無法滿足企業精準化、自動化的管理需求。
解決方案
smardaten通過三大核心優勢,將複雜的業務邏輯直觀化:
- 豐富的邏輯節點:內置超過30種開箱即用的可視化節點,為構建複雜業務流程提供了堅實基礎。
- 全面的事件驅動:從前端組件到頁面操作均可靈活配置觸發邏輯,精準響應各類交互場景。
- 高效的協作配置:支持前後端邏輯在統一界面中串聯配置,實現“配置即可用”,顯著減少聯調與對接成本。
這些能力共同作用,讓沒有技術背景的人也能以無代碼方式,高效、可靠地實現OA系統中的深度邏輯交互。
交互場景
在OA系統典型場景中,smardaten的邏輯控制能力實現了關鍵流程的自動化:
- 會議管理:自動校驗會議室佔用狀態,避免日程衝突。
- 請假申請:精準計算請假時長、智能判斷餘額,並依據天數動態顯隱表單字段。
- 差旅報銷:自動彙總多筆明細費用,快速完成報銷核算。
三大功能均通過配置化實現,顯著提升了流程效率和精準度。
配置過程
下面將通過三大典型場景,具體展示如何運用上述能力,以純配置的方式實現複雜的業務邏輯。
會議管理
進入會議室預定表單的“邏輯控制”配置頁,新增“表單保存時”的觸發邏輯,這意味着,當用户點擊‘保存’按鈕時,預設的校驗規則便會自動執行。
新增”組件動作“節點,獲取用户填寫的會議開始時間、結束時間和選擇的會議室號,將它們暫存為變量,方便後續使用。
這是最關鍵的一步,在數據庫裏查詢歷史預定記錄。傳統方式需編寫SQL查詢與複雜的時間比較邏輯,而在smardaten中,僅通過可視化點選即可完成所有條件的配置。
點擊添加變量,將查詢結果命名為“data_id1”變量,選擇查詢“會議室預定表”,查詢字段為該表的主鍵data_id。
為了確保萬無一失,杜絕任何一種時間重疊的可能性,需要檢查三種重疊場景。
第一種,預定的開始時間,包含在歷史預定區間內。通過可視化點選,新增查詢條件:第一,會議室號等於當前所選;第二,歷史會議開始時間早於當前會議開始時間,並且結束時間晚於開始時間;第三,需排除自身數據。只要同時滿足這些條件,就説明預定時間上有重疊。
用同樣的方法,繼續添加變量,檢查第二種衝突情況:預定的結束時間,包含在歷史預定區間內。基礎的配置相同,區別在於查詢條件中,歷史會議開始時間須早於當前結束時間,且結束時間晚於當前結束時間。
第三種衝突場景是,預定的時間區間完全包含了某段歷史預定區間。查詢條件設置為,歷史會議開始時間晚於當前開始時間,同時歷史結束時間早於當前結束時間。
接下來,使用“條件分支”節點進行判斷:如果以上三種情況中任一查詢結果非空,説明會議室已被佔用。
再利用”通知提示“節點,在條件符合時,給予失敗提示:會議室已被佔用,請重新選擇會議室!不符合條件,則走向“否”的分支,連接“提交數據”節點,完成預定。
僅通過寥寥數個節點的配置,就完成了會議室預定的完整校驗邏輯。現在可以直接預覽驗證效果:嘗試預定一個時間已被佔用的會議室,點擊保存,系統立刻彈出提示“會議室已被佔用!”
請假申請
請假申請由於要提交流程審批,需進入業務流配置頁,在開始節點新增邏輯控制。
這個場景的核心在於精確計算請假天數,通過條件分支來處理多種時段組合。首先,使用”組件動作“節點,獲取申請人填寫的請假開始/結束時間、請假類型,以及根據請假類別數據映射帶出的剩餘假期天數。
再拖入”操作變量“節點,用結束時間減開始時間,並將時間戳結果換算成天,計算出請假天數(days)。
由於請假時段有多種選擇情況(上午或下午),還需進一步判斷,計算出正確的天數。拖入條件分支,判斷時段相同的情況,即請假半天。
如果條件符合,原請假天數減0.5天。再通過操作變量節點的修改變量功能,將初始請假天數變量days更新為此值。
最後使用“組件動作—設值”將結果回填至表單的“請假天數”組件。
如果條件不符合,即時間段選擇不同,則有兩種可能情況需要考慮:
第一種,上午 → 下午,這屬於完整請假區間,之前計算的天數(days)是準確值,無需調整,直接連接組件動作回填請假天數。
第二種,下午 → 上午,屬於不完整的跨天請假,需進一步判斷:
- 若為同一天:彈出提示“請假區間填寫有誤”
- 若為跨天:則頭尾各請半天,需要將初始天數(days)減去1天。同樣,再次利用操作變量節點,將初始請假天數變量days更新為此值,最後回填結果。
在準確計算出請假天數後,還需自動完成額度校驗與流程控制。首先,校驗假期額度:通過條件分支判斷剩餘假期是否充足。如不足,提示申請人額度不夠,需重新修改;如充足,則繼續流程。
接着,判斷是否需要工作交接:條件分支判斷請假天數是否大於3天,如果符合,通過組件動作,顯示並必填”工作交接人“ 表單字段。
如未超過,”工作交接人“字段需自動隱藏、且不校驗必填,最後連接提交數據節點,正常提交;由於提交數據節點內置表單校驗必填項功能,所以組件動作節點可以直連提交數據節點。
最後,利用“模塊回調”功能,使頁面自動跳轉回請假管理列表,形成流暢的操作閉環。
發佈流程並預覽實際運行效果:選擇同一天,下午開始上午結束,系統立即警告提示。
選擇正常的區間,系統正確計算天數。
再試跨天不完整請假,請假天數超出3天,工作交接人字段自動顯示並校驗必填。
對於這類包含多種判斷條件的業務場景,在smardaten中已不再需要編寫複雜的多層if-else語句。我們僅通過一個條件分支節點,即可清晰串聯所有判斷路徑,實現邏輯的可視化配置與靈活流轉,大幅降低配置複雜度。
差旅報銷
最後再來看費用報銷場景中的子表自動計算功能。在這個場景中需要實現子表金額的實時彙總。只需配置"子表內容改變時"的觸發邏輯,系統就能在用户增刪或修改子表記錄時自動更新總金額。
首先還是使用組件動作節點,獲取子表發票金額列的所有數據,命名為amount變量。此時獲取的數據類型為對象數組。
由於後續統計節點對變量類型有要求,需要將對象數組轉換為單值數組。平台深刻理解數據類型轉換的開發痛點,無需記憶任何表達式語法,只需提供示例數據,JSON解析節點即可自動識別並生成轉換規則,大幅降低技術門檻。
然後,在"常用函數"節點中選擇內置的"求和"統計函數,平台會自動對轉換後的金額數組進行彙總計算。
最後,通過”組件動作“節點將統計出的金額,回填至主表的”報銷總額“字段中
我們通過簡單組合三個節點,充分利用它們內置的專業能力,依次完成了數據獲取、類型轉換、金額彙總和結果回填等一系列操作。
保存預覽應用,驗證效果:子表新增多筆報銷記錄,金額自動計算,並回填至主表的報銷總額字段中。刪除子表數據,也同樣實時更新金額。
體驗總結
通過上述三大OA典型場景的配置過程,直觀展現了smardaten邏輯控制能力的核心價值:
它將複雜的業務邏輯轉化為清晰的視覺工作流,使時間衝突校驗、時長精準計算、費用實時彙總等核心功能,都能通過純配置穩定實現。當業務規則需要調整時,無需修改代碼,僅需在可視化鏈路中調整相應節點即可快速響應。
這種高成熟度的配置方式,不僅顯著降低了技術門檻,更讓企業能夠自主、高效地構建和迭代複雜業務邏輯,以可持續的方式持續提升運營效率與管理精度。