addCheck.vue
2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<template>
<el-dialog :title="props.title" v-model="state.openDialog" width="600px" append-to-body destroy-on-close @close="handleClose(false)">
<el-form ref="orderForm" :model="state.formModel" :rules="formRules" label-position="left" label-width="80px">
<el-form-item label="企业名称">
{{props.projectInfo.enterpriseName}}
</el-form-item>
<el-form-item label="报告类型">
{{props.projectInfo.reportTypeStr}}
</el-form-item>
<el-form-item label="委托类型">
{{props.projectInfo.entrustTypeStr}}
</el-form-item>
<el-form-item label="下单备注" prop="remark">
{{props.projectInfo.remark}}
</el-form-item>
<el-form-item label="审批意见" prop="auditStatus">
<el-radio-group v-model="state.formModel.auditStatus">
<el-radio v-for="(item, index) in state.checkList" :key="index" :label="item.dictValue">{{`${item.dictLabel}`}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="拒绝原因" prop="opinion" v-if="state.formModel.auditStatus === '1'">
<el-input type="textarea" :rows="4" v-model="state.formModel.opinion"></el-input>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="handleClose(false)">取消</el-button>
<el-button type="primary" :loading="state.isSubmit" @click="handleSubmit">确定</el-button>
</span>
</template>
</el-dialog>
</template>
<script setup lang="ts">
import * as api from "../../interface/api.ts";
const emit = defineEmits(["handleClose"]);
let orderForm = ref<FormInstance>()
let props = defineProps({
title: {
default: "",
type: String
},
open: {
default: false,
type: Boolean
},
openName: {
type: String,
required: true,
default: ""
},
projectInfo: {
type: Object,
}
})
let state = reactive({
openDialog: false,
formModel: {},
checkList: [{dictLabel: '审核通过', dictValue: '2'}, {dictLabel: '审核拒绝', dictValue: '1'}],
isSubmit: false,
})
let formRules = reactive<FormRules>({
auditStatus: [
{ required: true, message: "审批意见不能为空", trigger: ["blur","change"] }
],
opinion: [
{ required: true, message: "拒绝原因不能为空", trigger: ["blur","change"] }
],
})
let handleClose = (isRefresh: boolean) => {
emit('handleClose', props.openName, false, isRefresh)
}
let handleSubmit = () => {
orderForm.value.validate((valid: boolean) => {
if (valid) {
state.isSubmit = true
api.submitData(state.formModel, "/web/report/audit").then((res: any)=> {
ElMessage.success("操作成功")
handleClose(true)
state.isSubmit = false
}).finally(()=> {
state.isSubmit = false
})
}
})
}
watchEffect(()=> {
state.openDialog = props.open
state.formModel.id = props.projectInfo.id
})
</script>
<style scoped>
</style>