优化增加请求时loading

This commit is contained in:
BianLzhaoMin 2025-11-25 10:05:43 +08:00
parent 885b616c71
commit ace08af8ca
10 changed files with 144 additions and 98 deletions

View File

@ -39,7 +39,7 @@ export default {
// //
debounceTime: { debounceTime: {
type: Number, type: Number,
default: 800, default: 500,
}, },
}, },
data() { data() {
@ -80,7 +80,7 @@ export default {
} }
} }
} catch (error) { } catch (error) {
console.error('按钮点击事件执行失败:', error) // console.error(':', error)
} finally { } finally {
this.loading = false this.loading = false
} }

View File

@ -145,13 +145,13 @@
> >
取消 取消
</el-button> </el-button>
<el-button <ComButton
size="medium" size="medium"
type="primary" type="primary"
@click="onHandleConfirmAddOrEdit" @click="onHandleConfirmAddOrEdit"
> >
确定 确定
</el-button> </ComButton>
</el-row> </el-row>
</template> </template>
@ -212,6 +212,7 @@
<script> <script>
import TableModel from '@/components/TableModel' import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel' import DialogModel from '@/components/DialogModel'
import ComButton from '@/components/ComButton'
import { formLabel, columnsList, dialogConfig } from './config' import { formLabel, columnsList, dialogConfig } from './config'
import { import {
@ -226,6 +227,7 @@ export default {
components: { components: {
TableModel, TableModel,
DialogModel, DialogModel,
ComButton,
}, },
data() { data() {
@ -336,31 +338,37 @@ export default {
// //
onHandleConfirmAddOrEdit() { onHandleConfirmAddOrEdit() {
this.$refs.addOrEditFormRef.validate(async (valid) => { return new Promise(async (resolve, reject) => {
if (valid) { this.$refs.addOrEditFormRef.validate(async (valid) => {
const params = { if (valid) {
...this.addOrEditForm, const params = {
} ...this.addOrEditForm,
if (this.dialogConfig.outerTitle === '新增总工程') { }
delete params.id if (this.dialogConfig.outerTitle === '新增总工程') {
} delete params.id
const res = await addAndEditAllProjectAPI(params) }
const res = await addAndEditAllProjectAPI(params)
if (res.code === 200) { resolve()
this.$modal.msgSuccess(
this.dialogConfig.outerTitle === '新增总工程'
? '新增成功'
: '修改成功',
)
this.handleCloseDialogOuter()
this.$refs.allProjectTableRef.getTableList() //
// store if (res.code === 200) {
this.$store.dispatch('getMainProjectList') this.$modal.msgSuccess(
this.dialogConfig.outerTitle === '新增总工程'
? '新增成功'
: '修改成功',
)
this.handleCloseDialogOuter()
this.$refs.allProjectTableRef.getTableList() //
// store
this.$store.dispatch('getMainProjectList')
} else {
this.$modal.msgError(res.msg)
}
} else { } else {
this.$modal.msgError(res.msg) reject()
} }
} })
}) })
}, },

View File

@ -331,7 +331,7 @@ export default {
// //
async onHandleConfirmAddOrEdit() { async onHandleConfirmAddOrEdit() {
return new Promise(async (resolve) => { return new Promise(async (resolve, reject) => {
this.$refs.addOrEditFormRef.validate(async (valid) => { this.$refs.addOrEditFormRef.validate(async (valid) => {
if (valid) { if (valid) {
const params = { const params = {
@ -343,6 +343,7 @@ export default {
} }
const res = await addAndEditDeptProjectAPI(params) const res = await addAndEditDeptProjectAPI(params)
resolve()
if (res.code === 200) { if (res.code === 200) {
this.$modal.msgSuccess( this.$modal.msgSuccess(
this.dialogConfig.outerTitle === '新增项目部' this.dialogConfig.outerTitle === '新增项目部'
@ -353,7 +354,8 @@ export default {
this.$refs.deptProjectTableRef.getTableList() // this.$refs.deptProjectTableRef.getTableList() //
this.$store.dispatch('getSubCompanySelectList') // store this.$store.dispatch('getSubCompanySelectList') // store
} }
resolve() } else {
reject()
} }
}) })
}) })

View File

@ -94,13 +94,13 @@
<el-button size="medium" @click="handleCloseDialogOuter"> <el-button size="medium" @click="handleCloseDialogOuter">
取消 取消
</el-button> </el-button>
<el-button <ComButton
size="medium" size="medium"
type="primary" type="primary"
@click="onHandleConfirmAddOrEdit" @click="onHandleConfirmAddOrEdit"
> >
确定 确定
</el-button> </ComButton>
</el-row> </el-row>
</template> </template>
</DialogModel> </DialogModel>
@ -111,6 +111,7 @@
import TableModel from '@/components/TableModel' import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel' import DialogModel from '@/components/DialogModel'
import AddOrEditForm from './add-or-edit-form' import AddOrEditForm from './add-or-edit-form'
import ComButton from '@/components/ComButton'
import { formLabel, columnsList, dialogConfig } from './config' import { formLabel, columnsList, dialogConfig } from './config'
import { import {
deleteLotLotProjectAPI, deleteLotLotProjectAPI,
@ -131,6 +132,7 @@ export default {
TableModel, TableModel,
DialogModel, DialogModel,
AddOrEditForm, AddOrEditForm,
ComButton,
}, },
data() { data() {
@ -286,13 +288,17 @@ export default {
// //
async onHandleConfirmAddOrEdit() { async onHandleConfirmAddOrEdit() {
try { return new Promise(async (resolve, reject) => {
await this.$refs.addOrEditLotProjectFormRef.onHandleConfirmAddOrEditFun() try {
this.handleCloseDialogOuter() await this.$refs.addOrEditLotProjectFormRef.onHandleConfirmAddOrEditFun()
this.$refs.lotProjectTableRef.getTableList() // resolve()
} catch (error) { this.handleCloseDialogOuter()
// console.log('', error) this.$refs.lotProjectTableRef.getTableList() //
} } catch (error) {
// console.log('', error)
reject(error)
}
})
}, },
// //

View File

@ -134,6 +134,7 @@
<el-button <el-button
size="medium" size="medium"
type="primary" type="primary"
:loading="loading"
@click="onHandleConfirmAddOrEdit" @click="onHandleConfirmAddOrEdit"
> >
确定 确定
@ -148,6 +149,7 @@
import TableModel from '@/components/TableModel' import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel' import DialogModel from '@/components/DialogModel'
import AddAndBindForm from './add-and-bind.form.vue' import AddAndBindForm from './add-and-bind.form.vue'
import { formLabel, columnsList, dialogConfig } from './config' import { formLabel, columnsList, dialogConfig } from './config'
import { import {
editAttendanceMachineAPI, editAttendanceMachineAPI,
@ -164,6 +166,7 @@ export default {
data() { data() {
return { return {
loading: false,
formType: 1, formType: 1,
formLabel, formLabel,
columnsList, columnsList,
@ -248,12 +251,15 @@ export default {
// //
async onHandleConfirmAddOrEdit() { async onHandleConfirmAddOrEdit() {
this.loading = true
try { try {
await this.$refs.addOrEditSubBaseInfoRef.onHandleConfirmAddOrEditFun() await this.$refs.addOrEditSubBaseInfoRef.onHandleConfirmAddOrEditFun()
this.handleCloseDialogOuter() this.handleCloseDialogOuter()
this.$refs.attendanceMachineTableRef.getTableList() this.$refs.attendanceMachineTableRef.getTableList()
} catch (error) { } catch (error) {
// console.log('', error) // console.log('', error)
} finally {
this.loading = false
} }
}, },

View File

@ -305,11 +305,15 @@ export default {
// }, 300), // }, 300),
onHandleConfirmAddOrEdit() { onHandleConfirmAddOrEdit() {
return new Promise(async (resolve) => { return new Promise(async (resolve, reject) => {
await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun() try {
this.$refs.personEntryTableRef.getTableList() await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun()
this.handleCloseDialogOuter() this.$refs.personEntryTableRef.getTableList()
resolve() this.handleCloseDialogOuter()
resolve()
} catch (error) {
reject(error)
}
}) })
// await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun() // await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun()
// this.$refs.personEntryTableRef.getTableList() // this.$refs.personEntryTableRef.getTableList()

View File

@ -691,7 +691,7 @@ export default {
const res = await this.addShanghaiProEin() const res = await this.addShanghaiProEin()
if (res) { if (res) {
this.$emit('closeDialogOuter') this.$emit('closeDialogOuter')
resolve() // resolve()
} }
}, },
@ -702,7 +702,7 @@ export default {
this.$refs.addEntryProjectFormRef.resetFields() this.$refs.addEntryProjectFormRef.resetFields()
this.dialogConfig.outerVisible = false this.dialogConfig.outerVisible = false
this.getShanghaiProList() this.getShanghaiProList()
resolve() // resolve()
} }
}, },

View File

@ -97,6 +97,7 @@
<el-button <el-button
size="medium" size="medium"
type="primary" type="primary"
:loading="loading"
@click="onHandleConfirmAddOrEdit" @click="onHandleConfirmAddOrEdit"
> >
确定 确定
@ -170,6 +171,7 @@ export default {
formType: 1, // formType: 1, //
workerId: '', // id workerId: '', // id
proId: '', // id proId: '', // id
loading: false,
slots: { slots: {
businessLicense: 'businessLicense', businessLicense: 'businessLicense',
@ -254,6 +256,7 @@ export default {
onHandleConfirmAddOrEdit: debounce(function () { onHandleConfirmAddOrEdit: debounce(function () {
// //
const handleAsync = async () => { const handleAsync = async () => {
this.loading = true
try { try {
const res = const res =
await this.$refs.uploadContractContentRef.onHandleConfirmAddOrEditFun() await this.$refs.uploadContractContentRef.onHandleConfirmAddOrEditFun()
@ -264,12 +267,14 @@ export default {
} catch (error) { } catch (error) {
// //
console.error('表单提交失败', error) console.error('表单提交失败', error)
} finally {
this.loading = false
} }
} }
// //
handleAsync() handleAsync()
}, 1000), }, 500),
// //
handleCloseDialogOuter() { handleCloseDialogOuter() {

View File

@ -322,13 +322,13 @@
> >
取消 取消
</el-button> </el-button>
<el-button <ComButton
size="medium" size="medium"
type="primary" type="primary"
@click="onHandleConfirmAddOrEdit" @click="onHandleConfirmAddOrEdit"
> >
确定 确定
</el-button> </ComButton>
</el-row> </el-row>
</template> </template>
@ -364,6 +364,7 @@
import TableModel from '@/components/TableModel' import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel' import DialogModel from '@/components/DialogModel'
import UploadFileFormData from '@/components/UploadFileFormData' import UploadFileFormData from '@/components/UploadFileFormData'
import ComButton from '@/components/ComButton'
import { formLabel, columnsList, dialogConfig } from './config' import { formLabel, columnsList, dialogConfig } from './config'
import { import {
getSubSelectListCommonFun, getSubSelectListCommonFun,
@ -385,6 +386,7 @@ export default {
TableModel, TableModel,
DialogModel, DialogModel,
UploadFileFormData, UploadFileFormData,
ComButton,
}, },
data() { data() {
@ -530,62 +532,70 @@ export default {
}, },
onHandleConfirmAddOrEdit() { onHandleConfirmAddOrEdit() {
this.$refs.addDishonestyPersonFormRef.validate(async (valid) => { return new Promise((resolve, reject) => {
if (valid) { this.$refs.addDishonestyPersonFormRef.validate(
// async (valid) => {
if (valid) {
//
const { const {
name, // name, //
idNumber, // idNumber, //
postName, // postName, //
proName, // proName, //
subName, // subName, //
reason, // reason, //
endTime, // endTime, //
startTime, // startTime, //
remark, // remark, //
fileList, fileList,
} = this.addDishonestyPersonForm } = this.addDishonestyPersonForm
const params = { const params = {
name, // name, //
idNumber, // idNumber, //
postName, // postName, //
proName, // proName, //
subName, // subName, //
reason, // reason, //
endTime, // endTime, //
startTime, // startTime, //
remark, // remark, //
} }
const formData = new FormData() const formData = new FormData()
const fileMsg = [] const fileMsg = []
if (fileList.length > 0) { if (fileList.length > 0) {
fileList.forEach((e) => { fileList.forEach((e) => {
formData.append('files', e.raw) formData.append('files', e.raw)
fileMsg.push({ fileMsg.push({
type: 1, type: 1,
name: '附件', name: '附件',
}) })
}) })
} }
formData.append('params', JSON.stringify(params)) formData.append('params', JSON.stringify(params))
formData.append('fileMsg', JSON.stringify(fileMsg)) formData.append('fileMsg', JSON.stringify(fileMsg))
const res = await addDishonestyPersonAPI(formData) const res = await addDishonestyPersonAPI(formData)
if (res.code === 200) { resolve()
this.$modal.msgSuccess('新增成功')
this.isForever = false if (res.code === 200) {
this.addDishonestyPersonForm.endTime = '' this.$modal.msgSuccess('新增成功')
this.$refs.addDishonestyPersonFormRef.resetFields() this.isForever = false
this.handleCloseDialogOuter() this.addDishonestyPersonForm.endTime = ''
this.$refs.dishonestyPersonTableRef.getTableList() this.$refs.addDishonestyPersonFormRef.resetFields()
} else { this.handleCloseDialogOuter()
this.$modal.msgError(res.msg) this.$refs.dishonestyPersonTableRef.getTableList()
} } else {
} this.$modal.msgError(res.msg)
}
} else {
reject()
}
},
)
}) })
}, },

View File

@ -91,6 +91,7 @@
<el-button <el-button
size="medium" size="medium"
type="primary" type="primary"
:loading="loading"
@click="onHandleConfirmAddOrEdit" @click="onHandleConfirmAddOrEdit"
> >
确定 确定
@ -151,6 +152,7 @@ export default {
workerId: '', // id workerId: '', // id
contractImgList: [], // contractImgList: [], //
proId: '', // id proId: '', // id
loading: false,
} }
}, },
methods: { methods: {
@ -213,6 +215,7 @@ export default {
// //
onHandleConfirmAddOrEdit: debounce(function () { onHandleConfirmAddOrEdit: debounce(function () {
const handleAsync = async () => { const handleAsync = async () => {
this.loading = true
try { try {
const res = const res =
await this.$refs.uploadContractContentRef.onHandleConfirmAddOrEditFun() await this.$refs.uploadContractContentRef.onHandleConfirmAddOrEditFun()
@ -223,10 +226,12 @@ export default {
this.handleCloseDialogOuter() this.handleCloseDialogOuter()
} catch (error) { } catch (error) {
// console.log('', error) // console.log('', error)
} finally {
this.loading = false
} }
} }
handleAsync() handleAsync()
}, 1000), }, 500),
// //
handleCloseDialogOuter() { handleCloseDialogOuter() {