|
|
@@ -4,8 +4,8 @@
|
|
4
|
4
|
<!-- <view class="u-nav-slot left_btn" slot="left">
|
|
5
|
5
|
<text class="close_btn" @click="handleClose">重置</text>
|
|
6
|
6
|
</view> -->
|
|
7
|
|
- <view class="u-nav-slot" slot="right">
|
|
8
|
|
- 保存
|
|
|
7
|
+ <view class="u-nav-slot" slot="right" :class="{ 'is-disabled': saveLoading }">
|
|
|
8
|
+ {{ saveLoading ? '保存中...' : '保存' }}
|
|
9
|
9
|
</view>
|
|
10
|
10
|
</u-navbar>
|
|
11
|
11
|
<view class="follow_form_wrap">
|
|
|
@@ -220,7 +220,9 @@
|
|
220
|
220
|
originaDeptList : [],
|
|
221
|
221
|
|
|
222
|
222
|
title: "新建线索",
|
|
223
|
|
-
|
|
|
223
|
+
|
|
|
224
|
+ saveLoading: false,
|
|
|
225
|
+
|
|
224
|
226
|
rules: {
|
|
225
|
227
|
name: {
|
|
226
|
228
|
type: 'string',
|
|
|
@@ -400,13 +402,23 @@
|
|
400
|
402
|
this.form.manualAddressCode = undefined;
|
|
401
|
403
|
this.recognitionContent = undefined;
|
|
402
|
404
|
},
|
|
403
|
|
- // 保存
|
|
|
405
|
+ // 保存(接口返回前禁止再次点击)
|
|
404
|
406
|
handleNavSaveClick() {
|
|
|
407
|
+ if (this.saveLoading) return;
|
|
405
|
408
|
this.$refs.form.validate().then(async () => {
|
|
406
|
|
- await uni.$u.api.addClueMainInfo(this.form);
|
|
407
|
|
- uni.$u.toast("保存成功");
|
|
408
|
|
- this.handleClose();
|
|
409
|
|
- })
|
|
|
409
|
+ this.saveLoading = true;
|
|
|
410
|
+ try {
|
|
|
411
|
+ await uni.$u.api.addClueMainInfo(this.form);
|
|
|
412
|
+ uni.$u.toast("保存成功");
|
|
|
413
|
+ this.handleClose();
|
|
|
414
|
+ } catch (e) {
|
|
|
415
|
+ // 失败后可再次点击
|
|
|
416
|
+ } finally {
|
|
|
417
|
+ this.saveLoading = false;
|
|
|
418
|
+ }
|
|
|
419
|
+ }).catch(() => {
|
|
|
420
|
+ // 校验未通过,无需改 saveLoading
|
|
|
421
|
+ });
|
|
410
|
422
|
},
|
|
411
|
423
|
async handleOption() {
|
|
412
|
424
|
// 获取人员
|
|
|
@@ -459,6 +471,10 @@
|
|
459
|
471
|
}
|
|
460
|
472
|
</script>
|
|
461
|
473
|
|
|
462
|
|
-<style lang="scss">
|
|
|
474
|
+<style lang="scss" scoped>
|
|
463
|
475
|
@import "@/static/follow/index.scss";
|
|
|
476
|
+ .u-nav-slot.is-disabled {
|
|
|
477
|
+ opacity: 0.6;
|
|
|
478
|
+ pointer-events: none;
|
|
|
479
|
+ }
|
|
464
|
480
|
</style>
|