修改技术监督按钮重复点击问题

This commit is contained in:
GGJ
2024-10-17 13:29:51 +08:00
parent e470554b7c
commit 96ea25d0a6
6 changed files with 57 additions and 58 deletions

View File

@@ -1,12 +1,6 @@
<template>
<el-dialog
draggable
class="cn-operate-dialog"
v-model="dialogVisible"
:title="title"
:before-close="handleClose"
width="1200px"
>
<el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title" :before-close="handleClose"
width="1200px">
<el-scrollbar>
<el-form :inline="false" :model="form" class="form-two" label-width="auto" :rules="rules" ref="formRef">
<el-form-item label="事件名称" prop="name">
@@ -21,37 +15,21 @@
/>
</el-form-item> -->
<el-form-item label="发生地点" prop="location">
<el-input
v-model="form.location"
placeholder="请输入发生地点"
:autosize="{ minRows: 2, maxRows: 4 }"
type="textarea"
/>
<el-input v-model="form.location" placeholder="请输入发生地点" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" />
</el-form-item>
<el-form-item label="事件经过" prop="process">
<el-input
v-model="form.process"
placeholder="请输入事件经过"
:autosize="{ minRows: 2, maxRows: 4 }"
type="textarea"
/>
<el-input v-model="form.process" placeholder="请输入事件经过" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" />
</el-form-item>
<el-form-item label="处理措施" prop="measures">
<el-input
v-model="form.measures"
placeholder="请输入处理措施"
:autosize="{ minRows: 2, maxRows: 4 }"
type="textarea"
/>
<el-input v-model="form.measures" placeholder="请输入处理措施" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" />
</el-form-item>
<el-form-item label="治理效果" prop="effect">
<el-input
v-model="form.effect"
placeholder="请输入治理效果"
:autosize="{ minRows: 2, maxRows: 4 }"
type="textarea"
/>
<el-input v-model="form.effect" placeholder="请输入治理效果" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" />
</el-form-item>
<el-form-item label="附件">
<el-upload v-model:file-list="fileList" action="" :auto-upload="false" multiple>
@@ -68,7 +46,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="handleClose">取消</el-button>
<el-button type="primary" @click="submit">确认</el-button>
<el-button type="primary" @click="submit" :loading="loading">确认</el-button>
</span>
</template>
</el-dialog>
@@ -85,6 +63,7 @@ const emit = defineEmits(['onSubmit'])
const dialogVisible = ref(false)
const title = ref('')
const formRef = ref()
const loading = ref(false)
const fileList: any = ref([])
// 注意不要和表单ref的命名冲突
const form = reactive<anyObj>({
@@ -135,8 +114,9 @@ const open = (text: string, data?: anyObj) => {
}
}
}
const submit = () => {
formRef.value.validate(async (valid: boolean) => {
const submit = async () => {
loading.value = true
await formRef.value.validate(async (valid: boolean) => {
if (valid) {
if (fileList.value.length > 0) {
const promises = fileList.value.map(async item => {
@@ -164,21 +144,25 @@ const submit = () => {
form.url = ''
}
setTimeout(() => {
await setTimeout(async () => {
if (title.value === '新增案例') {
libcaseAdd(form).then(res => {
await libcaseAdd(form).then(res => {
ElMessage.success(title.value + '成功!')
handleClose()
})
} else {
ElMessage.success(title.value + '成功!')
updateCaseLibrary(form).then(res => {
await updateCaseLibrary(form).then(res => {
ElMessage.success(title.value + '成功!')
handleClose()
})
}
}, 100)
}
})
await setTimeout(() => {
loading.value = false
}, 1000)
}
const handleClose = () => {