中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè)公司如何約客戶瀏覽器下載

網(wǎng)站建設(shè)公司如何約客戶,瀏覽器下載,學(xué)校精品課網(wǎng)站怎么做,注冊城鄉(xiāng)規(guī)劃師成績查詢2022一.簡介 **會簽:**在一個流程中的某一個 Task 上,這個 Task 需要多個用戶審批,當(dāng)多個用戶全部審批通過,或者多個用戶中的某幾個用戶審批通過,就算通過。 例如:之前的請假流程,假設(shè)這個請假流程…

一.簡介

**會簽:**在一個流程中的某一個 Task 上,這個 Task 需要多個用戶審批,當(dāng)多個用戶全部審批通過,或者多個用戶中的某幾個用戶審批通過,就算通過。
例如:之前的請假流程,假設(shè)這個請假流程需要組長和經(jīng)理都審批了,才算審批通過,那么就需要設(shè)置這個 Task 是會簽節(jié)點。

**或簽:**意思就是 A 的請假流程提交給 B、C、D,但是并不需要 B/C/D 同時審批通過,只需要 B/C/D 中的任意一個審批即可,這就是或簽,注意,我這里的表述,只需要 B/C/D 任意一個審批即可,這個審批即可以是審批通過,也可以是審批拒絕,反正只要審批,這個 UserTask 就算完成了。

二.會簽流程圖

首先來畫一下這個請假流程圖,這個流程圖基本上還是和之前的一樣,截圖如下:
在這里插入圖片描述

三.請假處理

1.前端提交請假流程

接下來看下前端如何提交請假申請,頁面如下:
在這里插入圖片描述
對應(yīng)的 HTML 代碼如下:

<h1>提交請假申請</h1>
<table><tr><td>請輸入請假天數(shù):</td><td><el-input type="text" v-model="afl.days"/></td></tr><tr><td>請輸入請假理由:</td><td><el-input type="text" v-model="afl.reason"/></td></tr><tr><td>審批人:</td><td><el-select v-model="afl.approveUsers" style="width: 226px" placeholder="請選擇審批人" multiple><el-optionv-for="item in users":key="item.id":label="item.username":value="item.username"/></el-select></td></tr>
</table>
<el-button type="primary" @click="submit">提交請假申請</el-button>

跟之前不同的是,這里的下拉框是多選的,當(dāng)用戶提交請假申請的時候,可以選擇多個審批人,多個審批人的值將保存在 afl.approveUsers 變量中。
再來看提交請假方法,代碼如下:

