隐患排查图片多选

main
limingtao 11 months ago
parent 37b8ba12b3
commit 4f4e9cdd59
  1. 147
      pages/investigation/components/investigation-item2.vue
  2. 24
      pages/investigation/task.vue

@ -10,28 +10,29 @@
style="width: 96%; padding: 0"> style="width: 96%; padding: 0">
<view class="detail-item" v-if="item.type === 'number' || item.type === '1'"> <view class="detail-item" v-if="item.type === 'number' || item.type === '1'">
<uni-forms-item :label="item.name" label-width="450rpx" style="display: flex; align-items: center"> <uni-forms-item :label="item.name" label-width="450rpx" style="display: flex; align-items: center">
<u-input :disabled="type=='view'" placeholder="请输入" border="none" v-model="item.standar" inputAlign="right" <u-input :disabled="type=='view'" placeholder="请输入" border="none" v-model="item.standar"
type="number"> inputAlign="right" type="number">
<u-text :text="item.unit" slot="suffix" margin="0 3px 0 0" type="tips"></u-text> <u-text :text="item.unit" slot="suffix" margin="0 3px 0 0" type="tips"></u-text>
</u-input> </u-input>
</uni-forms-item> </uni-forms-item>
</view> </view>
<view class="detail-item" v-else-if="item.type === 'text' || item.type === '2'"> <view class="detail-item" v-else-if="item.type === 'text' || item.type === '2'">
<uni-forms-item :label="item.name" label-width="450rpx" style="display: flex; align-items: center"> <uni-forms-item :label="item.name" label-width="450rpx" style="display: flex; align-items: center">
<u-input :disabled="type=='view'" placeholder="请输入" border="none" v-model="item.standar" inputAlign="right" /> <u-input :disabled="type=='view'" placeholder="请输入" border="none" v-model="item.standar"
inputAlign="right" />
</uni-forms-item> </uni-forms-item>
</view> </view>
<view class="detail-item" v-else-if="item.type === 'check' || item.type === '3'"> <view class="detail-item" v-else-if="item.type === 'check' || item.type === '3'">
<uni-forms-item :label="item.name" label-width="450rpx" style="display: flex; align-items: center"> <uni-forms-item :label="item.name" label-width="450rpx" style="display: flex; align-items: center">
<u-checkbox :disabled="type=='view'" v-model="item.standar" :customStyle="{ justifyContent: 'space-between' }" <u-checkbox :disabled="type=='view'" v-model="item.standar"
:name="'sdfs'" /> :customStyle="{ justifyContent: 'space-between' }" :name="'sdfs'" />
</uni-forms-item> </uni-forms-item>
</view> </view>
<view class="detail-item" v-else-if="item.type === 'upload' || item.type === '4'"> <view class="detail-item" v-else-if="item.type === 'upload' || item.type === '4'">
<uni-forms-item :label="item.name" label-position="top" label-width="450rpx" <uni-forms-item :label="item.name" label-position="top" label-width="450rpx"
style="display: flex; align-items: center" /> style="display: flex; align-items: center" />
<u-upload :disabled="type=='view'" :fileList="item.fileList" @afterRead="(e) => afterRead(e, item)" <u-upload :disabled="type=='view'" :fileList="item.fileList" @afterRead="(e) => afterRead(e, item)"
@delete="(e) => deletePic(e, item)" name="1" :maxCount="1"></u-upload> @delete="(e) => deletePic(e, item)" name="1" :maxCount="10"></u-upload>
</view> </view>
</view> </view>
<view class="investigation-item" style="width: 96%; padding: 0"> <view class="investigation-item" style="width: 96%; padding: 0">
@ -43,8 +44,9 @@
<view class="investigation-item" style="width: 96%; padding: 0"> <view class="investigation-item" style="width: 96%; padding: 0">
<view class="detail-item"> <view class="detail-item">
<uni-forms-item label="隐患图片" label-position="top" label-width="200px" /> <uni-forms-item label="隐患图片" label-position="top" label-width="200px" />
<u-upload :fileList="fileList" :disabled="type=='view'" @afterRead="(e) => afterRead2(e, 'fileList')" <u-upload :fileList="fileList" :disabled="type=='view'"
@delete="(e) => deletePic2(e, 'fileList')" name="1" :maxCount="1"></u-upload> @afterRead="(e) => afterRead2(e, 'fileList')" @delete="(e) => deletePic2(e, 'fileList')"
name="1" :maxCount="10"></u-upload>
</view> </view>
</view> </view>
<view class="investigation-item" style="width: 96%; padding: 0"> <view class="investigation-item" style="width: 96%; padding: 0">
@ -113,35 +115,41 @@
} }
switch ( switch (
item.type item.type
// case "1":
// item.standar = 0
// break;
// case "2":
// item.standar = ''
// break;
// case "3":
// item.standar = false
// break;
// case "4":
// item.fileList = [
// // {
// // "id": "20229a8c-db46-4447-be3e-6731665f7bd0",
// // "type": "image",
// // "url": "https://img-blog.csdnimg.cn/20210823085628540.jpeg",
// // "thumb": "blob:http://localhost:8080/4343e24a-edc5-4693-8fbd-f99647ea3bd5",
// // "size": 11600,
// // "name": ".png",
// // "status": "success",
// // "message": "",
// // "result": {
// // "code": 200,
// // "message": "",
// // "result": "https://img-blog.csdnimg.cn/20210823085628540.jpeg"
// // }
// // }
// ]
// break;
) { ) {
// case "1":
// item.standar = 0
// break;
// case "2":
// item.standar = ''
// break;
// case "3":
// item.standar = false
// break;
case "4":
item.fileList = []
let arr=item.standar.split(',')
for(let itm of arr){
item.fileList.push({url:itm,name:''})
}
// item.fileList = [
// // {
// // "id": "20229a8c-db46-4447-be3e-6731665f7bd0",
// // "type": "image",
// // "url": "https://img-blog.csdnimg.cn/20210823085628540.jpeg",
// // "thumb": "blob:http://localhost:8080/4343e24a-edc5-4693-8fbd-f99647ea3bd5",
// // "size": 11600,
// // "name": ".png",
// // "status": "success",
// // "message": "",
// // "result": {
// // "code": 200,
// // "message": "",
// // "result": "https://img-blog.csdnimg.cn/20210823085628540.jpeg"
// // }
// // }
// ]
break;
} }
return item; return item;
}); });
@ -149,6 +157,22 @@
this.getData(); this.getData();
} }
if (this.json.checkedSelect) { if (this.json.checkedSelect) {
console.log(this.json.checkedSelect.hdPic, 11111)
if (this.json.checkedSelect.hdPic) {
this.fileList = [];
let arr = []
try {
arr = this.json.checkedSelect.hdPic.split(',')
} catch (error) {
console.error(error)
}
console.log(arr, 4343242342423)
for (let item of arr) {
this.fileList.push({ url: item, name: '' })
}
} else {
this.fileList = [];
}
this.formData = { this.formData = {
hdPic: this.json.checkedSelect.hdPic || "", hdPic: this.json.checkedSelect.hdPic || "",
hdDesc: this.json.checkedSelect.hdDesc || "", hdDesc: this.json.checkedSelect.hdDesc || "",
@ -188,18 +212,20 @@
status: "uploading", status: "uploading",
message: "上传中", message: "上传中",
}); });
const result = await this.uploadFilePromise(item.fileList[0].url); const result = await this.uploadFilePromise(event.file.url);
const resultInfo = JSON.parse(result); const resultInfo = JSON.parse(result);
const index = item.fileList.findIndex((v) => v.id === id); const index = item.fileList.findIndex((v) => v.id === id);
if (resultInfo.code == 200) { if (resultInfo.code == 200) {
item.fileList.splice( item.fileList.splice(
index, index,
1, 1,
Object.assign(item.fileList[index], { Object.assign(event.file, {
status: "success", status: "success",
message: "", message: "",
result: resultInfo, result: resultInfo,
// url: 'https://raw.githubusercontent.com/Chanzhaoyu/chatgpt-web/main/src/assets/avatar.jpg',
url: resultInfo.result, url: resultInfo.result,
}) })
); );
} else { } else {
@ -207,10 +233,7 @@
item.fileList.splice( item.fileList.splice(
index, index,
1, 1,
Object.assign(item.fileList[index], {
status: "error",
message: "失败",
})
); );
} }
}, },
@ -245,18 +268,20 @@
status: "uploading", status: "uploading",
message: "上传中", message: "上传中",
}); });
const result = await this.uploadFilePromise(this[key][0].url); console.log(event.file)
const result = await this.uploadFilePromise(event.file.url);
const resultInfo = JSON.parse(result); const resultInfo = JSON.parse(result);
const index = this[key].findIndex((v) => v.id === id); const index = this[key].findIndex((v) => v.id === id);
if (resultInfo.code == 200) { if (resultInfo.code == 200) {
this[key].splice( this[key].splice(
index, index,
1, 1,
Object.assign(this[key][index], { Object.assign(event.file, {
status: "success", status: "success",
message: "", message: "",
result: resultInfo, result: resultInfo,
url: resultInfo.result, url: resultInfo.result,
// url: 'https://raw.githubusercontent.com/Chanzhaoyu/chatgpt-web/main/src/assets/avatar.jpg',
}) })
); );
} else { } else {
@ -264,16 +289,18 @@
this[key].splice( this[key].splice(
index, index,
1, 1,
Object.assign(this[key][index], {
status: "error",
message: "失败",
})
); );
} }
this.formData.hdPic = this[key] let arr = []
.filter((item) => item.status === "success") for (let i = 0; i < this[key].length; i++) {
.map((item) => item.url) arr.push(this[key][i].url)
.toString(); }
this.formData.hdPic = arr.toString();
// this.formData.hdPic = this[key]
// .filter((item) => item.status === "success")
// .map((item) => item.url)
// .toString();
this.changeEmit(); this.changeEmit();
}, },
changeEmit() { changeEmit() {
@ -362,10 +389,24 @@
// this.$emit('select', this.investigationSelect, this.investigationList[index]) // this.$emit('select', this.investigationSelect, this.investigationList[index])
}, },
investigationDetailHandle() { investigationDetailHandle() {
let investigationDetailList = JSON.parse(JSON.stringify(this.investigationDetailList))
for (let items of investigationDetailList) {
if (items.type == '4') {
let arr = []
let standar = ''
for (let item of items.fileList) {
arr.push(item.url)
}
items.standar = arr.toString()
}
}
// console.log(investigationDetailList)
this.$emit("select", { this.$emit("select", {
...this.json, ...this.json,
checkedSelect: this.formData, checkedSelect: this.formData,
extraConfigs: this.investigationDetailList, extraConfigs: investigationDetailList,
}); });
}, },
}, },

