This commit is contained in:
”Rain“ 2024-05-24 19:01:59 +08:00
parent 60b57a0082
commit afb67831c3
6 changed files with 195 additions and 104 deletions

View File

@ -41,8 +41,8 @@ if (process.env.NODE_ENV === 'development') {
// Vue.prototype.url_config = 'http://182.90.224.237:51234/' //雄哥内网穿透地址
// Vue.prototype.url_config = 'http://jxj.zhgdyun.com:61212/' //杰哥内网穿透地址
// Vue.prototype.url_config = ' http://192.168.34.221:28888/' //郭圣雄本地
// Vue.prototype.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
Vue.prototype.url_config = 'http://192.168.34.155:19111/' //彭洁本地
Vue.prototype.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
// Vue.prototype.url_config = 'http://192.168.34.155:19111/' //彭洁本地
// Vue.prototype.work_url = 'http://47.93.215.234:19997' // 工作流线上地址(弃用)
// Vue.prototype.work_url = 'http://42.180.188.17:19997' // 工作流线上地址
// Vue.prototype.work_url = 'http://42.180.188.17:19097' // 工作流测试地址

View File

@ -2,7 +2,8 @@
"easycom": {
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
},
"pages": [{
"pages": [
{
"path": "pages/login/login",
"style": {}
},
@ -2420,12 +2421,10 @@
{
"path": "pages/personLocation/exam/examresult/examresult",
"style": {
"app-plus": {
"titleNView": {
"titleColor": "#ffffff",
"autoBackButton": false
}
},
// "app-plus": {
// "titleView":false
// },
// "navigationStyle": "custom",
"navigationBarTitleText": "考试结果"
}
},

View File

@ -17,13 +17,13 @@
<text>对于成绩不满意可再次考试</text>
</view>
<button type="primary" class="btn"
@click="examAgain('/personLocation/exam/beginexam/beginexam')">再考一次</button>
@click="goHiidden('/personLocation/exam/beginexam/beginexam')">再考一次</button>
<button type="primary" class="btn1" plain="true"
@click="goHiidden('/personLocation/exam/index/index')">返回</button>
</view>
<view class="examresult" v-else>
<view class="text-success">
<text>{{pageData.score}}</text>
<text>80</text>
</view>
<view class="image-tip">
<image src="/static/exam/examSuccess.png" mode=""></image>
@ -32,7 +32,7 @@
<text>恭喜您通过考试</text>
</view>
<button type="primary" class="btn"
@click="goHiidden('/personLocation/exam/index/index')">返回</button>
@click="goHiidden('/personLocation/exam/beginexam/beginexam')">返回</button>
</view>
<levitatedsphere :x="100" :y="80"></levitatedsphere>
</view>
@ -47,21 +47,12 @@
pageData: {}
}
},
created() {
// document.querySelector('.uni-page-head-hd').style.display = 'none'
},
onLoad(options) {
this.pageData = JSON.parse(options.examData)
},
methods: {
examAgain(url){
uni.redirectTo({
url: `/pages${url}?transportData=` + JSON.stringify(this
.pageData)
});
},
goHiidden(url) {
uni.redirectTo({
uni.navigateTo({
url: `/pages${url}`
});
},
@ -74,14 +65,15 @@
padding: 61rpx 40rpx;
text-align: center;
.text {
font-size: 182.69rpx;
color: #EA3941;
}
.text-success {
font-size: 182.69rpx;
color: #07CC88;
}
.text {
font-size: 182.69rpx;
color: #EA3941;
}
.text-success {
font-size: 182.69rpx;
color: #07CC88;
}
}
.image-tip {
@ -94,7 +86,8 @@
justify-content: center;
align-items: center;
margin: 0 auto;
image{
image {
width: 150rpx;
height: 150rpx;
margin-top: 40rpx;

View File

@ -8,7 +8,7 @@
<image class="scancode" src="@/static/scancode.png" mode=""></image>
</view>
</headers>
<view class="content">
<view class="content" :style="{ 'padding-top': (statusBarHeight+52) + 'px' }">
<view class="coordinate">
<view class="coordinate-header">
<view>
@ -25,46 +25,56 @@
</view>
</view>
<view class="coordinate-item">
<view>
<image src="@/static/ppt.png" mode=""></image>
<view :class="{'abnormal':item.inspectStatus == 2}" v-for="item in checkingList" :key="item.id">
<image :src="statusList[item.inspectStatus].image" mode=""></image>
<text>{{item.checkingPointName}}</text>
</view>
<!-- <view class="abnormal">
<image src="@/static/inspectelcon-abnormal.png" mode=""></image>
<text>1号巡检点</text>
</view>
<view>
<image src="@/static/ppt.png" mode=""></image>
<image src="@/static/inspecteIcon-normal.png" mode=""></image>
<text>1号巡检点</text>
</view>
<view>
<image src="@/static/ppt.png" mode=""></image>
<image src="@/static/inspecteIcon-normal.png" mode=""></image>
<text>1号巡检555555555555点</text>
</view>
<view>
<image src="@/static/inspecteIcon-normal.png" mode=""></image>
<text>1号巡检点</text>
</view>
<view>
<image src="@/static/ppt.png" mode=""></image>
<image src="@/static/inspecteIcon-normal.png" mode=""></image>
<text>1号巡检点</text>
</view>
<view>
<image src="@/static/ppt.png" mode=""></image>
<image src="@/static/inspecteIcon-normal.png" mode=""></image>
<text>1号巡检点</text>
</view>
<view>
<image src="@/static/ppt.png" mode=""></image>
<text>1号巡检点</text>
</view>
</view> -->
</view>
</view>
<view class="detail-main">
<view class="detail-main" v-for="item in checkingInfoList" :key="item.id">
<view class="title">
1号巡检点
{{item.checkingPointName}}
</view>
<view class="detail-content">
<view>巡检点名称:1号巡检点</view>
<view>巡检点名称:{{item.checkingPointName}}</view>
<view>巡检点位置:东北角大院</view>
<view>巡检人员:张三</view>
<view>巡检通知人员:李四</view>
<view>状态:正常</view>
<view>巡检时间:2024-09-01 12:09:09</view>
<view>异常详情:xx发现一个明风险,需要尽快处理</view>
<view>异常图片:</view>
<view>巡检人员:{{item.checkingPointUserName}}</view>
<view>巡检通知人员:{{item.noticeUserNames}}</view>
<view>状态:{{item.status == 1 ? '正常' : '异常'}}</view>
<view>巡检时间:{{item.createDate}}</view>
<view v-if="item.status == 2">异常详情:{{item.alarmDetails}}</view>
<view v-if="item.status == 2" class="detail-image">
异常图片:
<view v-if="item.alarmImage && JSON.parse(item.alarmImage).length > 0" >
<image v-for="ele in JSON.parse(item.alarmImage)" @click="previewImage(url_config+'image/'+ele.url)" :src="url_config+'image/'+ele.url" mode=""></image>
</view>
</view>
</view>
</view>
</view>
@ -75,7 +85,23 @@
export default {
data() {
return {
info:{},
info: {},
checkingList: [],
statusList: [{
id: 1,
statusName: "未巡检",
image: "/static/inspectelcon-not.png",
}, {
id: 2,
statusName: "正常",
image: "/static/inspecteIcon-normal.png",
}, {
id: 3,
statusName: "异常",
image: "/static/inspectelcon-abnormal.png",
}],
checkingInfoList:[],
statusBarHeight:0,
}
},
onLoad(options) {
@ -95,12 +121,14 @@
method: 'post',
data: {
projectSn: this.projectSn,
xzCheckingRouteTaskId: this.info.xzCheckingRoute.id,
checkingPointUserId:this.info.xzCheckingRoute.inspectUserIds,
xzCheckingRouteTaskId: this.info.id,
// checkingPointUserId: this.info.xzCheckingRoute.inspectUserIds,
pageNo: 1,
pageSize: 99999,
},
success: res => {
console.log(res);
// that.emergencyTypeList = res.result;
console.log(res.result.records);
that.checkingList = res.result.records;
}
})
},
@ -112,17 +140,20 @@
method: 'post',
data: {
projectSn: this.projectSn,
xzCheckingRouteTaskId: this.info.xzCheckingRoute.id,
checkingPointUserId:this.info.xzCheckingRoute.inspectUserIds,
// xzCheckingRouteTaskId: this.info.id,
checkingPointId:"",
// checkingPointUserId: this.info.xzCheckingRoute.inspectUserIds,
pageNo: 1,
pageSize: 10,
},
success: res => {
console.log(res);
// that.emergencyTypeList = res.result;
that.checkingInfoList = res.result.records;
}
})
},
getScanCode(){
getScanCode() {
uni.scanCode({
scanType: ['qrCode'],
success: function(res) {
@ -130,7 +161,7 @@
uni.navigateTo({
url: '../scan/saoSao?data=' + res.result
})
// let qrcodeVal=JSON.parse(res.result)
// let param={
// checkingPointId:qrcodeVal.checkingPointId,
@ -139,7 +170,7 @@
// checkingPointUserName:that.userInfo.realName||that.userInfo.account,
// position:qrcodeVal.position
// }
// that.sendRequest({
// url: "xmgl/checkingPointInfo/add",
// data:param,
@ -156,7 +187,13 @@
// })
}
})
}
},
//
previewImage(url) {
uni.previewImage({
urls: [url]
})
},
}
}
</script>
@ -168,8 +205,8 @@
left: 0;
width: 100%;
z-index: 2;
/deep/ .backImg {
/deep/ .backImg {
color: #fff !important;
}
@ -185,6 +222,7 @@
top: 50%;
z-index: 4;
transform: translateY(-50%);
.scancode {
width: 56rpx;
height: 56rpx;
@ -193,7 +231,7 @@
}
.content {
padding: 88rpx 26rpx 15%;
padding: 0 26rpx 15%;
box-sizing: border-box;
width: 100%;
@ -218,17 +256,19 @@
>view {
display: flex;
align-items: center;
>image {
width: 50rpx;
height: 60rpx;
margin-right: 8rpx;
}
}
.abnormal{
>image {
width: 60rpx !important;
height: 60rpx;
}
}
.abnormal {
>image {
width: 60rpx !important;
height: 60rpx;
}
}
@ -249,6 +289,14 @@
height: 60rpx;
margin-right: 8rpx;
}
>text {
width: 107rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
}
}
}
@ -284,6 +332,17 @@
>view {
font-size: 28rpx;
}
.detail-image {
display: flex;
image {
width: 128rpx;
height: 112rpx;
margin-left: 8rpx;
}
}
}
}
}

