|
@@ -2,15 +2,15 @@
|
|
|
<!-- 回退审批弹窗 -->
|
|
|
<el-dialog v-model="reviewVisibleDialog" title="回退审批" 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-select v-model="form.deliverTo" placeholder="请选择回退节点">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ <el-form-item label="回退到" prop="nodeName" :rules="[{ required: true, message: '请选择回退节点' }]">
|
|
|
+ <el-select v-model="form.nodeName" placeholder="请选择回退节点">
|
|
|
+ <el-option v-for="item in rollbackOptions" :key="item" :label="item" :value="item" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="回退原因" prop="review">
|
|
|
- <el-input v-model="form.review" type="textarea" placeholder="请输入回退原因" maxlength="64" show-word-limit> </el-input>
|
|
|
+ <el-form-item label="回退原因" prop="content">
|
|
|
+ <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"
|
|
@@ -33,8 +33,9 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { computed, reactive, ref } from 'vue'
|
|
|
+import { computed, onMounted, reactive, ref } from 'vue'
|
|
|
import FileUpload from '@/components/FileUpload.vue'
|
|
|
+import { processPreviousNodeNameApi, processTaskJumpApi } from '@/api/flow/processTask'
|
|
|
|
|
|
const props = defineProps({
|
|
|
modelValue: {
|
|
@@ -48,49 +49,35 @@ const props = defineProps({
|
|
|
})
|
|
|
const btnDisabled = ref(false)
|
|
|
const form = reactive({
|
|
|
- deliverTo: '',
|
|
|
- review: '',
|
|
|
- attachment: []
|
|
|
+ nodeName: '',
|
|
|
+ content: ''
|
|
|
+ // attachment: []
|
|
|
})
|
|
|
const formRef = ref(null)
|
|
|
const uploadLoading = ref(false)
|
|
|
-const options = [
|
|
|
- {
|
|
|
- value: 'Option1',
|
|
|
- label: 'Option1'
|
|
|
- },
|
|
|
- {
|
|
|
- value: 'Option2',
|
|
|
- label: 'Option2'
|
|
|
- },
|
|
|
- {
|
|
|
- value: 'Option3',
|
|
|
- label: 'Option3'
|
|
|
- },
|
|
|
- {
|
|
|
- value: 'Option4',
|
|
|
- label: 'Option4'
|
|
|
- },
|
|
|
- {
|
|
|
- value: 'Option5',
|
|
|
- label: 'Option5'
|
|
|
- }
|
|
|
-]
|
|
|
+const rollbackOptions = ref([])
|
|
|
|
|
|
const $myEmit = defineEmits(['update:modelValue', 'successCb'])
|
|
|
|
|
|
+// 回退节点列表
|
|
|
+const getProcessPreviousNodeNameApi = async () => {
|
|
|
+ const res = await processPreviousNodeNameApi(props.taskId)
|
|
|
+ rollbackOptions.value = res || []
|
|
|
+}
|
|
|
+
|
|
|
const submitForm = () => {
|
|
|
btnDisabled.value = true
|
|
|
- const formData = { ...form }
|
|
|
+ const formData = { ...form, taskId: props.taskId }
|
|
|
formRef.value
|
|
|
.validate()
|
|
|
- .then(valid => {
|
|
|
+ .then(async valid => {
|
|
|
if (valid) {
|
|
|
+ await processTaskJumpApi(formData)
|
|
|
+ closeDialog()
|
|
|
btnDisabled.value = false
|
|
|
}
|
|
|
})
|
|
|
.catch(err => {
|
|
|
- console.error('挂起订单表单拦截', err)
|
|
|
btnDisabled.value = false
|
|
|
})
|
|
|
}
|
|
@@ -100,6 +87,8 @@ const closeDialog = () => {
|
|
|
$myEmit('update:modelValue', false)
|
|
|
}
|
|
|
|
|
|
+const clearValidate = () => {}
|
|
|
+
|
|
|
const reviewVisibleDialog = computed({
|
|
|
get() {
|
|
|
return props.modelValue
|
|
@@ -109,7 +98,9 @@ const reviewVisibleDialog = computed({
|
|
|
}
|
|
|
})
|
|
|
|
|
|
-const clearValidate = () => {}
|
|
|
+onMounted(() => {
|
|
|
+ getProcessPreviousNodeNameApi()
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|