|
@@ -1,11 +1,11 @@
|
|
|
<template>
|
|
|
- <!-- 同意 拒绝 弹窗 -->
|
|
|
- <el-dialog v-model="operaVisibleDialog" title="同意/拒绝审批" width="700" destroy-on-close>
|
|
|
+ <!-- 同意 拒绝 弹窗 同意/拒绝审批 -->
|
|
|
+ <el-dialog v-model="operaVisibleDialog" :title="currentTip + '审批'" width="700" destroy-on-close>
|
|
|
<el-form ref="formRef" v-loading="uploadLoading" label-position="top" element-loading-text="图片上传中..." :model="form" label-width="80px">
|
|
|
- <el-form-item label="审批意见" prop="review" :rules="[{ required: true, message: '审批意见不能为空' }]">
|
|
|
- <el-input v-model="form.review" type="textarea" placeholder="请输入内容" maxlength="64" show-word-limit> </el-input>
|
|
|
+ <el-form-item label="审批意见" prop="content" :rules="[{ required: true, message: '审批意见不能为空' }]">
|
|
|
+ <el-input v-model="form.content" type="textarea" placeholder="请输入内容" maxlength="64" show-word-limit> </el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="attachment" label="附件" class="example-img-box">
|
|
|
+ <el-form-item v-if="false" prop="attachment" label="附件" class="example-img-box">
|
|
|
<!--'.docx', '.doc', '.pptx', '.ppt', '.xlsx', '.xls', '.zip', '.csv', '.pdf', '.png', '.jpg' 因前端不支持图片以外格式,所以注释 -->
|
|
|
<FileUpload
|
|
|
v-model="form.attachment"
|
|
@@ -30,12 +30,24 @@
|
|
|
<script setup>
|
|
|
import { computed, reactive, ref } from 'vue'
|
|
|
import FileUpload from '@/components/FileUpload.vue'
|
|
|
+import { processConsentTaskApi, processRejectionTaskApi } from '@/api/flow/processTask'
|
|
|
|
|
|
const props = defineProps({
|
|
|
+ // 弹窗是否显示
|
|
|
modelValue: {
|
|
|
type: Boolean,
|
|
|
default: false
|
|
|
},
|
|
|
+ // 审核id
|
|
|
+ taskId: {
|
|
|
+ type: String,
|
|
|
+ default: undefined
|
|
|
+ },
|
|
|
+ // 审核类型 同意(agree) or 拒绝(reject)
|
|
|
+ currentType: {
|
|
|
+ type: String,
|
|
|
+ default: 'agree'
|
|
|
+ },
|
|
|
showOrderDesc: {
|
|
|
type: Boolean,
|
|
|
default: true
|
|
@@ -48,27 +60,31 @@ const props = defineProps({
|
|
|
})
|
|
|
const btnDisabled = ref(false)
|
|
|
const form = reactive({
|
|
|
- review: '',
|
|
|
- attachment: []
|
|
|
+ content: '',
|
|
|
+ // attachment: []
|
|
|
})
|
|
|
const formRef = ref(null)
|
|
|
const uploadLoading = ref(false)
|
|
|
|
|
|
-const $myEmit = defineEmits(['update:modelValue', 'confirm'])
|
|
|
+const $myEmit = defineEmits(['update:modelValue'])
|
|
|
|
|
|
const submitForm = () => {
|
|
|
btnDisabled.value = true
|
|
|
- const formData = { ...form }
|
|
|
+ const formData = { ...form, taskId: props.taskId }
|
|
|
formRef.value
|
|
|
.validate()
|
|
|
- .then(valid => {
|
|
|
+ .then(async valid => {
|
|
|
if (valid) {
|
|
|
- emit('confirm', formData)
|
|
|
+ if (currentTip.value) {
|
|
|
+ await processConsentTaskApi(formData)
|
|
|
+ } else {
|
|
|
+ await processRejectionTaskApi(formData)
|
|
|
+ }
|
|
|
+ closeDialog()
|
|
|
btnDisabled.value = false
|
|
|
}
|
|
|
})
|
|
|
.catch(err => {
|
|
|
- console.error('挂起订单表单拦截', err)
|
|
|
btnDisabled.value = false
|
|
|
})
|
|
|
}
|
|
@@ -86,6 +102,10 @@ const operaVisibleDialog = computed({
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+const currentTip = computed(() => {
|
|
|
+ return props.currentType === 'agree' ? '同意' : '拒绝'
|
|
|
+})
|
|
|
+
|
|
|
const clearValidate = () => {}
|
|
|
</script>
|
|
|
|