589 lines
17 KiB
Vue
589 lines
17 KiB
Vue
<template>
|
||
<view>
|
||
<view class="top_container">
|
||
<view class="report_status" v-if="record.result == '56'">待处理</view>
|
||
<view class="report_status" v-else-if="record.result == '57'"
|
||
>待验收</view
|
||
>
|
||
<view class="report_status" v-else-if="record.result == '58'"
|
||
>已验收</view
|
||
>
|
||
<view class="report_status"
|
||
>计划编号:{{ record.work_orderNo || "" }}</view
|
||
>
|
||
<view class="btn" v-if="record.result == '56'" @click="toPatrol()"
|
||
>保养执行</view
|
||
><!-- 待处理 -->
|
||
<view class="btn" v-else-if="record.result == '57'" @click="toEvaluate()"
|
||
>验收评价</view
|
||
><!-- 待验收 -->
|
||
</view>
|
||
<view class="detail_name_container">
|
||
<view
|
||
:class="[current_num == 1 ? 'current' : '']"
|
||
@click="changecurrent(1)"
|
||
>基本信息</view
|
||
>
|
||
<view
|
||
:class="[current_num == 2 ? 'current' : '']"
|
||
@click="changecurrent(2)"
|
||
>保养项目</view
|
||
>
|
||
<view
|
||
:class="[current_num == 3 ? 'current' : '']"
|
||
@click="changecurrent(3)"
|
||
>备件信息</view
|
||
>
|
||
<view
|
||
v-if="record.result == '58'"
|
||
:class="[current_num == 4 ? 'current' : '']"
|
||
@click="changecurrent(4)"
|
||
>验收评价</view
|
||
>
|
||
</view>
|
||
<view v-if="current_num == 1">
|
||
<view class="myContainer myContentBox">
|
||
<view class="top_container detail_list_top">
|
||
<view class="report_status">设备信息</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">设备单号</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.serialno
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">设备名称</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.deviceName
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">规格型号</view>
|
||
<view class="list_item_content contentRight">{{ record.model }}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">使用部门</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.useDeptName
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">安装地点</view>
|
||
<view class="list_item_content contentRight">{{ record.site }}</view>
|
||
</view>
|
||
</view>
|
||
<view class="myContainer myContentBox">
|
||
<view class="top_container detail_list_top">
|
||
<view class="report_status">保养概况</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养单号</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.work_orderNo
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养级别</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.typeName
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养名称</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.planName
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养负责人</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.userName
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">负责人电话</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.mobile
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养开始时间</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.planStarttime
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养结束时间</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.planendtime
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养总用时</view>
|
||
<view class="list_item_content contentRight"
|
||
>{{ record.plan_man_hour || "-" }}小时</view
|
||
>
|
||
</view>
|
||
<!-- <view class="list_item">
|
||
<view class="list_item_name">下次保养时间</view>
|
||
<view class="list_item_content contentRight">?</view>
|
||
</view> -->
|
||
<view class="list_item">
|
||
<view class="list_item_name">停机时间</view>
|
||
<view class="list_item_content contentRight"
|
||
>{{ record.downHour || "-" }}小时</view
|
||
>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">使用状况</view>
|
||
<view class="list_item_content contentRight">{{
|
||
record.using_status_name
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">材料费合计</view>
|
||
<view class="list_item_content contentRight"
|
||
>{{ record.cost }}元</view
|
||
>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">工时费合计</view>
|
||
<view class="list_item_content contentRight"
|
||
>{{ record.manhourCost }}元</view
|
||
>
|
||
</view>
|
||
</view>
|
||
<!-- 保养总结(待验收、已验收) -->
|
||
<view v-if="record.result != '56' && record.result">
|
||
<view class="myContainer myContentBox">
|
||
<view class="top_container detail_list_top">
|
||
<view class="report_status">保养总结</view>
|
||
</view>
|
||
<view class="resultContent">{{ record.resultContent }}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-else-if="current_num == 2">
|
||
<view
|
||
class="myContainer myContentBox"
|
||
v-for="(items, index) in project"
|
||
:key="index"
|
||
>
|
||
<view class="top_container detail_list_top">
|
||
<view class="report_status">保养项目-{{ index }}</view>
|
||
</view>
|
||
<view style="clear: both">
|
||
<view class="multi_list_item">
|
||
<view class="list_item">
|
||
<view class="list_item_name">项目:</view>
|
||
<view class="list_item_content">{{ items.name }}</view>
|
||
</view>
|
||
</view>
|
||
<view class="multi_list_item">
|
||
<view class="list_item list_item-">
|
||
<view class="list_item_name">工时:</view>
|
||
<view class="list_item_content">{{ items.manhour }}小时</view>
|
||
</view>
|
||
<view class="list_item list_item-">
|
||
<view class="list_item_name">结果:</view>
|
||
<view class="list_item_content" v-if="items.result == 1"
|
||
>通过</view
|
||
>
|
||
<view class="list_item_content" v-else-if="items.result == 0"
|
||
>不通过</view
|
||
>
|
||
</view>
|
||
</view>
|
||
<view class="multi_list_item">
|
||
<view class="list_item">
|
||
<view class="list_item_name">保养工时费:</view>
|
||
<view class="list_item_content" style="padding-left: 180upx"
|
||
>{{ items.manHourCost || "" }}元</view
|
||
>
|
||
</view>
|
||
</view>
|
||
<view class="multi_list_item">
|
||
<view class="list_item">
|
||
<view class="list_item_name">方法:</view>
|
||
<view class="list_item_content">{{ items.function }}</view>
|
||
</view>
|
||
</view>
|
||
<view class="list_item">
|
||
<view class="list_item_name">备注:</view>
|
||
<view class="list_item_content">{{ items.remark }}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-else-if="current_num == 3" class="difBox">
|
||
<view
|
||
class="myContainer myContentBox"
|
||
v-for="(items, index) in part"
|
||
:key="index"
|
||
>
|
||
<view class="top_container">
|
||
<view class="report_status">{{ items.spartName }}</view>
|
||
<view class="report_status">[{{ items.code }}]</view>
|
||
</view>
|
||
<view style="clear: both">
|
||
<view class="multi_list_item">
|
||
<view class="list_item list_item-">
|
||
<view class="list_item_name list_item_name2">规格型号:</view>
|
||
<view class="list_item_content list_item_content2">{{
|
||
items.type
|
||
}}</view>
|
||
</view>
|
||
<view class="list_item list_item-">
|
||
<view class="list_item_name">库位:</view>
|
||
<view class="list_item_content">{{ items.locationName }}</view>
|
||
</view>
|
||
</view>
|
||
<view class="flex_list_item">
|
||
<view>单价:{{ items.price }}元</view>
|
||
<view>总价:{{ items.spart_sum }}元</view>
|
||
<view>数量:{{ items.spart_amount }}{{ items.spart_unit }}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-else-if="current_num == 4">
|
||
<view class="myContainer myContentBox">
|
||
<view class="list_item" style="padding: 20upx">
|
||
<view
|
||
class="list_item_name"
|
||
style="padding-top: 28upx; color: #333"
|
||
>{{ checkInfo.result_name || "" }}</view
|
||
>
|
||
<view class="list_item_content content_right">
|
||
<view>验收人:{{ checkInfo.user_name || "" }}</view>
|
||
<view>验收时间:{{ checkInfo.update_time || "" }}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="myContainer myContentBox">
|
||
<view class="top_container">验收评价</view>
|
||
<view class="star_content">
|
||
<view class="star_name">完成效率</view>
|
||
<view class="star">
|
||
<uni-rate
|
||
:value="checkInfo.xl_grade || ''"
|
||
active-color="#3382FF"
|
||
:disabled="true"
|
||
color="#C1C1C1"
|
||
></uni-rate>
|
||
</view>
|
||
</view>
|
||
<view class="star_content">
|
||
<view class="star_name">完成质量</view>
|
||
<view class="star">
|
||
<uni-rate
|
||
:value="checkInfo.qa_grade || ''"
|
||
active-color="#3382FF"
|
||
:disabled="true"
|
||
color="#C1C1C1"
|
||
></uni-rate>
|
||
</view>
|
||
</view>
|
||
<view class="star_content">
|
||
<view class="star_name">工作态度</view>
|
||
<view class="star">
|
||
<uni-rate
|
||
:value="checkInfo.td_grade || ''"
|
||
active-color="#3382FF"
|
||
:disabled="true"
|
||
color="#C1C1C1"
|
||
></uni-rate>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="myContainer myContentBox">
|
||
<view class="top_container">验收意见</view>
|
||
<view class="resultContent" style="padding-bottom: 5px">{{
|
||
checkInfo.content || ""
|
||
}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="goHome" @click="goMain()">
|
||
<img src="../../static/img/gohome.png" />
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import uniRate from "@/components/uni-rate/uni-rate.vue";
|
||
import { config } from "../../request/js/config.js";
|
||
export default {
|
||
components: {
|
||
uniRate,
|
||
},
|
||
data() {
|
||
return {
|
||
config: config,
|
||
current_num: 1,
|
||
id: "",
|
||
record: {},
|
||
part: [],
|
||
project: [],
|
||
checkInfo: {},
|
||
};
|
||
},
|
||
onLoad(option) {
|
||
this.id = option.id;
|
||
if (this.id == undefined) {
|
||
uni.reLaunch({
|
||
url: "eqUpkeep",
|
||
});
|
||
return false;
|
||
}
|
||
var _this = this;
|
||
this.$http
|
||
.request({
|
||
url: "/apis/upkeepPlan/oneRecordDetail",
|
||
params: {
|
||
recordId: this.id,
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.data.code == 0) {
|
||
// this.data_result=res.data.data;
|
||
this.record = res.data.data.record[0];
|
||
this.part = res.data.data.part;
|
||
this.project = res.data.data.project;
|
||
if (this.record.result == 58) {
|
||
_this.getValues();
|
||
}
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
uni.showToast({
|
||
title: "获取信息失败",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
});
|
||
},
|
||
methods: {
|
||
//获取评价详情。
|
||
getValues() {
|
||
this.$http
|
||
.request({
|
||
url: "/apis/upkeepRecord/getCheckDetail",
|
||
params: {
|
||
recordId: this.id,
|
||
},
|
||
})
|
||
.then((res) => {
|
||
if (res.data.code == 0) {
|
||
this.checkInfo = res.data.data;
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
uni.showToast({
|
||
title: "获取信息失败",
|
||
duration: 2000,
|
||
icon: "none",
|
||
});
|
||
});
|
||
},
|
||
changecurrent(num) {
|
||
this.current_num = num;
|
||
},
|
||
//点击立即巡检
|
||
toPatrol() {
|
||
uni.navigateTo({
|
||
url: "keepStep1?id=" + this.id,
|
||
});
|
||
},
|
||
//验收评价
|
||
toEvaluate() {
|
||
uni.navigateTo({
|
||
url: "keepEvaluation?id=" + this.id,
|
||
});
|
||
},
|
||
},
|
||
onBackPress(options) {
|
||
//取消默认的返回事件.
|
||
// uni.navigateTo({
|
||
// url: "eqUpkeep"
|
||
// });
|
||
// return true;
|
||
},
|
||
};
|
||
</script>
|
||
<style>
|
||
page {
|
||
background-color: #f5f7f5;
|
||
}
|
||
</style>
|
||
<style scoped>
|
||
.difBox .top_container {
|
||
border-radius: 12upx 12upx 0px 0px;
|
||
box-shadow: none;
|
||
border: 0px;
|
||
}
|
||
|
||
.top_container {
|
||
position: relative;
|
||
width: 100%;
|
||
background-color: #fff;
|
||
padding: 30upx 200upx 30upx 30upx;
|
||
box-sizing: border-box;
|
||
color: #333;
|
||
/* box-shadow: 2px 2px 20upx rgba(0,0,0,0.1); */
|
||
}
|
||
|
||
.report_status {
|
||
line-height: 40upx;
|
||
word-break: break-all;
|
||
font-size: 28upx;
|
||
}
|
||
.btn {
|
||
position: absolute;
|
||
width: 160upx;
|
||
height: 68upx;
|
||
text-align: center;
|
||
line-height: 68upx;
|
||
border-radius: 10upx;
|
||
background-color: #3382ff;
|
||
color: #fff;
|
||
right: 30upx;
|
||
margin: auto;
|
||
top: 0;
|
||
bottom: 0;
|
||
font-size: 28upx;
|
||
}
|
||
.detail_name_container {
|
||
position: relative;
|
||
width: 100%;
|
||
padding-left: 30upx;
|
||
height: 100upx;
|
||
box-sizing: border-box;
|
||
color: #333;
|
||
}
|
||
.detail_name_container view {
|
||
position: relative;
|
||
font-size: 30upx;
|
||
float: left;
|
||
line-height: 100upx;
|
||
}
|
||
.detail_name_container view {
|
||
margin-right: 20upx;
|
||
}
|
||
.current:after {
|
||
position: absolute;
|
||
content: "";
|
||
width: 80upx;
|
||
height: 8upx;
|
||
background-color: #3382ff;
|
||
bottom: 8upx;
|
||
left: 20upx;
|
||
border-radius: 8upx;
|
||
}
|
||
.detail_list {
|
||
position: relative;
|
||
background-color: #fff;
|
||
width: 90%;
|
||
margin: auto;
|
||
box-shadow: 1px 1px 20upx rgba(0, 0, 0, 0.1);
|
||
margin-bottom: 30upx;
|
||
overflow: auto;
|
||
}
|
||
.list_item {
|
||
position: relative;
|
||
width: 100%;
|
||
min-height: 70upx;
|
||
padding: 0 30upx;
|
||
box-sizing: border-box;
|
||
}
|
||
.multi_list_item {
|
||
position: relative;
|
||
overflow: auto;
|
||
}
|
||
.list_item- {
|
||
width: 50%;
|
||
float: left;
|
||
}
|
||
|
||
.list_item_name {
|
||
position: absolute;
|
||
left: 30upx;
|
||
font-size: 28upx;
|
||
color: #999;
|
||
line-height: 70upx;
|
||
}
|
||
.list_item- .list_item_name {
|
||
width: 100upx;
|
||
}
|
||
.list_item_name2 {
|
||
width: 140upx !important;
|
||
}
|
||
.list_item_content {
|
||
position: relative;
|
||
padding: 14upx 0 14upx 100upx;
|
||
font-size: 28upx;
|
||
line-height: 40upx;
|
||
max-height: 140upx;
|
||
color: #333;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 3;
|
||
-webkit-box-orient: vertical;
|
||
box-sizing: border-box;
|
||
}
|
||
.contentRight {
|
||
text-align: right;
|
||
}
|
||
.list_item- .list_item_content {
|
||
padding: 14upx 0 14upx 100upx;
|
||
}
|
||
.list_item_content2 {
|
||
padding: 14upx 0 14upx 140upx !important;
|
||
}
|
||
.flex_list_item {
|
||
position: relative;
|
||
padding: 0 15px;
|
||
height: 70upx;
|
||
line-height: 70upx;
|
||
border-top: 1px solid #e0e0e0;
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: space-between;
|
||
font-size: 24upx;
|
||
color: #333;
|
||
}
|
||
.flex_list_item view {
|
||
line-height: 70upx;
|
||
}
|
||
.sign_in_container {
|
||
position: relative;
|
||
width: 100%;
|
||
}
|
||
.img-wrap {
|
||
position: relative;
|
||
background-color: #fff;
|
||
float: left;
|
||
width: 27%;
|
||
margin: 3%;
|
||
}
|
||
.img-box {
|
||
width: 100%;
|
||
padding-bottom: 100%;
|
||
overflow: hidden;
|
||
margin: 0;
|
||
position: relative;
|
||
}
|
||
.img-box img {
|
||
position: absolute;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
.resultContent {
|
||
font-size: 30upx;
|
||
color: #333;
|
||
padding: 30upx 30upx 0 30upx;
|
||
box-sizing: border-box;
|
||
}
|
||
</style>
|