From 5a7a95768b4a31a3bc3b0ef45316d63f314c2d01 Mon Sep 17 00:00:00 2001
From: Swanky <413564165@qq.com>
Date: Sun, 3 Mar 2024 21:27:48 +0800
Subject: [PATCH] 1
---
App.vue | 2 +-
pages/lssjgl/lssjgl.vue | 108 ++++++++++++++++++++++++++++++++--
pages/sjsb/sjsb.vue | 87 +++++++++++++++++----------
pages/workbench/workbench.vue | 2 +-
4 files changed, 160 insertions(+), 39 deletions(-)
diff --git a/App.vue b/App.vue
index 996d61e..de698f1 100644
--- a/App.vue
+++ b/App.vue
@@ -35,7 +35,7 @@
}
})
}
- },
+ },
fail(err) {
console.log('error', err);
if (token) {
diff --git a/pages/lssjgl/lssjgl.vue b/pages/lssjgl/lssjgl.vue
index 3e82084..cd332a3 100644
--- a/pages/lssjgl/lssjgl.vue
+++ b/pages/lssjgl/lssjgl.vue
@@ -1,5 +1,8 @@
+
+
@@ -18,8 +21,11 @@
-
-
+
+ 无临时数据
+
+
@@ -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;
}
-
\ No newline at end of file
diff --git a/pages/sjsb/sjsb.vue b/pages/sjsb/sjsb.vue
index a56bcc8..fdb2875 100644
--- a/pages/sjsb/sjsb.vue
+++ b/pages/sjsb/sjsb.vue
@@ -157,7 +157,7 @@
this.wd = parseFloat(strs[1]);
this.reason = item.reason;
this.imgStrs = item.img?.split(',');
- // this.imgs = item.img?.split(',');
+ this.imgs = item.img?.split(',');
}
},
})
@@ -260,38 +260,61 @@
}
}
},
+ _saveFile(index, imgPaths, callback, resultPaths) {
+ if (!resultPaths) {
+ resultPaths = [];
+ }
+ if (imgPaths[index]) {
+ uni.saveFile({
+ tempFilePath: imgPaths[index],
+ success: (res) => {
+ resultPaths.push(res.savedFilePath);
+ this._saveFile(++index, imgPaths, callback, resultPaths);
+ },
+ fail: () => {
+ this._saveFile(++index, imgPaths, callback, resultPaths);
+ }
+ })
+ } else {
+ callback(resultPaths);
+ }
+ },
saveTemp(data) {
- uni.getStorage({
- key: 'sbsjTemp',
- success: (resp) => {
- console.log(resp);
- uni.setStorage({
- key: 'sbsjTemp',
- data: [...resp.data || [], data],
- success: () => {
- uni.showToast({
- title: '已保存到临时数据管理'
- })
- setTimeout(() => {
- uni.navigateBack();
- }, 1500)
- }
- })
- },
- fail: () => {
- uni.setStorage({
- key: 'sbsjTemp',
- data: [data],
- success: () => {
- uni.showToast({
- title: '已保存到临时数据管理'
- })
- setTimeout(() => {
- uni.navigateBack();
- }, 1500)
- }
- })
- }
+ this._saveFile(0, data.imgPaths, (paths) => {
+ data.imgPaths = paths;
+ uni.getStorage({
+ key: 'sbsjTemp',
+ success: (resp) => {
+ console.log(resp);
+ uni.setStorage({
+ key: 'sbsjTemp',
+ data: [...resp.data || [], data],
+ success: () => {
+ uni.showToast({
+ title: '已保存到临时数据管理'
+ })
+ setTimeout(() => {
+ uni.navigateBack();
+ }, 1500)
+ }
+ })
+ },
+ fail: () => {
+ uni.setStorage({
+ key: 'sbsjTemp',
+ data: [data],
+ success: () => {
+ uni.showToast({
+ title: '已保存到临时数据管理'
+ })
+ setTimeout(() => {
+ uni.navigateBack();
+ }, 1500)
+ }
+ })
+ }
+ })
+
})
},
chooseImg() {
diff --git a/pages/workbench/workbench.vue b/pages/workbench/workbench.vue
index ad65a47..0bb2738 100644
--- a/pages/workbench/workbench.vue
+++ b/pages/workbench/workbench.vue
@@ -25,7 +25,7 @@
-
+
临时数据管理