|
|
@ -38,7 +38,8 @@
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="活动" class="activitybox"
|
|
|
|
<el-form-item label="活动" class="activitybox"
|
|
|
|
v-if="roleName === 'superadmin' || roleName === 'Matthew'">
|
|
|
|
v-if="roleName === 'superadmin' || roleName === 'Matthew'">
|
|
|
|
<el-select @keyup.enter.native="onSubmit()" v-model="formdata.activityId" filterable @change="changeActive">
|
|
|
|
<el-select @keyup.enter.native="onSubmit()" v-model="formdata.activityId" filterable
|
|
|
|
|
|
|
|
@change="changeActive">
|
|
|
|
<el-option v-for="item in activityOptions" :key="item.id" :label="item.name"
|
|
|
|
<el-option v-for="item in activityOptions" :key="item.id" :label="item.name"
|
|
|
|
:value="item.id"></el-option>
|
|
|
|
:value="item.id"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
@ -82,24 +83,32 @@
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop='hours' label="预计拍照" width="100px" align="center">
|
|
|
|
<el-table-column prop='hours' label="预计拍照" width="100px" align="center">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<span>{{ scope.row.hours.length * 2 }}</span>
|
|
|
|
<!-- <span>{{ scope.row.hours.length * 2 }}</span> -->
|
|
|
|
|
|
|
|
<span>{{ scope.row.scheduleList.length }}</span>
|
|
|
|
<!-- <el-tooltip placement="top">
|
|
|
|
<!-- <el-tooltip placement="top">
|
|
|
|
<div slot="content">{{scope.row.hours.length}}</div>
|
|
|
|
<div slot="content">{{scope.row.hours.length}}</div>
|
|
|
|
<span>{{ scope.row.hours.length * 2 }}</span>
|
|
|
|
<span>{{ scope.row.hours.length * 2 }}</span>
|
|
|
|
</el-tooltip> -->
|
|
|
|
</el-tooltip> -->
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop='total' label="拍照总数" width="100px" align="center"></el-table-column>
|
|
|
|
<el-table-column prop='total' label="拍照总数" width="100px"
|
|
|
|
|
|
|
|
align="center"></el-table-column>
|
|
|
|
<el-table-column prop='presets' label="多出数量" width="100px" align="center">
|
|
|
|
<el-table-column prop='presets' label="多出数量" width="100px" align="center">
|
|
|
|
<template #default="{ row }">
|
|
|
|
<!-- <template #default="{ row }">
|
|
|
|
<el-tooltip placement="top" popper-class="eltooltip">
|
|
|
|
<el-tooltip placement="top" popper-class="eltooltip">
|
|
|
|
<div slot="content">{{handlePresetsMany(row).txt}}</div>
|
|
|
|
<div slot="content">{{ handlePresetsMany(row).txt }}</div>
|
|
|
|
<span>{{handlePresetsMany(row).number}}</span>
|
|
|
|
<span>{{ handlePresetsMany(row).number }}</span>
|
|
|
|
</el-tooltip>
|
|
|
|
</el-tooltip>
|
|
|
|
|
|
|
|
</template> -->
|
|
|
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
|
|
|
<span>{{scope.row.timeList.length}}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop='' label='缺少数量' width="100px" :formatter="countLackPicture" align="center"></el-table-column>
|
|
|
|
<!-- <el-table-column prop='' label='缺少数量' width="100px" :formatter="countLackPicture"
|
|
|
|
<el-table-column prop='presets' label="缺少图片详细时间点" :formatter="handlePresetsFew" min-width="65%"></el-table-column>
|
|
|
|
align="center"></el-table-column> -->
|
|
|
|
|
|
|
|
<el-table-column prop='wrongCount' label='异常数量' width="100px" align="center"></el-table-column>
|
|
|
|
|
|
|
|
<el-table-column prop='presets' label="缺少图片详细时间点" :formatter="handlePresetsFew"
|
|
|
|
|
|
|
|
min-width="65%"></el-table-column>
|
|
|
|
|
|
|
|
|
|
|
|
</el-table>
|
|
|
|
</el-table>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
@ -131,9 +140,11 @@ import {
|
|
|
|
getRealtimePhoto,
|
|
|
|
getRealtimePhoto,
|
|
|
|
deletePicList,
|
|
|
|
deletePicList,
|
|
|
|
getStatisticalReport,
|
|
|
|
getStatisticalReport,
|
|
|
|
|
|
|
|
getScheduleOne,
|
|
|
|
|
|
|
|
getScheduleList,
|
|
|
|
} from "@/utils/api/index";
|
|
|
|
} from "@/utils/api/index";
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
getActivityApi,
|
|
|
|
getActivityApi,
|
|
|
|
} from "@/utils/api/reportApi";
|
|
|
|
} from "@/utils/api/reportApi";
|
|
|
|
import defaultImage from "../../assets/img/nodatapic2.jpg";
|
|
|
|
import defaultImage from "../../assets/img/nodatapic2.jpg";
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
@ -168,6 +179,7 @@ export default {
|
|
|
|
total: 0, //总条数
|
|
|
|
total: 0, //总条数
|
|
|
|
loading: false,
|
|
|
|
loading: false,
|
|
|
|
signtype: 0, //0第一次查询
|
|
|
|
signtype: 0, //0第一次查询
|
|
|
|
|
|
|
|
scheduleRule: {}, //装置拍照时间表规则
|
|
|
|
};
|
|
|
|
};
|
|
|
|
},
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
created() {
|
|
|
@ -204,74 +216,70 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
//预计拍照
|
|
|
|
|
|
|
|
assumeTakePic(row){
|
|
|
|
|
|
|
|
console.log(row);
|
|
|
|
|
|
|
|
return "123";
|
|
|
|
|
|
|
|
},
|
|
|
|
//照片多的处理
|
|
|
|
//照片多的处理
|
|
|
|
handlePresetsMany(row) {
|
|
|
|
handlePresetsMany(row) {
|
|
|
|
let result = {txt: "" , number: 0};
|
|
|
|
let result = { txt: "", number: 0 };
|
|
|
|
if (row.wrongCount == 0) {
|
|
|
|
// if (row.wrongCount == 0) {
|
|
|
|
return result;
|
|
|
|
// return result;
|
|
|
|
} else {
|
|
|
|
// } else {
|
|
|
|
row.hours.forEach(data => {
|
|
|
|
// row.hours.forEach(data => {
|
|
|
|
if (data.base < data.timeList.length) {
|
|
|
|
// if (data.base < data.timeList.length) {
|
|
|
|
let hour = parseInt(data.hour.substring(11, 13));
|
|
|
|
// let hour = parseInt(data.hour.substring(11, 13));
|
|
|
|
result.txt += hour + "点" + data.wrongDetail + "张 , ";
|
|
|
|
// result.txt += hour + "点" + data.wrongDetail + "张 , ";
|
|
|
|
result.number += data.timeList.length - data.base;
|
|
|
|
// result.number += data.timeList.length - data.base;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
});
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
if (result.txt=="") {
|
|
|
|
if (result.txt == "") {
|
|
|
|
result.txt = "无";
|
|
|
|
result.txt = "无";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
//照片少的处理
|
|
|
|
//照片少的处理
|
|
|
|
handlePresetsFew(row, column, cellValue) {
|
|
|
|
handlePresetsFew(row, column, cellValue) {
|
|
|
|
if (row.wrongCount == 0) {
|
|
|
|
let txt = "";
|
|
|
|
return "无";
|
|
|
|
row.scheduleList.forEach(data => {
|
|
|
|
} else {
|
|
|
|
if ( data.timeList.length == 0 ) {
|
|
|
|
let txt = "";
|
|
|
|
let hour = data.hour;
|
|
|
|
row.hours.forEach(data => {
|
|
|
|
if ( hour < 10 ) {
|
|
|
|
if (data.base > data.timeList.length) {
|
|
|
|
hour = "0" + hour;
|
|
|
|
let hour = data.hour.substring(11, 13);
|
|
|
|
|
|
|
|
//记录大于30之后的
|
|
|
|
|
|
|
|
let da = 0;
|
|
|
|
|
|
|
|
//记录大于30之前的
|
|
|
|
|
|
|
|
let xi = 0;
|
|
|
|
|
|
|
|
data.timeList.forEach(timedata => {
|
|
|
|
|
|
|
|
let min = parseInt(timedata.substring(11, 13));
|
|
|
|
|
|
|
|
if (min > 30) {
|
|
|
|
|
|
|
|
da++;
|
|
|
|
|
|
|
|
} else if (min < 30) {
|
|
|
|
|
|
|
|
xi++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if (xi == 0) {
|
|
|
|
|
|
|
|
txt += hour + ":00 , ";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (da == 0) {
|
|
|
|
|
|
|
|
txt += hour + ":30 , ";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
let minute = data.minute;
|
|
|
|
if ("" == txt) {
|
|
|
|
if ( data.minute < 10 ){
|
|
|
|
return "无";
|
|
|
|
minute = "0" + minute;
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
return txt;
|
|
|
|
txt += hour + ":" + minute + ",";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if ("" == txt) {
|
|
|
|
|
|
|
|
return "无";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return txt;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
//计数缺少图片数量
|
|
|
|
//计数缺少图片数量
|
|
|
|
countLackPicture(row, column, cellValue){
|
|
|
|
countLackPicture(row, column, cellValue) {
|
|
|
|
let number = 0;
|
|
|
|
let number = 0;
|
|
|
|
if (row.wrongCount == 0) {
|
|
|
|
// if (row.wrongCount == 0) {
|
|
|
|
return number;
|
|
|
|
// return number;
|
|
|
|
} else {
|
|
|
|
// } else {
|
|
|
|
row.hours.forEach(data => {
|
|
|
|
// row.hours.forEach(data => {
|
|
|
|
if (data.base > data.timeList.length) {
|
|
|
|
// if (data.base > data.timeList.length) {
|
|
|
|
number += data.base - data.timeList.length;
|
|
|
|
// number += data.base - data.timeList.length;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
});
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
return number;
|
|
|
|
return number;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
//规约处理
|
|
|
|
|
|
|
|
statuteHandle(protocol, val) {
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
setDefaultImage(e) {
|
|
|
|
setDefaultImage(e) {
|
|
|
|
e.target.src = defaultImage;
|
|
|
|
e.target.src = defaultImage;
|
|
|
@ -379,7 +387,7 @@ export default {
|
|
|
|
// : this.activityOptions[0].id;
|
|
|
|
// : this.activityOptions[0].id;
|
|
|
|
}).catch((err) => { });
|
|
|
|
}).catch((err) => { });
|
|
|
|
},
|
|
|
|
},
|
|
|
|
changeActive(val){
|
|
|
|
changeActive(val) {
|
|
|
|
this.formdata.activityId = val;
|
|
|
|
this.formdata.activityId = val;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
getSearchtdAlone() {
|
|
|
|
getSearchtdAlone() {
|
|
|
@ -396,6 +404,16 @@ export default {
|
|
|
|
this.$set(this.formdata, "pageindex", this.page);
|
|
|
|
this.$set(this.formdata, "pageindex", this.page);
|
|
|
|
this.$set(this.formdata, "pagesize", this.pageSize);
|
|
|
|
this.$set(this.formdata, "pagesize", this.pageSize);
|
|
|
|
console.log(this.formdata);
|
|
|
|
console.log(this.formdata);
|
|
|
|
|
|
|
|
// this.$set(this.formdata, "activityId", 10149);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// getScheduleList().then((res) => {
|
|
|
|
|
|
|
|
// res.data.forEach(obj => {
|
|
|
|
|
|
|
|
// this.scheduleRule['key' + obj.termId + obj.channelId] = obj;
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
// // console.log(this.scheduleRule);
|
|
|
|
|
|
|
|
// }).catch((err) => { });
|
|
|
|
|
|
|
|
|
|
|
|
getStatisticalReport(this.formdata).then((res) => {
|
|
|
|
getStatisticalReport(this.formdata).then((res) => {
|
|
|
|
this.picList = [];
|
|
|
|
this.picList = [];
|
|
|
|
//presetList
|
|
|
|
//presetList
|
|
|
@ -410,8 +428,9 @@ export default {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
a.presetList = presetList;
|
|
|
|
a.presetList = presetList;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// console.log(dataList);
|
|
|
|
this.picList = dataList;
|
|
|
|
this.picList = dataList;
|
|
|
|
console.log(dataList);
|
|
|
|
|
|
|
|
this.loading = false;
|
|
|
|
this.loading = false;
|
|
|
|
// console.log(res.data);
|
|
|
|
// console.log(res.data);
|
|
|
|
}).catch((err) => {
|
|
|
|
}).catch((err) => {
|
|
|
@ -628,9 +647,10 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.eltooltip {
|
|
|
|
|
|
|
|
max-width: 50%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.eltooltip{
|
|
|
|
|
|
|
|
max-width:50%;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
</style>
|