亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

順序審批流的簡單代碼實現(順序流程)

通過白碼低代碼開發平臺簡單實現根據用戶表設置的審核人進行順序審批的審批流功能。

準備工作:

1、在用戶表中添加若干個審批人字段,關聯用戶表。(我這里只設置4級審批)

順序審批流的簡單代碼實現(順序流程)

2、根據需要創建“申請單”數據表記錄申請信息。

必須字段:狀態(字符)、當前審核人(關聯-用戶)、審核歷史(集合-審核單)

順序審批流的簡單代碼實現(順序流程)

3、根據需要創建“審核單”數據表記錄審核人的審核信息。

必須字段:審核狀態(字符)、申請單(關聯-申請單)

順序審批流的簡單代碼實現(順序流程)

實現步驟:

  • 實現創建申請單的功能

1、在快速開發中創建“數據集”類型的“申請單”菜單。

順序審批流的簡單代碼實現(順序流程)

2、快速創建“新建”申請單功能

順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)

3、單擊新建的功能,進入流程設計頁,點擊“新建申請單”步驟的設置。

順序審批流的簡單代碼實現(順序流程)

將“申請人”設為當前用戶,

順序審批流的簡單代碼實現(順序流程)

將“狀態”設為“1級審批”,

順序審批流的簡單代碼實現(順序流程)

將“當前審核人”設為當前用戶的1級審批,其余根據需求設置。

順序審批流的簡單代碼實現(順序流程)

4、將功能保存發布。

順序審批流的簡單代碼實現(順序流程)

效果:

順序審批流的簡單代碼實現(順序流程)

  • 實現當前審批人審批功能

1、步驟1:創建“選擇申請單”的功能,步驟1:選擇“狀態”不為“通過”且不為“駁回”,“當前審核人”為當前用戶的“申請單”。

順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)

2、步驟2:新建一條“審核單”,將“審核狀態”設為必填下拉選項(通過、駁回),將“申請單”設為“選擇申請單”。

順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)

  • 實現流轉到下一審批人功能

1、添加“關聯獲取”步驟獲取申請人信息,注意將所有字段隱藏。

順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)

2、添加編程步驟,添加“選擇申請單”、“申請人”、“審核信息”三個參數,同時在代碼區引用。

順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)

引用代碼:

 let apply = await $params.apply;//申請單     let createUser = await $params.createUser;//創建人    let approval = await $params.approval;//審核記錄

3、添加狀態變量,引用申請單中的“狀態”字段。

  //申請單當前狀態(本次審核前)    let status = apply["5feaf06febabb14ea012579b"];

字段id獲取方式:

順序審批流的簡單代碼實現(順序流程)

4、添加可以根據當前status來指定查詢用戶表的審批人的map

  //下一審批人查詢id    let nextUserIdByStatusMap = {        "1級審批": "5feaf1f908f77e4ea7fb6e04",//申請人的二級審批        "2級審批": "5feaf20608f77e4ea7fb6e05",//申請人的三級審批        "3級審批": "5feaf2309cff054eaf91ac69",//申請人的四級審批        "4級審批": " "//當前狀態已經是4級審批則無下一級審批    }

5、添加可以根據當前status指定下一狀態的map

 //下一狀態    let nextStatusMap = {        "1級審批": "2級審批",        "2級審批": "3級審批",        "3級審批": "4級審批"    }

6、獲取下一審核人

 //獲取下一審核人    let userEntity = "5ee84e626646265863211238";    let nextUserId = createUser[nextUserIdByStatusMap[status]];    let nextUser = await $plugin.data.getData(userEntity, nextUserId);

數據表entity獲取方法:

順序審批流的簡單代碼實現(順序流程)

7、下一審核人的判斷邏輯

    //當前審核狀態let approvalStatus=approval["5feaf1219cff054eaf91ac5c"];    //申請單entity    let applyEntity="5feaefdaebabb14ea0125792";    if(approvalStatus=="通過"&&nextUser._id){        //審核通過,且還有下一審核人    }else{        //審核駁回或無下一審核人    }

8、需要下一審核人審核時,更新申請單的 狀態 及 當前審核人 字段

        //更新申請單的 狀態 及 當前審核人        await $plugin.data.updateData(applyEntity, apply._id, {            "5feaf06febabb14ea012579b": nextStatusMap[status],//狀態            "5feaf0829664af4ea1062b4e": nextUser._id,//當前審核人        });

9、不存在下一審核人或本次審核駁回,更新申請單的 狀態 及 當前審核人 字段

  //更新申請單的 狀態 及 當前審核人        await $plugin.data.updateData(applyEntity, apply._id, {            "5feaf06febabb14ea012579b": approvalStatus,//狀態            "5feaf0829664af4ea1062b4e": "",//清空當前審核人        });

10、至此,功能已實現完畢,此時可保存并發布功能。

編程完整代碼:

async function runProcess($model = model, $plugin = plugin, $papplyams) {    let apply = await $params.apply;//申請單     let createUser = await $params.createUser;//申請人    let approval = await $params.approval;//審核記錄    //申請單當前狀態(本次審核前)let status = apply["5feaf06febabb14ea012579b"];    //下一審批人查詢id    let nextUserIdByStatusMap = {        "1級審批": "5feaf1f908f77e4ea7fb6e04",//申請人的二級審批        "2級審批": "5feaf20608f77e4ea7fb6e05",//申請人的三級審批        "3級審批": "5feaf2309cff054eaf91ac69",//申請人的四級審批        "4級審批": " "//當前狀態已經是4級審批則無下一級審批}    //下一狀態    let nextStatusMap = {        "1級審批": "2級審批",        "2級審批": "3級審批",        "3級審批": "4級審批"}    //獲取下一審核人    let userEntity = "5ee84e626646265863211238";    let nextUserId = createUser[nextUserIdByStatusMap[status]];let nextUser = await $plugin.data.getData(userEntity, nextUserId);    //當前審核狀態    let approvalStatus = approval["5feaf1219cff054eaf91ac5c"];    //申請單entity    let applyEntity = "5feaefdaebabb14ea0125792";    if (approvalStatus == "通過" && nextUser._id) {        //審核通過,且還有下一審核人        //更新申請單的 狀態 及 當前審核人        await $plugin.data.updateData(applyEntity, apply._id, {            "5feaf06febabb14ea012579b": nextStatusMap[status],//狀態            "5feaf0829664af4ea1062b4e": nextUser._id,//當前審核人        });    } else {        //審核駁回或無下一審核人        //更新申請單的 狀態 及 當前審核人        await $plugin.data.updateData(applyEntity, apply._id, {            "5feaf06febabb14ea012579b": approvalStatus,//狀態            "5feaf0829664af4ea1062b4e": "",//清空當前審核人        });    }}

最終效果:

為方便測試,這里設置4級審核人都是我自己。

順序審批流的簡單代碼實現(順序流程)順序審批流的簡單代碼實現(順序流程)

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2024年7月8日 下午5:06
下一篇 2024年7月8日 下午5:17

相關推薦