Compare commits

2 Commits

Author SHA1 Message Date
xuli
26430aea3d Merge branch 'develop' of http://123.57.20.168:4000/admin/ys-app into develop 2025-12-18 17:57:16 +08:00
xuli
bfbb1a1cf4 修改巡检内容 2025-12-18 17:57:09 +08:00
6 changed files with 159 additions and 107 deletions

View File

@@ -31,8 +31,8 @@
<!-- 任务(巡检)状态 1=未发布 2=已发布 3 进行中 4 已完成 5 已过期 -->
<!-- 状态为3进行中时 进度>0执行中 进度=0为待执行 -->
<block v-if="item.taskStatus==3">
<img v-if="item.groupFinishNum==0" :src="'static/images/polling/icon-start.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-if="item.beginTime" :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-start.png'" class="img-w" />
</block>
<img v-else-if="item.taskStatus==4" :src="'static/images/polling/icon-complete.png'" class="img-complete" />
<img v-else-if="item.taskStatus==5" :src="'static/images/polling/icon-Expired.png'" class="img-w" />
@@ -43,7 +43,23 @@
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">开始时间<span class="r-gray">{{ parseTime(item.planTime,'{h}:{i}') }}</span></view>
<view v-if="item.beginTime">
执行时间<span class="r-gray">{{ parseTime(item.beginTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
<view v-else>
开始时间<span class="r-gray">{{ parseTime(item.planTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">
任务状态<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.beginTime">执行中</block>
<block v-else>待执行</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
</view>
<view class="r-l-right">任务时长<span class="r-gray">{{ item.workHour }}小时</span></view>
</view>
</view>
@@ -52,17 +68,8 @@
<view class="r-l-left">
完成进度<span class="r-gray"><span :class="{'r-red':item.groupFinishNum<item.groupNum}">{{item.groupFinishNum}}</span>/{{item.groupNum}}</span>
</view>
<view class="r-l-right">完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span></view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view>任务状态
<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.count==0">待执行</block>
<block v-else>执行中</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
<view class="r-l-right">
完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span>
</view>
</view>
</view>
@@ -93,8 +100,26 @@
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">开始时间<span class="r-gray">{{ parseTime(item.planTime,'{h}:{i}') }}</span></view>
<view class="r-l-right">任务时长<span class="r-gray">{{ item.workHour }}小时</span></view>
<view v-if="item.beginTime">
执行时间<span class="r-gray">{{ parseTime(item.beginTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
<view v-else>
开始时间<span class="r-gray">{{ parseTime(item.planTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">
任务状态<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.beginTime">执行中</block>
<block v-else>待执行</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
</view>
<view class="r-l-right">
任务时长<span class="r-gray">{{ item.workHour }}小时</span>
</view>
</view>
</view>
<view class="r-list">
@@ -102,17 +127,8 @@
<view class="r-l-left">
完成进度<span class="r-gray"><span :class="{'r-red':item.groupFinishNum<item.groupNum}">{{item.groupFinishNum}}</span>/{{item.groupNum}}</span>
</view>
<view class="r-l-right">完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span></view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view>任务状态
<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.groupFinishNum==0">待执行</block>
<block v-else>执行中</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
<view class="r-l-right">
完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span>
</view>
</view>
</view>
@@ -138,7 +154,7 @@
<view class="r-list">
<view class="r-left">
<view class="r-l-left" style="width:220rpx">跟踪次数<span class="r-gray">{{ item.logNum }}</span></view>
<view class="r-l-right">最近跟踪时间<span class="r-gray">{{ parseTime(item.lastLogTime,'{m}-{d} {h}:{i}') }}</span></view>
<view class="r-l-right">最近跟踪时间<span class="r-gray">{{ parseTime(item.lastLogTime,'{y}-{m}-{d} {h}:{i}') }}</span></view>
</view>
</view>
<view class="report-border" v-if="index<list3.length-1"></view>
@@ -201,7 +217,7 @@ const mescrollInit = (mescroll) => {
// 下拉刷新
const downCallback = async (mescroll) => {
try {
console.log("下拉刷新")
// console.log("下拉刷新")
const res = await getList(1, upOption.value.page.size);
cssFlag.value = false;
list1.value = res.list1 || [];
@@ -337,6 +353,7 @@ const handleJump = (item)=>{
}
.report-list .r-list .r-left{
display: flex;
align-items: center;
}
.report-list .r-list .r-gray{
margin-left:10rpx;
@@ -352,7 +369,7 @@ const handleJump = (item)=>{
width:525rpx
}
.r-left .r-l-left{
width:280rpx;
width:345rpx;
}
.r-left .r-l-right{

View File

@@ -56,7 +56,7 @@
</multipleSelect>
</block>
<!-- 判断 -->
<block v-if="item.pointType==3">
<block v-else-if="item.pointType==3">
<view class="r-list">
<view class="r-left">
<view>{{String(index+1).padStart(2, '0')+'.'}}</view>
@@ -141,7 +141,7 @@
<view>{{ item.pointName }}</view>
</view>
<view class="img-flex">
<view class="img-show" v-for="(item2,index) in imgArr2" :key="index" @click="showMediaPreview(item2)">
<view class="img-show" v-for="(item2,index) in item.imgArr2" :key="index" @click="showMediaPreview(item2)">
<img :src="item2.shortUrl" />
</view>
<view class="img-con" @click="chooseImage(item)">
@@ -157,7 +157,7 @@
<view>{{ item.pointName }}</view>
</view>
<view class="img-flex">
<view class="img-show" v-for="(item2,index) in videoArr2" :key="index" @click="showMediaPreview(item2)">
<view class="img-show" v-for="(item2,index) in item.videoArr2" :key="index" @click="showMediaPreview(item2)">
<video :src="item2.url" controls v-show="videoShow"></video>
</view>
<view class="img-con" @click="chooseVideo(item)">
@@ -166,6 +166,12 @@
</view>
</view>
</block>
<block v-else>
<view class="r-left" style="width:100%">
<view>{{String(index+1).padStart(2, '0')+'.'}}</view>
<view>{{ item.pointName }}</view>
</view>
</block>
<view class="report-border" :style="{borderColor:index<optionObj.pointList.length-1?'#E7E7E7':'#fff'}"></view>
</view>
<!-- 状态是4-已完成 5-已过期的不能再修改了 -->
@@ -293,27 +299,28 @@ const getList = async() => {
let res = await taskGroupDetail(param);
let data = res||{};
data.pointList.forEach(item=>{
item['imgArr']=[];
item['imgArr2']=[];
item['videoArr']=[];
item['videoArr2']=[];
item['chooseList']=[];
if(item.resultContent){
if(item.pointType==2 ||item.pointType==1){
item['chooseList'] = item.resultContent.split(",") //JSON.parse(item.resultContent)
}else if(item.pointType==7){
imgArr.value=[];
imgArr2.value=[];
let imgList = item.resultContent?.split(",")||[];
imgList.forEach(imgUrl=>{
imgArr.value.push(imgUrl);
imgArr2.value.push({
item.imgArr.push(imgUrl);
item.imgArr2.push({
shortUrl:minioObj.minioThumbUrl +"/"+imgUrl,
url:minioObj.minioUrl +"/"+imgUrl,
})
})
}else if(item.pointType==8){
videoArr.value=[];
videoArr2.value=[]
let videoList = item.resultContent?.split(",")||[];
videoList.forEach(videoUrl=>{
videoArr.value.push(videoUrl);
videoArr2.value.push({
item.videoArr.push(videoUrl);
item.videoArr2.push({
shortUrl:minioObj.minioThumbUrl +"/"+videoUrl,
url:minioObj.minioUrl +"/"+videoUrl,
})
@@ -356,10 +363,10 @@ const changeCheck = (param,param2,item) => {
}
// 照片及拍照处理
const imgArr = ref([]);
const imgArr2=ref([]);
// const imgArr = ref([]);
// const imgArr2=ref([]);
const chooseImage = (item) => {
console.log("item=>",item)
// console.log("item=>",item)
try {
uni.chooseImage({
// count: 1, // 默认是9这里设置为1次只选1张
@@ -392,12 +399,12 @@ const chooseImage = (item) => {
let data = res.data;
// console.log("444图片上传成功=>",data)
// imgArr2.value.push(data.fileUrl)
imgArr2.value.push({
item['imgArr2'].push({
shortUrl:minioObj.minioThumbUrl +"/"+data.fileName,
url:minioObj.minioUrl +"/"+data.fileName,
})
imgArr.value.push(data.fileName)//传给后台的路径
item.resultContent = imgArr.value.join(",")
item['imgArr'].push(data.fileName)//传给后台的路径
item.resultContent = item['imgArr'].join(",")
})
})
@@ -412,9 +419,9 @@ const chooseImage = (item) => {
};
// 视频处理
const videoSrc = ref('');
const videoArr = ref([]);
const videoArr2 = ref([]);
// const videoSrc = ref('');
// const videoArr = ref([]);
// const videoArr2 = ref([]);
const chooseVideo = (item) => {
uni.chooseVideo({
sourceType: ['album', 'camera'], // 来源:相册和相机
@@ -438,9 +445,9 @@ const chooseVideo = (item) => {
}
minioUpload(param).then(uploadRes=>{
let data = uploadRes.data;
videoArr.value.push(data.fileName)//传给后台的路径
videoArr2.value.push(data.fileUrl)
item.resultContent = videoArr.value.join(",")
item['videoArr'].push(data.fileName)//传给后台的路径
item['videoArr2'].push(data.fileUrl)
item.resultContent = item['videoArr'].join(",")
}).finally(()=>{
})

View File

@@ -46,7 +46,7 @@
<view class="r-list">
<view class="r-left">
<view class="r-l-left" style="width:220rpx">跟踪次数<span class="r-gray">{{ item.logNum }}</span></view>
<view class="r-l-right">最近跟踪时间<span class="r-gray">{{parseTime(item.lastLogTime,'{m}-{d} {h}:{i}') }}</span></view>
<view class="r-l-right">最近跟踪时间<span class="r-gray">{{parseTime(item.lastLogTime,'{y}-{m}-{d} {h}:{i}') }}</span></view>
</view>
</view>
<view class="report-border" v-if="index<list.length-1"></view>
@@ -152,7 +152,7 @@ const downCallback = async (mescroll) => {
const res = await getList(1, upOption.value.page.size);
cssFlag.value = false;
list.value = res.list;
mescroll.resetUpScroll();
// mescroll.resetUpScroll();
} catch (error) {
mescroll.endErr();
} finally {

View File

@@ -79,8 +79,8 @@
<!-- 任务(巡检)状态 1=未发布 2=已发布 3 进行中 4 已完成 5 已过期 -->
<!-- 状态为3进行中时 进度>0执行中 进度=0为待执行 -->
<block v-if="item.taskStatus==3">
<img v-if="item.groupFinishNum==0" :src="'static/images/polling/icon-start.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-if="item.beginTime" :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-start.png'" class="img-w" />
</block>
<img v-else-if="item.taskStatus==4" :src="'static/images/polling/icon-complete.png'" class="img-complete" />
<img v-else-if="item.taskStatus==5" :src="'static/images/polling/icon-Expired.png'" class="img-w" />
@@ -91,8 +91,26 @@
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">开始时间<span class="r-gray">{{ parseTime(item.planTime,'{h}:{i}') }}</span></view>
<view class="r-l-right">任务时长<span class="r-gray">{{ item.workHour }}小时</span></view>
<view v-if="item.beginTime">
执行时间<span class="r-gray">{{ parseTime(item.beginTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
<view v-else>
开始时间<span class="r-gray">{{ parseTime(item.planTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">
任务状态<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.beginTime">执行中</block>
<block v-else>待执行</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
</view>
<view class="r-l-right">
任务时长<span class="r-gray">{{ item.workHour }}小时</span>
</view>
</view>
</view>
<view class="r-list">
@@ -100,20 +118,12 @@
<view class="r-l-left">
完成进度<span class="r-gray"><span :class="{'r-red':item.groupFinishNum<item.groupNum}">{{item.groupFinishNum}}</span>/{{item.groupNum}}</span>
</view>
<view class="r-l-right">完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span></view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view>任务状态
<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.groupFinishNum==0">待执行</block>
<block v-else>执行中</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
<view class="r-l-right">
完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span>
</view>
</view>
</view>
<view class="report-border" v-if="index<row.list1.length-1"></view>
</view>
</block>
@@ -136,8 +146,8 @@
<!-- 任务(巡检)状态 1=未发布 2=已发布 3 进行中 4 已完成 5 已过期 -->
<!-- 状态为3进行中时 进度>0执行中 进度=0为待执行 -->
<block v-if="item.taskStatus==3">
<img v-if="item.groupFinishNum==0" :src="'static/images/polling/icon-start.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-if="item.beginTime" :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-start.png'" class="img-w" />
</block>
<img v-else-if="item.taskStatus==4" :src="'static/images/polling/icon-complete.png'" class="img-complete" />
<img v-else-if="item.taskStatus==5" :src="'static/images/polling/icon-Expired.png'" class="img-w" />
@@ -148,8 +158,26 @@
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">开始时间<span class="r-gray">{{ parseTime(item.planTime,'{h}:{i}') }}</span></view>
<view class="r-l-right">任务时长<span class="r-gray">{{ item.workHour }}小时</span></view>
<view v-if="item.beginTime">
执行时间<span class="r-gray">{{ parseTime(item.beginTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
<view v-else>
开始时间<span class="r-gray">{{ parseTime(item.planTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">
任务状态<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.beginTime">执行中</block>
<block v-else>待执行</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
</view>
<view class="r-l-right">
任务时长<span class="r-gray">{{ item.workHour }}小时</span>
</view>
</view>
</view>
<view class="r-list">
@@ -157,17 +185,8 @@
<view class="r-l-left">
完成进度<span class="r-gray"><span :class="{'r-red':item.groupFinishNum<item.groupNum}">{{item.groupFinishNum}}</span>/{{item.groupNum}}</span>
</view>
<view class="r-l-right">完成比率<span class="r-blue">{{item.percentage}}</span></view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view>任务状态
<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.groupFinishNum==0">待执行</block>
<block v-else>执行中</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
<view class="r-l-right">
完成比率<span class="r-blue">{{item.percentage}}</span>
</view>
</view>
</view>
@@ -200,7 +219,7 @@
<view class="r-list">
<view class="r-left">
<view class="r-l-left" style="width:220rpx">跟踪次数<span class="r-gray">{{ item.logNum }}</span></view>
<view class="r-l-right">最近跟踪时间<span class="r-gray">{{ parseTime(item.lastLogTime,'{m}-{d} {h}:{i}') }}</span></view>
<view class="r-l-right">最近跟踪时间<span class="r-gray">{{ parseTime(item.lastLogTime,'{y}-{m}-{d} {h}:{i}') }}</span></view>
</view>
</view>
<view class="report-border" v-if="index<row.list3.length-1"></view>
@@ -337,12 +356,12 @@ const scrollToPosition = () => {
// 下拉刷新
const downCallback = async (mescroll) => {
try {
console.log("下拉刷新")
// console.log("下拉刷新")
isMonth.value=true;
const res = await getList(1, upOption.value.page.size);
cssFlag.value = false;
list.value = res.list;
mescroll.resetUpScroll();
// mescroll.resetUpScroll();
} catch (error) {
mescroll.endErr();
} finally {
@@ -354,7 +373,7 @@ const downCallback = async (mescroll) => {
// 上拉加载更多
const upCallback = async (mescroll) => {
try {
console.log("上拉加载更多")
// console.log("上拉加载更多")
let res = await getList(mescroll.num, mescroll.size);
if (mescroll.num === 1) {
list.value = res.list;

View File

@@ -173,7 +173,7 @@ const downCallback = async (mescroll) => {
const res = await getList(1, upOption.value.page.size);
cssFlag.value = false;
taskObj.value = res;
mescroll.resetUpScroll();
// mescroll.resetUpScroll();
} catch (error) {
mescroll.endErr();
} finally {

View File

@@ -37,8 +37,8 @@
<!-- 任务(巡检)状态 1=未发布 2=已发布 3 进行中 4 已完成 5 已过期 -->
<!-- 状态为3进行中时 进度>0执行中 进度=0为待执行 -->
<block v-if="item.taskStatus==3">
<img v-if="item.count==0" :src="'static/images/polling/icon-start.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-if="item.beginTime" :src="'static/images/polling/icon-pending.png'" class="img-w" />
<img v-else :src="'static/images/polling/icon-start.png'" class="img-w" />
</block>
<img v-else-if="item.taskStatus==4" :src="'static/images/polling/icon-complete.png'" class="img-complete" />
<img v-else-if="item.taskStatus==5" :src="'static/images/polling/icon-Expired.png'" class="img-w" />
@@ -52,8 +52,26 @@
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">开始时间<span class="r-gray">{{ parseTime(item.planTime,'{y}-{m}-{d} {h}:{i}') }}</span></view>
<view class="r-l-right">任务时长<span class="r-gray">{{ item.workHour }}小时</span></view>
<view v-if="item.beginTime">
执行时间<span class="r-gray">{{ parseTime(item.beginTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
<view v-else>
开始时间<span class="r-gray">{{ parseTime(item.planTime,'{y}-{m}-{d} {h}:{i}') }}</span>
</view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view class="r-l-left">
任务状态<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.beginTime">执行中</block>
<block v-else>待执行</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
</view>
<view class="r-l-right">
任务时长<span class="r-gray">{{ item.workHour }}小时</span>
</view>
</view>
</view>
<view class="r-list">
@@ -61,20 +79,12 @@
<view class="r-l-left">
完成进度<span class="r-gray"><span :class="{'r-red':item.groupFinishNum<item.groupNum}">{{item.groupFinishNum}}</span>/{{item.groupNum}}</span>
</view>
<view class="r-l-right">完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span></view>
</view>
</view>
<view class="r-list">
<view class="r-left">
<view>任务状态
<span class="r-gray" v-if="item.taskStatus==3">
<block v-if="item.groupFinishNum==0">待执行</block>
<block v-else>执行中</block>
</span>
<span class="r-gray" v-else>{{formatTaskStatus(item.taskStatus) }}</span>
<view class="r-l-right">
完成比率<span class="r-blue">{{(item.groupFinishNum/item.groupNum*100).toFixed()+'%'}}</span>
</view>
</view>
</view>
<view class="report-border" v-if="index<list.length-1"></view>
</view>
@@ -183,13 +193,12 @@ const mescrollInit = (mescroll) => {
// 下拉刷新
const downCallback = async (mescroll) => {
console.log("mescroll=>",mescroll)
try {
console.log("下拉刷新");
const res = await getList(1, upOption.value.page.size,undefined);
cssFlag.value = false;
list.value = res.list;
mescroll.resetUpScroll()
// mescroll.resetUpScroll()
} catch (error) {
mescroll.endErr();
} finally {