| | |
| | | </el-form> |
| | | <template #footer> |
| | | <el-button @click="handleClose">取消</el-button> |
| | | <el-button type="primary" @click="handleSubmit" v-if="!isViewMode" |
| | | <el-button type="primary" @click="debouncedSubmit" v-if="!isViewMode" |
| | | >确定</el-button |
| | | > |
| | | </template> |
| | |
| | | emit("update:modelValue", false); |
| | | } |
| | | |
| | | // 通用防抖函数 |
| | | function debounce(fn, delay = 800) { |
| | | let timer = null; |
| | | return function (...args) { |
| | | if (timer) clearTimeout(timer); |
| | | timer = setTimeout(() => { |
| | | fn.apply(this, args); |
| | | timer = null; |
| | | }, delay); |
| | | }; |
| | | } |
| | | |
| | | // 防抖后的提交方法 |
| | | const debouncedSubmit = debounce(handleSubmit, 800); |
| | | |
| | | function handleSubmit () { |
| | | formRef.value.validate(async (valid) => { |
| | | if (!valid) return; |
| | |
| | | return; |
| | | } |
| | | if(code == 200 && data == 1){ |
| | | // 根据归还状态给出不同的成功提示 |
| | | if (isReturnMode.value && submitData.equipmentStatus === 3) { |
| | | ElMessage.success("设备已全部归还完成!"); |
| | | } else if (isReturnMode.value && submitData.equipmentStatus === 2) { |
| | | ElMessage.success("设备部分归还成功!"); |
| | | } else { |
| | | ElMessage.success("操作成功!"); |
| | | } |
| | | |
| | | emit("submit", submitData); |
| | | } |
| | | handleClose(); |