diff --git a/src/api/model/wf.js b/src/api/model/wf.js
index 64264196..6b479b2b 100644
--- a/src/api/model/wf.js
+++ b/src/api/model/wf.js
@@ -188,6 +188,12 @@ export default {
return await http.get( `${config.API_URL}/wf/ticket/${id}/transitions/`);
}
},
+ ticketAvailableActions: {
+ name: "获取当前用户可执行的工单操作",
+ req: async function(id){
+ return await http.get(`${config.API_URL}/wf/ticket/${id}/available_actions/`);
+ }
+ },
dutyAgg: {
url: `${config.API_URL}/wf/ticket/duty_agg/`,
name: "待办审批聚合",
diff --git a/src/views/wf/ticketd_b.vue b/src/views/wf/ticketd_b.vue
index 54f3eaed..80e96d4c 100644
--- a/src/views/wf/ticketd_b.vue
+++ b/src/views/wf/ticketd_b.vue
@@ -1,4 +1,12 @@
+ 接单
\ No newline at end of file
+
diff --git a/src/views/wf/ticketdetail.vue b/src/views/wf/ticketdetail.vue
index 740bb269..bc1e7b3e 100644
--- a/src/views/wf/ticketdetail.vue
+++ b/src/views/wf/ticketdetail.vue
@@ -316,6 +316,14 @@
+ 接单
{
that.mainLoading = false;
that.ticketDetail = res;
@@ -791,11 +802,11 @@ export default {
if (this.ticketDetail.create_by == this.userId) {
this.isOwn = true;
}
- let participant = this.ticketDetail.participant;
- if (
- participant == this.userId ||
- participant.indexOf(this.userId) > -1
- ) {
+ const participant = this.ticketDetail.participant;
+ const participants = Array.isArray(participant)
+ ? participant
+ : [participant];
+ if (participants.map(String).includes(String(this.userId))) {
this.isDuty = true;
}
}).catch((e) => {
@@ -806,21 +817,37 @@ export default {
getBtns() {
let that = this;
that.audit_imgs_show = false;
- that.$API.wf.ticket.ticketTransitions.req(that.ticketId).then((res) => {
- that.operationBtn = res;
+ that.audit_work_show = false;
+ that.needAccept = false;
+ that.$API.wf.ticket.ticketAvailableActions.req(that.ticketId).then((res) => {
+ that.operationBtn = res.transitions;
+ that.needAccept = res.need_accept;
+ if (res.permission || res.need_accept) {
+ that.isDuty = true;
+ }
console.log("operationBtn", that.operationBtn);
- if(res.length>0){
- for (let i = 0; i < res.length; i++) {
- if(res[i].on_submit_func=="apps.opm.services.check_opl_audit_imgs"){
+ if(that.operationBtn.length>0){
+ for (let i = 0; i < that.operationBtn.length; i++) {
+ if(that.operationBtn[i].on_submit_func=="apps.opm.services.check_opl_audit_imgs"){
that.audit_imgs_show = true;
}
- if(res[i].on_submit_func=="apps.opm.services.check_opl_work_imgs"){
+ if(that.operationBtn[i].on_submit_func=="apps.opm.services.check_opl_work_imgs"){
that.audit_work_show = true;
}
}
}
});
},
+ handleAccept() {
+ this.acceptLoading = true;
+ this.$API.wf.ticket.ticketAccept.req(this.ticketId, {}).then(() => {
+ this.$message.success("接单成功");
+ this.getticketItem();
+ this.getBtns();
+ }).finally(() => {
+ this.acceptLoading = false;
+ });
+ },
//访客详情
getVisit() {
this.$API.vm.visit.read.req(this.projectId).then((res) => {