|
|
|
|
@ -1,5 +1,8 @@ |
|
|
|
|
<template> |
|
|
|
|
<view class="sjgl"> |
|
|
|
|
<uni-notice-bar color="#2979FF" background-color="#EAF2FF" |
|
|
|
|
text="在无网络环境时上报的数据将存储在此处,进入到有网络的环境时进行统一上报." /> |
|
|
|
|
|
|
|
|
|
<view v-for="(item,i) in datas"> |
|
|
|
|
<uni-card style="padding: 0;"> |
|
|
|
|
<view style="padding: 10px;"> |
|
|
|
|
@ -18,8 +21,11 @@ |
|
|
|
|
</view> |
|
|
|
|
</uni-card> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<button class="submit-btn" type="primary" @click="submit" :loading="submiting">上报所有数据</button> |
|
|
|
|
<view v-if="datas.length===0" style="text-align: center;color: #666;margin: 24px;"> |
|
|
|
|
<text>无临时数据</text> |
|
|
|
|
</view> |
|
|
|
|
<button v-if="datas.length!==0" class="submit-btn" type="primary" @click="submit" |
|
|
|
|
:loading="submiting">上报所有数据</button> |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
@ -29,10 +35,21 @@ |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
|
datas: [], |
|
|
|
|
submiting: false |
|
|
|
|
submiting: false, |
|
|
|
|
token: '', |
|
|
|
|
successDatas: [] |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
onLoad() {}, |
|
|
|
|
onLoad() { |
|
|
|
|
uni.getStorage({ |
|
|
|
|
key: 'token', |
|
|
|
|
success: (resp) => { |
|
|
|
|
this.token = resp.data; |
|
|
|
|
}, |
|
|
|
|
fail(err) {}, |
|
|
|
|
complete: () => {} |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
onShow(e) { |
|
|
|
|
console.log('onshow', e) |
|
|
|
|
uni.getStorage({ |
|
|
|
|
@ -45,8 +62,90 @@ |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
_uploadFiles(index, paths, callback, resultUrls) { |
|
|
|
|
if (!resultUrls) { |
|
|
|
|
resultUrls = [] |
|
|
|
|
} |
|
|
|
|
if (paths[index]) { |
|
|
|
|
uni.uploadFile({ |
|
|
|
|
url: `${helper.serverUrl}/system/oss/upload`, |
|
|
|
|
method: 'POST', |
|
|
|
|
header: { |
|
|
|
|
Authorization: `Bearer ${this.token}` |
|
|
|
|
}, |
|
|
|
|
files: [{ |
|
|
|
|
uri: paths[index] |
|
|
|
|
}], |
|
|
|
|
// name: 'file', |
|
|
|
|
success: (resp) => { |
|
|
|
|
let data = resp.data; |
|
|
|
|
if (typeof(resp.data) === 'string') { |
|
|
|
|
data = JSON.parse(resp.data); |
|
|
|
|
} |
|
|
|
|
resultUrls.push(data.data.url) |
|
|
|
|
this._uploadFiles(++index, paths, callback, resultUrls); |
|
|
|
|
}, |
|
|
|
|
fail(resp) { |
|
|
|
|
this._uploadFiles(++index, paths, callback, resultUrls); |
|
|
|
|
}, |
|
|
|
|
complete: () => {} |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
callback(resultUrls); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
_submit(index, callback, successDatas) { |
|
|
|
|
if (!successDatas) { |
|
|
|
|
successDatas = []; |
|
|
|
|
} |
|
|
|
|
if (this.datas[index]) { |
|
|
|
|
console.log(this.datas[index].imgPaths) |
|
|
|
|
this._uploadFiles(0, this.datas[index].imgPaths, (urls) => { |
|
|
|
|
console.log(urls); |
|
|
|
|
uni.request({ |
|
|
|
|
url: `${helper.serverUrl}/ffzy/ffzy`, |
|
|
|
|
method: 'POST', |
|
|
|
|
data: { |
|
|
|
|
geom: this.datas[index].geom, |
|
|
|
|
img: urls.join(','), |
|
|
|
|
reason: this.datas[index].reason |
|
|
|
|
}, |
|
|
|
|
header: { |
|
|
|
|
Authorization: `Bearer ${this.token}` |
|
|
|
|
}, |
|
|
|
|
success: (resp) => { |
|
|
|
|
if (resp.data.code === 200) { |
|
|
|
|
successDatas.push(this.datas[index]); |
|
|
|
|
} |
|
|
|
|
this._submit(++index, callback, successDatas) |
|
|
|
|
}, |
|
|
|
|
fail: () => { |
|
|
|
|
this._submit(++index, callback, successDatas) |
|
|
|
|
}, |
|
|
|
|
complete: () => {} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
callback(successDatas); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
submit() { |
|
|
|
|
if (this.datas.length === 0) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
this.submiting = true; |
|
|
|
|
this._submit(0, (successDatas) => { |
|
|
|
|
this.datas = this.datas.filter(item => { |
|
|
|
|
return successDatas.indexOf(item) === -1; |
|
|
|
|
}) |
|
|
|
|
this.submiting = false; |
|
|
|
|
|
|
|
|
|
uni.setStorage({ |
|
|
|
|
data: this.datas, |
|
|
|
|
key: 'sbsjTemp' |
|
|
|
|
}) |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
delItem(index) { |
|
|
|
|
uni.showModal({ |
|
|
|
|
@ -94,5 +193,4 @@ |
|
|
|
|
.sjgl>>>.uni-card { |
|
|
|
|
padding: 0 !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
</style> |