submit() {let _this = this;axios.post('/ask_for_leave', this.afl).then(function (response) {if (response.data.status == 200) {//提交成功_this.$message.success(response.data.msg);_this.search();} else {//提交失敗_this.$message.error(response.data.msg);}}).catch(function (error) {console.log(error);});
},

請求的參數(shù)截圖如下:
在這里插入圖片描述
看下這里提交的三個請求參數(shù):

  1. approveUsers:這是審批當(dāng)前流程的三個用戶,當(dāng)這三個用戶都審批通過后,請假流程就通過了。
  2. days:這是請假的天數(shù)。
  3. reason:這是請假理由。

2.服務(wù)端處理請假請求

服務(wù)端如何處理這個請假請求,代碼如下:

@Transactional
public RespBean askForLeave(AskForLeaveVO askForLeaveVO) {Map<String, Object> variables = new HashMap<>();askForLeaveVO.setName(SecurityContextHolder.getContext().getAuthentication().getName());variables.put("name", askForLeaveVO.getName());variables.put("days", askForLeaveVO.getDays());variables.put("reason", askForLeaveVO.getReason());variables.put("userTasks", askForLeaveVO.getApproveUsers());try {runtimeService.startProcessInstanceByKey("holidayRequest", askForLeaveVO.getName(), variables);return RespBean.ok("已提交請假申請");} catch (Exception e) {e.printStackTrace();}return RespBean.error("提交申請失敗");
}

可以看到,從前端一共傳遞過來三個參數(shù),但是執(zhí)行這個流程需要四個參數(shù),其中一個 name 表示當(dāng)前登錄的用戶名,也就是這個請假是誰發(fā)起的。另外三個參數(shù)就是前端傳來的參數(shù)。

3.服務(wù)端返回待審批數(shù)據(jù)

接下來看下服務(wù)端如何返回待審批數(shù)據(jù),代碼如下:

/***待審批列表*/
public RespBean leaveList() {String identity = SecurityContextHolder.getContext().getAuthentication().getName();//找到所有分配給你的任務(wù)List<Task> tasks = taskService.createTaskQuery().taskAssignee(identity).list();//重新組裝返回的數(shù)據(jù),為每個流程增加任務(wù) id,方便后續(xù)執(zhí)行批準(zhǔn)或者拒絕操作List<Map<String, Object>> list = new ArrayList<>();for (int i = 0; i < tasks.size(); i++) {Task task = tasks.get(i);Map<String, Object> variables = taskService.getVariables(task.getId());variables.put("id", task.getId());list.add(variables);}return RespBean.ok("加載成功", list);
}

頁面如下:
在這里插入圖片描述
這個整體上分了兩步:

  1. 首先查詢出來當(dāng)前用戶所有待審批的 Task。
  2. 查詢出來這些 Task 上的 variables,這是一個 Map 集合,然后我們再手動加上 id 這個參數(shù)。
    最后將組裝好的 list 弄成一個 JSON 返回即可。

4.服務(wù)端批準(zhǔn) OR 拒絕

服務(wù)端批準(zhǔn)或者拒絕請假流程,代碼如下:

public RespBean askForLeaveHandler(ApproveRejectVO approveRejectVO) {try {Task task = taskService.createTaskQuery().taskId(approveRejectVO.getTaskId()).singleResult();boolean approved = approveRejectVO.getApprove();Map<String, Object> variables = new HashMap<String, Object>();variables.put("approved", approved);variables.put("approveUser#" + task.getAssignee(), SecurityContextHolder.getContext().getAuthentication().getName());taskService.complete(task.getId(), variables);return RespBean.ok("操作成功");} catch (Exception e) {e.printStackTrace();}return RespBean.error("操作失敗");
}

批準(zhǔn)或者拒絕,最主要的參數(shù)就是 approved,true 表示批準(zhǔn),false 表示拒絕。

另一方面,由于現(xiàn)在是會簽,我們需要知道目前誰已經(jīng)審批了,誰還沒審批,所以這里額外多加了一個參數(shù) approveUser#XXX,表示審批這個節(jié)點的用戶名(也就是當(dāng)前登錄用戶)。

注意這個參數(shù)的 key 我沒有固定,主要是因為這個節(jié)點會有多個人審批,如果固定的話,后面審批的人會覆蓋掉前面的人,所以這個節(jié)點的 key 設(shè)置成動態(tài)的了,approveUser# 后面加上處理這個節(jié)點的用戶名。

http://www.risenshineclean.com/news/49717.html

相關(guān)文章:

  • 網(wǎng)站流程圖軟件大型網(wǎng)站seo課程
  • 南縣做網(wǎng)站設(shè)計網(wǎng)站大全
  • 做響應(yīng)式網(wǎng)站兼容哪幾個尺寸百度云服務(wù)器官網(wǎng)
  • 大型網(wǎng)站架設(shè)需要考慮哪些問題關(guān)鍵字參數(shù)
  • 網(wǎng)站建設(shè)的好處和目的網(wǎng)站關(guān)鍵詞快速排名技術(shù)
  • 美萍企業(yè)管理軟件海外aso優(yōu)化
  • WordPress里h1跟p有什么重慶seo海洋qq
  • 大連市公眾平臺網(wǎng)站搜索網(wǎng)頁內(nèi)容
  • 做ppt音樂怎么下載網(wǎng)站網(wǎng)絡(luò)小說排行榜
  • 用rp怎么做網(wǎng)站導(dǎo)航菜單收錄提交入口網(wǎng)址
  • 起重機網(wǎng)站怎么做荊門今日頭條新聞發(fā)布
  • 卡通設(shè)計類網(wǎng)站欣賞網(wǎng)絡(luò)營銷軟件大全
  • 臺州網(wǎng)站建設(shè)公司營銷型網(wǎng)站建設(shè)
  • 寵物網(wǎng)站開發(fā)與實現(xiàn)結(jié)論西部數(shù)碼域名注冊
  • 中央取消全國各地核酸檢測河北seo技術(shù)培訓(xùn)
  • 紹興網(wǎng)站建設(shè)方案托管建站模板哪個好
  • 一站式服務(wù)圖片開封seo公司
  • 手機軟件制作和做網(wǎng)站相同短視頻培訓(xùn)學(xué)校
  • wordpress 插入文章seo品牌優(yōu)化
  • 中區(qū)網(wǎng)站建設(shè)營銷知識和技巧
  • 揭陽網(wǎng)站開發(fā)如何查詢域名注冊人信息
  • wordpress建站給媒體分類整站快速排名
  • 電子商務(wù)網(wǎng)站開發(fā)需求文檔深圳seo公司助力網(wǎng)絡(luò)營銷飛躍
  • 安康北京網(wǎng)站建設(shè)aso安卓優(yōu)化
  • 南京網(wǎng)站建設(shè)潤洽海外廣告投放公司
  • 松江附近做網(wǎng)站seo是什么職位
  • 南寧品牌網(wǎng)站建設(shè)公司網(wǎng)站推廣120種方法
  • wordpress數(shù)據(jù)庫大數(shù)據(jù)游戲行業(yè)seo整站優(yōu)化
  • 網(wǎng)站頂部有空白產(chǎn)品推銷
  • 東莞網(wǎng)站優(yōu)化電話域名解析查詢工具