@ -234,7 +234,7 @@
<view class="detail-item" v-else-if="item.type === 'upload'"> <view class="detail-item" v-else-if="item.type === 'upload'">
<uni-forms-item label="平峰流量" label-position="top" label-width="100px" <uni-forms-item label="平峰流量" label-position="top" label-width="100px"
style="display: flex; align-items: center" /> style="display: flex; align-items: center" />
<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1"
:maxCount="10"></u-upload> :maxCount="10"></u-upload>
</view> </view>
</view> </view>
@ -661,7 +661,7 @@
// r = v; // r = v;
// } // }
// }); // });
console.log(v) // console.log(v)
this.showInvestigation2Item = {}; this.showInvestigation2Item = {};
this.showInvestigation2 = false; this.showInvestigation2 = false;
this.troubleshootingData.map(r => { this.troubleshootingData.map(r => {
@ -1099,7 +1099,7 @@
}); });
}, },
async afterRead(event, key) { async afterRead(event, key) {
console.log(key) // console.log(key)
// multiple true , file // multiple true , file
const id = this.uuid(); const id = this.uuid();
this[key].push({ this[key].push({
@ -1108,6 +1108,7 @@
status: "uploading", status: "uploading",
message: "上传中", message: "上传中",
}); });
console.log(event.file)
const result = await this.uploadFilePromise(event.file.url); const result = await this.uploadFilePromise(event.file.url);
const resultInfo = JSON.parse(result); const resultInfo = JSON.parse(result);
const index = this[key].findIndex((v) => v.id === id); const index = this[key].findIndex((v) => v.id === id);
@ -1120,6 +1121,7 @@
message: "", message: "",
result: resultInfo, result: resultInfo,
url: resultInfo.result, url: resultInfo.result,
}) })
); );
console.log(this[key]) console.log(this[key])
@ -1144,12 +1146,18 @@
checkedArr.map((r) => { checkedArr.map((r) => {
if (!r.extraConfigs) return if (!r.extraConfigs) return
r.extraConfigs.map((s) => { r.extraConfigs.map((s) => {
// let arr = []
// let standar=''
// for (let i = 0; i < s.fileList.length; i++) {
// arr.push(s.fileList[i].url)
// }
s.scenesId = r.nid; s.scenesId = r.nid;
s.dangerId = r.id; s.dangerId = r.id;
if (s.type == 4) { // if (s.type == 4) {
s.standar = // s.standar=arr.toString();
s.fileList && s.fileList.length > 0 ? s.fileList[0].url : ""; // // s.standar =
} // // s.fileList && s.fileList.length > 0 ? s.fileList[0].url : "";
// }
delete s.fileList; delete s.fileList;
delete s.nid; delete s.nid;
extraConfigs.push(s); extraConfigs.push(s);
@ -1216,7 +1224,7 @@
hdInfo: item2.checkedSelect ? item2.checkedSelect.hdInfo : '', hdInfo: item2.checkedSelect ? item2.checkedSelect.hdInfo : '',
pcType: 1 pcType: 1
} }
console.log(obj, 111111) // console.log(obj, 111111)
describe[foundIndex] = obj; describe[foundIndex] = obj;
// hdTermdescribe // hdTermdescribe
// describe[foundIndex] = { hdTerm: idToFind }; // describe[foundIndex] = { hdTerm: idToFind };

Loading…
Cancel
Save