|
|
@@ -9,7 +9,15 @@ |
|
|
|
<l-input v-if="needTitle" v-model="title" title="流程标题" placeholder="请为流程设置一个标题" required /> |
|
|
|
<l-select v-model="level" :range="levelRange" title="流程优先级" placeholder="请选择一个优先级" required /> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 指派审核人弹窗 --> |
|
|
|
<l-modal v-model="modal" @close="reviewer = ''" title="指派审核人"> |
|
|
|
<l-checkbox-picker @input="(e)=>{reviewer = e}" :value="reviewer" :readonly="false" :range="reviewerList" |
|
|
|
required title="审核人" /> |
|
|
|
<l-button @click="userAssign" color="blue" class="block" block>确定指派</l-button> |
|
|
|
<l-button @click="()=>{modal = false;reviewer = ''}" line="blue" class="block margin-top-sm" block>取消</l-button> |
|
|
|
</l-modal> |
|
|
|
|
|
|
|
<!-- 发起流程/重新发起流程按钮 --> |
|
|
|
<view v-if="ready" class="padding margin-top bg-white" style="padding-top: 0; overflow: hidden;"> |
|
|
|
<l-button v-if="type !== 'again'" @click="draft" size="lg" color="orange" class="block margin-top" block> |
|
|
@@ -43,7 +51,15 @@ export default { |
|
|
|
level: '0', |
|
|
|
levelRange: [{ value: '0', text: '普通' }, { value: '1', text: '重要' }, { value: '2', text: '紧急' }], |
|
|
|
title: '', |
|
|
|
needTitle: false |
|
|
|
needTitle: false, |
|
|
|
|
|
|
|
// 指派审核人数据 |
|
|
|
modal: false, |
|
|
|
userAssignData:{},//收集数据用来判断是否需要审核人 |
|
|
|
reviewerListId:'', |
|
|
|
reviewerList:[], |
|
|
|
submitPostData:{}, |
|
|
|
reviewer: [], |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@@ -61,6 +77,7 @@ export default { |
|
|
|
this.LOADING('加载表单中…') |
|
|
|
this.type = type |
|
|
|
const currentTask = this.GET_PARAM() |
|
|
|
this.userAssignData.currentTask = currentTask |
|
|
|
const { F_Code: code, F_Id: pid } = currentTask |
|
|
|
|
|
|
|
// 设置页面标题 |
|
|
@@ -75,6 +92,9 @@ export default { |
|
|
|
const processId = this.type === 'create' ? this.GUID('-') : pid |
|
|
|
const processInfo = await this.fetchProcessInfo({ code, processId: this.type === 'create' ? null : processId }) |
|
|
|
const currentNode = this.getCurrentNode(processInfo) |
|
|
|
console.log(processInfo) |
|
|
|
|
|
|
|
this.userAssignData.currentNode =currentNode |
|
|
|
|
|
|
|
// wfForms 的数组成员 t,表示表单数据项(TAB页),t.type 表示类别,注意它是字符串型,用 Number(t.type) 转换 |
|
|
|
// 为 1 则使用工作流表单,依据它的 .formId |
|
|
@@ -153,7 +173,49 @@ export default { |
|
|
|
this.TOAST('草稿已保存', 'success') |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 指派审核人 |
|
|
|
async userAssign() { |
|
|
|
this.modal = false |
|
|
|
if(!this.reviewer.length){ |
|
|
|
this.TOAST('请选择审核人') |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
// const res = await this.HTTP_POST('learun/adms/newwf/instance', this.submitPostData.formreq, `指派审核人时发生错误`) |
|
|
|
// if(!res){ |
|
|
|
// return |
|
|
|
// } |
|
|
|
// delete this.submitPostData.formreq |
|
|
|
|
|
|
|
const isAgain = this.type === 'again' |
|
|
|
// if (!(await this.CONFIRM('提交确认', `确定要${isAgain ? '重新' : ''}发起流程吗?`, true))) { |
|
|
|
// return |
|
|
|
// } |
|
|
|
this.LOADING('正在提交…') |
|
|
|
// this.submitPostData.schemeCode = this.submitPostData.code |
|
|
|
// delete this.submitPostData.code |
|
|
|
// this.submitPostData.title = '' |
|
|
|
// this.submitPostData.createUserId = '' |
|
|
|
if (this.needTitle) { |
|
|
|
this.submitPostData.title = this.title |
|
|
|
} |
|
|
|
this.submitPostData.level = this.level |
|
|
|
this.submitPostData.auditors = JSON.stringify({[this.reviewerListId]:this.reviewer.toString()}) |
|
|
|
|
|
|
|
const url = isAgain ? 'learun/adms/newwf/againcreate' : 'learun/adms/newwf/create' |
|
|
|
const tips = `流程${isAgain ? '重新' : ''}发起失败` |
|
|
|
this.HTTP_POST(url, this.submitPostData, tips).then(success => { |
|
|
|
this.HIDE_LOADING() |
|
|
|
if (!success) { |
|
|
|
return |
|
|
|
} |
|
|
|
this.EMIT('task-list-change') |
|
|
|
this.NAV_BACK() |
|
|
|
this.TOAST(`流程${isAgain ? '重新' : ''}发起成功`, 'success') |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 发起流程按钮 |
|
|
|
async submit() { |
|
|
|
const isAgain = this.type === 'again' |
|
|
@@ -165,6 +227,46 @@ export default { |
|
|
|
this.CONFIRM('表单验证失败', verifyResult.join('\n')) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
const formValue = this.$refs.form.getFormValue() |
|
|
|
const postData = await this.getPostData(this.formValue, this.scheme) |
|
|
|
|
|
|
|
// 判断是否指派审核人 |
|
|
|
let isNext = this.userAssignData.currentNode.isNext |
|
|
|
Object.assign(this.userAssignData,{ code: 'agree' }) |
|
|
|
if (this.userAssignData.next == '2') { |
|
|
|
isNext = '1'; |
|
|
|
} |
|
|
|
if (isNext == '1') { |
|
|
|
let params = { |
|
|
|
code: this.code, |
|
|
|
processId: this.processId, |
|
|
|
taskId: this.userAssignData.currentTask.taskId, |
|
|
|
nodeId: this.userAssignData.currentNode.id, |
|
|
|
operationCode: this.userAssignData.code, |
|
|
|
} |
|
|
|
this.LOADING('正在获取审核人…') |
|
|
|
const userList = await this.HTTP_GET('learun/adms/newwf/auditer', params, `获取审核人时发生错误`) |
|
|
|
this.HIDE_LOADING() |
|
|
|
if (!userList) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let arr = Object.entries(userList) |
|
|
|
this.reviewerListId = arr[0][0] |
|
|
|
this.reviewerList = arr[0][1].map(item => { |
|
|
|
return { |
|
|
|
text: item.Name, |
|
|
|
value: item.Id |
|
|
|
} |
|
|
|
}) |
|
|
|
this.submitPostData = postData |
|
|
|
if(this.reviewerList.length>1){ |
|
|
|
this.modal = true |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!(await this.CONFIRM('提交确认', `确定要${isAgain ? '重新' : ''}发起流程吗?`, true))) { |
|
|
|
return |
|
|
@@ -172,8 +274,8 @@ export default { |
|
|
|
|
|
|
|
this.LOADING('正在提交…') |
|
|
|
|
|
|
|
const formValue = this.$refs.form.getFormValue() |
|
|
|
const postData = await this.getPostData(formValue, this.scheme) |
|
|
|
// const formValue = this.$refs.form.getFormValue() |
|
|
|
// const postData = await this.getPostData(formValue, this.scheme) |
|
|
|
if (this.needTitle) { |
|
|
|
postData.title = this.title |
|
|
|
} |
|
|
|