|
@@ -22,7 +22,7 @@
|
|
|
class="mb-auto"
|
|
|
ref="approveFormRef"
|
|
|
:model="approveReasonForm"
|
|
|
- :rules="approveReasonRule"
|
|
|
+ :rules="processInstance.name==='故障上报流程'?transferFormRuleType:approveReasonRule"
|
|
|
label-width="100px"
|
|
|
>
|
|
|
<el-card v-if="runningTask?.formId > 0" class="mb-15px !-mt-10px">
|
|
@@ -36,6 +36,27 @@
|
|
|
:rule="approveForm.rule"
|
|
|
/>
|
|
|
</el-card>
|
|
|
+ <el-form-item label="负责人" prop="assigneeUserId" v-if="processInstance.name==='故障上报流程'">
|
|
|
+ <el-select v-model="approveReasonForm.assigneeUserId" filterable clearable style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in deptUsers"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.nickname"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="维修类型" v-if="processInstance.name==='故障上报流程'" prop="type">
|
|
|
+ <el-select v-model="approveReasonForm.type">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in getStrDictOptions(DICT_TYPE.PMS_MAIN_TYPE)"
|
|
|
+ :key="dict.label"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item :label="`${nodeTypeName}意见`" prop="reason">
|
|
|
<el-input
|
|
|
v-model="approveReasonForm.reason"
|
|
@@ -75,7 +96,7 @@
|
|
|
<el-button
|
|
|
:disabled="formLoading"
|
|
|
type="success"
|
|
|
- @click="handleAudit(true, approveFormRef)"
|
|
|
+ @click="processInstance.name==='故障上报流程'?handleTransferType(approveFormRef):handleAudit(true, approveFormRef)"
|
|
|
>
|
|
|
{{ getButtonDisplayName(OperationButtonType.APPROVE) }}
|
|
|
</el-button>
|
|
@@ -208,11 +229,11 @@
|
|
|
class="mb-auto"
|
|
|
ref="transferFormRef"
|
|
|
:model="transferForm"
|
|
|
- :rules="processInstance.name==='故障上报流程'?transferFormRuleType:transferFormRule"
|
|
|
+ :rules="transferFormRule"
|
|
|
label-width="100px"
|
|
|
>
|
|
|
<!-- <el-form-item label="新审批人" prop="assigneeUserId">-->
|
|
|
- <el-form-item label="新审批人" prop="assigneeUserId" v-if="processInstance.name!='故障上报流程'">
|
|
|
+ <el-form-item label="新审批人" prop="assigneeUserId">
|
|
|
<el-select v-model="transferForm.assigneeUserId" filterable clearable style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in userOptions"
|
|
@@ -223,28 +244,6 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="负责人" prop="assigneeUserId" v-if="processInstance.name==='故障上报流程'">
|
|
|
- <el-select v-model="transferForm.assigneeUserId" filterable clearable style="width: 100%">
|
|
|
- <el-option
|
|
|
- v-for="item in deptUsers"
|
|
|
- :key="item.id"
|
|
|
- :label="item.nickname"
|
|
|
- :value="item.id"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="维修类型" v-if="processInstance.name==='故障上报流程'" prop="type">
|
|
|
- <el-select v-model="transferForm.type">
|
|
|
- <el-option
|
|
|
- v-for="dict in getStrDictOptions(DICT_TYPE.PMS_MAIN_TYPE)"
|
|
|
- :key="dict.label"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
<el-form-item label="审批意见" prop="reason">
|
|
|
<el-input
|
|
|
v-model="transferForm.reason"
|
|
@@ -255,7 +254,7 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button :disabled="formLoading" type="primary" @click="processInstance.name==='故障上报流程'?handleTransferType():handleTransfer()">
|
|
|
+ <el-button :disabled="formLoading" type="primary" @click="handleTransfer()">
|
|
|
{{ getButtonDisplayName(OperationButtonType.TRANSFER) }}
|
|
|
</el-button>
|
|
|
<el-button @click="closePopover('transfer', transferFormRef)"> 取消 </el-button>
|
|
@@ -602,7 +601,9 @@ const nextAssigneesActivityNode = ref<ProcessInstanceApi.ApprovalNodeInfo[]>([])
|
|
|
const approveReasonForm = reactive({
|
|
|
reason: '',
|
|
|
signPicUrl: '',
|
|
|
- nextAssignees: {}
|
|
|
+ nextAssignees: {},
|
|
|
+ type:undefined,
|
|
|
+ assigneeUserId: undefined,
|
|
|
})
|
|
|
const approveReasonRule = computed(() => {
|
|
|
return {
|
|
@@ -647,9 +648,13 @@ const transferFormRule = reactive<FormRules<typeof transferForm>>({
|
|
|
reason: [{ required: true, message: '审批意见不能为空', trigger: 'blur' }]
|
|
|
})
|
|
|
const transferFormRuleType = reactive<FormRules<typeof transferForm>>({
|
|
|
- assigneeUserId: [{ required: true, message: '新审批人不能为空', trigger: 'change' }],
|
|
|
type: [{ required: true, message: '维修类型不能为空', trigger: 'change' }],
|
|
|
- reason: [{ required: true, message: '审批意见不能为空', trigger: 'blur' }]
|
|
|
+ reason: [
|
|
|
+ { required: reasonRequire.value, message: nodeTypeName + '意见不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ assigneeUserId: [{ required: true, message: '维修负责人不能为空', trigger: 'change' }],
|
|
|
+ signPicUrl: [{ required: true, message: '签名不能为空', trigger: 'change' }],
|
|
|
+ nextAssignees: [{ required: true, message: '审批人不能为空', trigger: 'blur' }]
|
|
|
})
|
|
|
// 委派表单
|
|
|
const delegateFormRef = ref<FormInstance>()
|
|
@@ -879,7 +884,6 @@ const handleCopy = async () => {
|
|
|
|
|
|
/** 处理转交 */
|
|
|
const handleTransfer = async () => {
|
|
|
- debugger
|
|
|
formLoading.value = true
|
|
|
try {
|
|
|
// 1.1 校验表单
|
|
@@ -902,23 +906,19 @@ const handleTransfer = async () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-const handleTransferType = async () => {
|
|
|
+const handleTransferType = async (formRef: FormInstance | undefined) => {
|
|
|
+ debugger
|
|
|
formLoading.value = true
|
|
|
try {
|
|
|
// 1.1 校验表单
|
|
|
- if (!transferFormRef.value) return
|
|
|
- await transferFormRef.value.validate()
|
|
|
+ if (!approveFormRef.value) return
|
|
|
+ await approveFormRef.value.validate()
|
|
|
// 1.2 提交转交
|
|
|
- await IotFailureReportApi.updateIotMaintainProcess(props.processInstance.businessKey, transferForm.type, transferForm.assigneeUserId);
|
|
|
- const data = {
|
|
|
- id: runningTask.value.id,
|
|
|
- reason: transferForm.reason,
|
|
|
- type: transferForm.type,
|
|
|
- assigneeUserId: transferForm.assigneeUserId
|
|
|
- }
|
|
|
- await TaskApi.transferTask(data)
|
|
|
- transferFormRef.value.resetFields()
|
|
|
- popOverVisible.value.transfer = false
|
|
|
+ await IotFailureReportApi.updateIotMaintainProcess(props.processInstance.businessKey, approveReasonForm.type, approveReasonForm.assigneeUserId);
|
|
|
+ await handleAudit(true, formRef)
|
|
|
+ // await TaskApi.transferTask(data)
|
|
|
+ // transferFormRef.value.resetFields()
|
|
|
+ // popOverVisible.value.transfer = false
|
|
|
message.success('操作成功')
|
|
|
// 2. 加载最新数据
|
|
|
reload()
|