View File

@ -10,7 +10,7 @@
</dateTimePiccker>
</view>
</headers>
<view class="content">
<view class="content" :style="{ 'padding-top': (statusBarHeight+52) + 'px' }">
<view class="inspectedstay-item" v-for="item in listData" :key="item.id" @click="goDetail(item)">
<view>
巡检路线:{{item.xzCheckingRoute.routeName}}
@ -32,21 +32,21 @@
</view>
<view>
<text>巡检点情况:</text>
<text>10/{{item.checkingPointNum}}</text>
<text>{{item.taskToInspectUser ? (item.taskToInspectUser.normalCheckingPointNum + item.taskToInspectUser.abnormalCheckingPointNum) : 0}}/{{item.taskToInspectUser ? item.taskToInspectUser.checkingPointNum : 0}}</text>
</view>
</view>
<view class="item-box">
<view>
<text>正常点位:</text>
<text>0</text>
<text>{{item.taskToInspectUser ? item.taskToInspectUser.normalCheckingPointNum : 0}}</text>
</view>
<view>
<text>异常点位:</text>
<text>10</text>
<text>{{item.taskToInspectUser ? item.taskToInspectUser.abnormalCheckingPointNum : 0}}</text>
</view>
</view>
<view class="status" style="background-color: #EA3941;">
逾期
<view class="status" :style="`background-color: ${item.taskToInspectUser && statusList[item.taskToInspectUser.inspectStatus - 1].color};`">
{{item.taskToInspectUser && statusList[item.taskToInspectUser.inspectStatus - 1].statusName}}
</view>
</view>
</view>
@ -55,19 +55,19 @@
</view>
<view class="footers_box">
<ul>
<li>
<li @click="footersChangTab(0)">
<view class="icon_box">
<image v-if="tabIndex == 0" class="tabIcon" src="/static/inspecteIcon2.png"></image>
<image v-else class="tabIcon" src="/static/inspecteIcon1.png"></image>
</view>
<view class="icon_box" :class="{ active: tabIndex == 0 }" @click="footersChangTab(0)">待巡检</view>
<view class="icon_box" :class="{ active: tabIndex == 0 }">待巡检</view>
</li>
<li>
<li @click="footersChangTab(1)">
<view class="icon_box">
<image v-if="tabIndex == 1" class="tabIcon" src="/static/inspecteIcon4.png"></image>
<image v-else class="tabIcon" src="/static/inspecteIcon3.png"></image>
</view>
<view class="icon_box" :class="{ active: tabIndex == 1 }" @click="footersChangTab(1)">已巡检</view>
<view class="icon_box" :class="{ active: tabIndex == 1 }">已巡检</view>
</li>
</ul>
</view>
@ -87,6 +87,23 @@
//------------
type: 1,
statusList:[{
id:1,
statusName:"未开始",
color:"#EA3941",
},{
id:2,
statusName:"进行中",
color:"#5282F6",
},{
id:3,
statusName:"已完成",
color:"#0DB027",
},{
id:4,
statusName:"已逾期",
color:"#EA3941",
}],
listData: [],
checkedTab: 0,
condition: {
@ -105,17 +122,17 @@
actualFinishDate: '',
teach: true,
numberTasks: 0,
statusBarHeight:0,
}
},
onLoad() {
this.checkingPointUserId = JSON.parse(uni.getStorageSync('userInfo')).userId
this.condition.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
this.statusBarHeight = uni.getStorageSync('systemInfo').statusBarHeight;
console.log(this.checkingPointUserId,JSON.parse(uni.getStorageSync('userInfo')));
},
onShow() {
this.listData = [];
this.condition.pageNo = 1;
this.condition.pageSize = 10;
this.onRefresh();
this.getListData();
},
//
@ -132,7 +149,10 @@
this.sendRequest({
url: 'xmgl/xzCheckingRouteTask/page',
method: 'get',
data: that.condition,
data: {
...that.condition,
isInspect: that.tabIndex,
},
success: res => {
let arr = JSON.parse(JSON.stringify(this.listData));
if (res.result.records.length > 0) {
@ -143,8 +163,8 @@
that.teach = true;
}
that.listData = newArr;
that.numberTasks = newArr.length
console.log('进度数据', that.listData)
that.numberTasks = newArr.length;
console.log('进度数据', that.listData);
} else {
that.teach = false;
}
@ -158,8 +178,15 @@
if (type == 'startTime') {
// this.form.changeLimitTime = e.f3;
this.condition.date = e.f3;
this.onRefresh();
this.getListData();
}
},
onRefresh(){
this.listData = [];
this.condition.pageNo = 1;
this.condition.pageSize = 10;
},
goDetail(item) {
uni.navigateTo({
url: `/pages/projectEnd/InspectionRoute/inspecteddetail?info=${JSON.stringify(item)}`
@ -167,16 +194,10 @@
},
//tab
footersChangTab(val) {
this.listData = [];
this.condition.pageNo = 1;
this.condition.pageSize = 10;
// this.condition.dutyUserId = '';
this.tabIndex = val
// if (val == 1) {
// this.condition.dutyUserId = this.dutyUserId
// } else {
// this.condition.dutyUserId = ''
// }
this.onRefresh();
this.tabIndex = val;
this.getListData();
},
getDate(type) {
@ -221,7 +242,7 @@
}
.content {
padding: 88rpx 26rpx 15%;
padding: 0 26rpx 15%;
box-sizing: border-box;
width: 100%;
// margin-top: 3%;

View File

@ -27,7 +27,7 @@
<view class="title">
最低巡检时长
</view>
<input v-model="form.posiTion" type="text" disabled />
<input v-model="form.minInspectName" type="text" disabled />
</view>
<view class="item" v-for="(item,index) in form.templateList" :key="index">
<view class="title">
@ -95,6 +95,8 @@
createData: "", //
templateList: [],
status: 1,
minInspectTime:"", //
minInspectName:"", //
},
fileList: [],
status: false,
@ -240,6 +242,9 @@
that.form.posiTion = responseData.position
that.form.inPointId = responseData.checkingPointId
that.form.templateList = JSON.parse(responseData.template)
that.form.minInspectTime = responseData.minInspectTime;
that.form.minInspectName = responseData.minInspectTime + '分钟';
uni.hideLoading()
}
})
@ -335,9 +340,10 @@
buttonText: '确定',
success: function(res) {
if (res.confirm) {
uni.navigateTo({
url: '../projectIndex/projectIndex'
})
// uni.navigateTo({
// url: '../projectIndex/projectIndex'
// })
uni.navigateBack();
}
}
});
@ -348,6 +354,19 @@
},
//
addBtn() {
if (this.time < (this.form.minInspectTime * 60)) {
uni.showModal({
title: '提示',
content: "巡检时长没达标",
confirmColor: '#ee6666', //
showCancel: false, //
buttonText: '确定',
success: function(res) {
},
});
return;
}
if (!this.form.alarmDetails && this.form.status == 2) {
uni.showModal({
title: '提示',