优化增加请求时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,6 +338,7 @@ export default {
// //
onHandleConfirmAddOrEdit() { onHandleConfirmAddOrEdit() {
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 = {
@ -346,6 +349,8 @@ export default {
} }
const res = await addAndEditAllProjectAPI(params) const res = await addAndEditAllProjectAPI(params)
resolve()
if (res.code === 200) { if (res.code === 200) {
this.$modal.msgSuccess( this.$modal.msgSuccess(
this.dialogConfig.outerTitle === '新增总工程' this.dialogConfig.outerTitle === '新增总工程'
@ -360,8 +365,11 @@ export default {
} else { } else {
this.$modal.msgError(res.msg) this.$modal.msgError(res.msg)
} }
} else {
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() {
return new Promise(async (resolve, reject) => {
try { try {
await this.$refs.addOrEditLotProjectFormRef.onHandleConfirmAddOrEditFun() await this.$refs.addOrEditLotProjectFormRef.onHandleConfirmAddOrEditFun()
resolve()
this.handleCloseDialogOuter() this.handleCloseDialogOuter()
this.$refs.lotProjectTableRef.getTableList() // this.$refs.lotProjectTableRef.getTableList() //
} catch (error) { } catch (error) {
// console.log('', 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) => {
try {
await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun() await this.$refs.addOrEditFormContentRef.onHandleConfirmAddOrEditFun()
this.$refs.personEntryTableRef.getTableList() this.$refs.personEntryTableRef.getTableList()
this.handleCloseDialogOuter() this.handleCloseDialogOuter()
resolve() 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,7 +532,9 @@ export default {
}, },
onHandleConfirmAddOrEdit() { onHandleConfirmAddOrEdit() {
this.$refs.addDishonestyPersonFormRef.validate(async (valid) => { return new Promise((resolve, reject) => {
this.$refs.addDishonestyPersonFormRef.validate(
async (valid) => {
if (valid) { if (valid) {
// //
@ -575,6 +579,8 @@ export default {
const res = await addDishonestyPersonAPI(formData) const res = await addDishonestyPersonAPI(formData)
resolve()
if (res.code === 200) { if (res.code === 200) {
this.$modal.msgSuccess('新增成功') this.$modal.msgSuccess('新增成功')
this.isForever = false this.isForever = false
@ -585,7 +591,11 @@ export default {
} else { } else {
this.$modal.msgError(res.msg) 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() {