日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

通過(guò)白碼低代碼開(kāi)發(fā)平臺(tái)簡(jiǎn)單實(shí)現(xiàn)根據(jù)用戶表設(shè)置的審核人進(jìn)行順序?qū)徟膶徟鞴δ堋?/p>

準(zhǔn)備工作:

1、在用戶表中添加若干個(gè)審批人字段,關(guān)聯(lián)用戶表。(我這里只設(shè)置4級(jí)審批)

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

2、根據(jù)需要?jiǎng)?chuàng)建“申請(qǐng)單”數(shù)據(jù)表記錄申請(qǐng)信息。

必須字段:狀態(tài)(字符)、當(dāng)前審核人(關(guān)聯(lián)-用戶)、審核歷史(集合-審核單)

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

3、根據(jù)需要?jiǎng)?chuàng)建“審核單”數(shù)據(jù)表記錄審核人的審核信息。

必須字段:審核狀態(tài)(字符)、申請(qǐng)單(關(guān)聯(lián)-申請(qǐng)單)

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

實(shí)現(xiàn)步驟:

  • 實(shí)現(xiàn)創(chuàng)建申請(qǐng)單的功能

1、在快速開(kāi)發(fā)中創(chuàng)建“數(shù)據(jù)集”類型的“申請(qǐng)單”菜單。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

2、快速創(chuàng)建“新建”申請(qǐng)單功能

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

3、單擊新建的功能,進(jìn)入流程設(shè)計(jì)頁(yè),點(diǎn)擊“新建申請(qǐng)單”步驟的設(shè)置。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

將“申請(qǐng)人”設(shè)為當(dāng)前用戶,

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

將“狀態(tài)”設(shè)為“1級(jí)審批”,

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

將“當(dāng)前審核人”設(shè)為當(dāng)前用戶的1級(jí)審批,其余根據(jù)需求設(shè)置。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

4、將功能保存發(fā)布。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

效果:

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

  • 實(shí)現(xiàn)當(dāng)前審批人審批功能

1、步驟1:創(chuàng)建“選擇申請(qǐng)單”的功能,步驟1:選擇“狀態(tài)”不為“通過(guò)”且不為“駁回”,“當(dāng)前審核人”為當(dāng)前用戶的“申請(qǐng)單”。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

2、步驟2:新建一條“審核單”,將“審核狀態(tài)”設(shè)為必填下拉選項(xiàng)(通過(guò)、駁回),將“申請(qǐng)單”設(shè)為“選擇申請(qǐng)單”。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

  • 實(shí)現(xiàn)流轉(zhuǎn)到下一審批人功能

1、添加“關(guān)聯(lián)獲取”步驟獲取申請(qǐng)人信息,注意將所有字段隱藏。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

2、添加編程步驟,添加“選擇申請(qǐng)單”、“申請(qǐng)人”、“審核信息”三個(gè)參數(shù),同時(shí)在代碼區(qū)引用。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

引用代碼:

 let apply = await $params.apply;//申請(qǐng)單     let createUser = await $params.createUser;//創(chuàng)建人    let approval = await $params.approval;//審核記錄

3、添加狀態(tài)變量,引用申請(qǐng)單中的“狀態(tài)”字段。

  //申請(qǐng)單當(dāng)前狀態(tài)(本次審核前)    let status = apply["5feaf06febabb14ea012579b"];

字段id獲取方式:

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

4、添加可以根據(jù)當(dāng)前status來(lái)指定查詢用戶表的審批人的map

  //下一審批人查詢id    let nextUserIdByStatusMap = {        "1級(jí)審批": "5feaf1f908f77e4ea7fb6e04",//申請(qǐng)人的二級(jí)審批        "2級(jí)審批": "5feaf20608f77e4ea7fb6e05",//申請(qǐng)人的三級(jí)審批        "3級(jí)審批": "5feaf2309cff054eaf91ac69",//申請(qǐng)人的四級(jí)審批        "4級(jí)審批": " "//當(dāng)前狀態(tài)已經(jīng)是4級(jí)審批則無(wú)下一級(jí)審批    }

5、添加可以根據(jù)當(dāng)前status指定下一狀態(tài)的map

 //下一狀態(tài)    let nextStatusMap = {        "1級(jí)審批": "2級(jí)審批",        "2級(jí)審批": "3級(jí)審批",        "3級(jí)審批": "4級(jí)審批"    }

6、獲取下一審核人

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

數(shù)據(jù)表entity獲取方法:

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

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

    //當(dāng)前審核狀態(tài)let approvalStatus=approval["5feaf1219cff054eaf91ac5c"];    //申請(qǐng)單entity    let applyEntity="5feaefdaebabb14ea0125792";    if(approvalStatus=="通過(guò)"&&nextUser._id){        //審核通過(guò),且還有下一審核人    }else{        //審核駁回或無(wú)下一審核人    }

8、需要下一審核人審核時(shí),更新申請(qǐng)單的 狀態(tài) 及 當(dāng)前審核人 字段

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

9、不存在下一審核人或本次審核駁回,更新申請(qǐng)單的 狀態(tài) 及 當(dāng)前審核人 字段

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

10、至此,功能已實(shí)現(xiàn)完畢,此時(shí)可保存并發(fā)布功能。

編程完整代碼:

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

最終效果:

為方便測(cè)試,這里設(shè)置4級(jí)審核人都是我自己。

順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)順序?qū)徟鞯暮?jiǎn)單代碼實(shí)現(xiàn)(順序表的流程圖)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
大埔县| 双牌县| 海淀区| 宁远县| 云安县| 陇川县| 神农架林区| 凤凰县| 长沙县| 那曲县| 朝阳市| 屏东县| 陇西县| 北安市| 红河县| 开鲁县| 宾川县| 遵化市| 佛山市| 静海县| 友谊县| 桓台县| 广东省| 绩溪县| 新昌县| 长乐市| 呼和浩特市| 西宁市| 高阳县| 普兰店市| 明光市| 长乐市| 元江| 搜索| 台中县| 怀来县| 宁河县| 九龙坡区| 揭阳市| 景东| 巢湖市|