|
|
@@ -22,7 +22,10 @@ export default {
|
|
22
|
22
|
icon
|
|
23
|
23
|
});
|
|
24
|
24
|
},
|
|
25
|
|
- httpPost(url, params, index) {
|
|
|
25
|
+ httpPost(url, params, delta,fn) {
|
|
|
26
|
+
|
|
|
27
|
+ uni.showLoading({title: '加载中'})
|
|
|
28
|
+
|
|
26
|
29
|
http.post(url, params).then((res) => {
|
|
27
|
30
|
if (res.state.toLowerCase() === "success") {
|
|
28
|
31
|
uni.hideLoading()
|
|
|
@@ -32,10 +35,12 @@ export default {
|
|
32
|
35
|
});
|
|
33
|
36
|
setTimeout(() => {
|
|
34
|
37
|
uni.$emit("updateList", {}); //列表刷新数据
|
|
35
|
|
- uni.navigateBack({
|
|
36
|
|
- delta: index,
|
|
37
|
|
- })
|
|
|
38
|
+ uni.navigateBack({delta})
|
|
|
39
|
+ fn(false)
|
|
38
|
40
|
}, 500)
|
|
|
41
|
+
|
|
|
42
|
+ }else{
|
|
|
43
|
+ fn(false)
|
|
39
|
44
|
}
|
|
40
|
45
|
})
|
|
41
|
46
|
|
|
|
@@ -66,6 +71,49 @@ export default {
|
|
66
|
71
|
imgIdListToString.substring(0, imgIdListToString.length - 1) : imgIdListToString;
|
|
67
|
72
|
return imgid
|
|
68
|
73
|
},
|
|
|
74
|
+ // 防抖
|
|
|
75
|
+ // 例子 debounceList = debounce(getList, 5000)先声明
|
|
|
76
|
+ // 后debounceList()调用,每个页面声明一次即可,调用可多次
|
|
|
77
|
+ debounce(fn, delay=3000, immediate = false, resultCallback) {
|
|
|
78
|
+ // 1.定义一个定时器, 保存上一次的定时器
|
|
|
79
|
+ let timer = null
|
|
|
80
|
+ let isInvoke = false
|
|
|
81
|
+
|
|
|
82
|
+ // 2.真正执行的函数
|
|
|
83
|
+ const _debounce = function(...args) {
|
|
|
84
|
+ return new Promise((resolve, reject) => {
|
|
|
85
|
+ // 取消上一次的定时器
|
|
|
86
|
+ if (timer) clearTimeout(timer)
|
|
|
87
|
+
|
|
|
88
|
+ // 判断是否需要立即执行
|
|
|
89
|
+ if (immediate && !isInvoke) {
|
|
|
90
|
+ const result = fn.apply(this, args)
|
|
|
91
|
+ if (resultCallback) resultCallback(result)
|
|
|
92
|
+ resolve(result)
|
|
|
93
|
+ isInvoke = true
|
|
|
94
|
+ } else {
|
|
|
95
|
+ // 延迟执行
|
|
|
96
|
+ timer = setTimeout(() => {
|
|
|
97
|
+ // 外部传入的真正要执行的函数
|
|
|
98
|
+ const result = fn.apply(this, args)
|
|
|
99
|
+ if (resultCallback) resultCallback(result)
|
|
|
100
|
+ resolve(result)
|
|
|
101
|
+ isInvoke = false
|
|
|
102
|
+ timer = null
|
|
|
103
|
+ }, delay)
|
|
|
104
|
+ }
|
|
|
105
|
+ })
|
|
|
106
|
+ }
|
|
|
107
|
+
|
|
|
108
|
+ // 封装取消功能
|
|
|
109
|
+ _debounce.cancel = function() {
|
|
|
110
|
+ if (timer) clearTimeout(timer)
|
|
|
111
|
+ timer = null
|
|
|
112
|
+ isInvoke = false
|
|
|
113
|
+ }
|
|
|
114
|
+
|
|
|
115
|
+ return _debounce
|
|
|
116
|
+ },
|
|
69
|
117
|
// 通过子级部门id获取父级
|
|
70
|
118
|
callback(treeData, id){
|
|
71
|
119
|
for (let i = 0; i < treeData.length; i++) {
|