Browse Source

fix: 巡检点检

master
songguoqiang 5 months ago
parent
commit
511f901b1b
  1. 10
      src/api/spotCheckOrder.js
  2. 17
      src/pages.json
  3. 7
      src/pages/index.vue
  4. 10
      src/pages/repairOrder/myOrder.vue
  5. 12
      src/pages/spotCheckOrder/addForm.vue
  6. 559
      src/pages/spotCheckOrder/detail.vue
  7. 240
      src/pages/spotCheckOrder/index.vue
  8. 8
      src/pages/spotCheckOrder/myOrder.vue
  9. 6
      src/pages/upkeepOrder/myOrder.vue

10
src/api/spotCheckOrder.js

@ -17,3 +17,13 @@ export function spotCheckOrderPage(params) {
export function orderClick(params) {
return http.get('/eam/device-spot-inspection-record-main/onClick',{params})
}
// 操作工单
export function selectListByNumber(params) {
return http.get('/eam/device-spot-inspection-record-detail/getList',{params})
}
// 工程师审批
export function orderClickApprove(params) {
return http.get('/eam/device-spot-inspection-record-main/orderClickApprove',{params})
}

17
src/pages.json

@ -133,6 +133,23 @@
"navigationBarTextStyle": "white"
}
},{
"path": "pages/spotCheckOrder/index",
"style": {
"navigationBarTitleText": "点检工单",
"navigationBarBackgroundColor": "#409eff",
"navigationBarTextStyle": "white",
"navigationStyle": "custom"
}
}
,{
"path": "pages/spotCheckOrder/detail",
"style": {
"navigationBarTitleText": "点检工单详情",
"navigationBarBackgroundColor": "#409eff",
"navigationBarTextStyle": "white"
}
}
,{
"path": "pages/spotCheckOrder/addForm",
"style": {
"navigationBarTitleText": "添加点检工单",

7
src/pages/index.vue

@ -66,7 +66,7 @@
<image src="../static/images/icon3.svg" mode=""></image>
<view>检修工单</view>
</view>
<view class="icon-item" @click="open('/pages/spotCheckOrder/addForm?type=DEVICE')"
<view class="icon-item" @click="open('/pages/spotCheckOrder/index?type=DEVICE&flag=0')"
v-if="item.path =='deviceSpotInspectionRecord'">
<image src="../static/images/icon2.svg" mode=""></image>
<view>点检工单</view>
@ -114,6 +114,11 @@
<image src="../static/images/icon2.svg" mode=""></image>
<view>检修工单</view>
</view>
<view class="icon-item" @click="open('/pages/spotCheckOrder/index?type=MOLD&flag=0')"
v-if="item.path =='moldSpotInspectionRecord'">
<image src="../static/images/icon2.svg" mode=""></image>
<view>点检工单</view>
</view>
<view class="icon-item" @click="open('/pages/upkeepOrder/index?type=MOLD')"
v-if="item.path =='moldMaintainJob'">
<image src="../static/images/icon1.svg" mode=""></image>

10
src/pages/repairOrder/myOrder.vue

@ -17,6 +17,7 @@
<u-tag text="已接单" v-else-if="item.status=='PECEIVED'" bg-color='rgba(255,255,255,0)' color='#005eaa' border-color='#005eaa ' type="error" shape='circle'/>
<u-tag text="已验证" v-else-if="item.status=='VERIFIED'" bg-color='rgba(255,255,255,0)' color='#2EC7C9' border-color='#2EC7C9' type="info" shape='circle'/>
<u-tag text="已完成" v-else-if="item.status=='COMPLETED'" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/>
<u-tag text="报修人已确认" v-else-if="item.status=='APPLYPASS'" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/>
</view>
<view class="dec">
报修单号:<span>{{item.number}}</span>
@ -39,6 +40,15 @@
<view class="dec">
完成时间:<span>{{$time.formatDate(item.completionTime)}}</span>
</view>
<view class="dec" v-if="item.applyName">
报修人:<span>{{item.applyName}}</span>
</view>
<view class="dec" v-if="item.verifyName">
审核人:<span>{{item.verifyName}}</span>
</view>
<view class="time" v-if="item.verifyName">
审核时间:{{`${$time.formatDate(item.verifyTime)}`}}
</view>
</view>
<view class="bottom">
<view class="time" style="flex: 1;">

12
src/pages/spotCheckOrder/addForm.vue

@ -98,6 +98,7 @@
} from 'vue'
import * as deviceApi from "@/api/device.js"
import * as moldApi from "@/api/mold.js"
import * as spotCheckOrderApi from "@/api/spotCheckOrder.js"
import * as dictApi from "@/api/dict.js"
import { useCountStore } from '@/store'
@ -156,6 +157,15 @@
number:form.value.deviceNumber,
flag:2
}
if(type.value=='MOLD'){
moldApi.getMoldDetailsByNumber(data).then((res) => {
if (res.data) {
form.value.deviceName = res.data.name
} else {
proxy.$modal.showToast(`找不到该${type.value=='DEVICE'?'设备' : '模具'}`)
}
}).catch(()=>{})
}else{
deviceApi.getDeviceDetailsByNumber(data).then((res) => {
if (res.data) {
form.value.deviceName = res.data.name
@ -164,6 +174,8 @@
}
}).catch(()=>{})
}
}
//
function getSubList() {
const data = {

559
src/pages/spotCheckOrder/detail.vue

@ -0,0 +1,559 @@
<template>
<!-- 详情 -->
<view class="detail-container">
<view class="info">
<view class="title">
<view>点检工单</view>
</view>
<view class="dec">
<view class="dec-item">
<view>工单单号</view>
<view>{{data.number}}</view>
</view>
<view class="dec-item">
<view>点检描述</view>
<view>{{data.describes}}</view>
</view>
<view class="dec-item" v-if="data.status != 'PECEIVED'">
<view>班次</view>
<view>{{data.classesName}}</view>
</view>
<view class="dec-item">
<view>点检人</view>
<view>{{data.maintenanceName}}</view>
</view>
<view class="dec-item">
<view>点检时间</view>
<view>{{$time.formatDate(data.createTime)}}</view>
</view>
</view>
</view>
<div class="line"></div>
<view class="info" style="padding-bottom: 130rpx;">
<view class="tab">
<u-tabs :list="list" :is-scroll="false" bar-height="2" bar-width="250" v-model="current"
@change="change"></u-tabs>
</view>
<view>
<view class="title">
<view>{{changeItem.name}}</view>
</view>
<view class="dec" v-if="changeItem.value == 1">
<view class="dec-item">
<view>编号</view>
<view>{{data.deviceNumber}}</view>
</view>
<view class="dec-item">
<view>名称</view>
<view>{{data.name}}</view>
</view>
<view class="dec-item">
<view>所属厂区</view>
<view>{{data.factoryAreaName}}</view>
</view>
<view class="dec-item">
<view>类型</view>
<view>{{data.type == 'DEVICE'?'设备':data.type == 'TECH'?'工艺':'模具'}}</view>
</view>
</view>
<view class="list" v-if="changeItem.value == 2">
<view class="item " v-for="(item,index) in subList" :key="index">
<view class="item-box">
<view class="spare-title">
<view class="title-txt">
{{item.name}}
</view>
</view>
<u-row gutter="16">
<u-col :span="12">
<view class="dec">
<view class="">
设备部位名称: {{item.equipmentPosition}}
</view>
</view>
<view class="dec">
<view class="">
是否符合: {{item.is_conform=='TRUE'?'符合':'不符合'}}
</view>
</view>
<!-- <view class="dec">
<view style="margin-right: 20rpx;">是否符合:</view>
<input type="radio" v-model="item.isConform1" value="true">
<input type="radio" v-model="item.isConform1" value="false">
</view> -->
</u-col>
</u-row>
</view>
</view>
</view>
</view>
</view>
<view class="footer">
<view class="btns" v-if="(data.status == 'COMPLETED' || data.status =='APPLYPASS' || 'APPLYREJECTED')">
<u-button type="primary" @click="orderClickVerify()" :loading='loading' :disabled='loading'>审核</u-button>
</view>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
</view>
<!-- 验证完结-->
<u-popup v-model="isVerifyShowSuccess" mode="center" border-radius="14">
<view class="popup-title">审核意见</view>
<view class="popup">
<textarea v-model="data.applyContent" placeholder="请输入内容"></textarea>
</view>
<view class="popup-footer">
<view class="sure" @click="apply('APPROVEPASS')">通过</view>
<view class="reject" @click="apply('APPROVEREJECTED')" style="color: red;">驳回</view>
</view>
</u-popup>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
<u-select v-model="singleColumnShow" mode="single-column" :default-value='singleColumnDefaultValue'
:list="singleColumnList" @confirm="chooseSingleColumn"></u-select>
</view>
</template>
<script setup lang="ts">
import {
onLoad,
onShow
} from '@dcloudio/uni-app'
import {
ref,
getCurrentInstance
} from 'vue'
import * as dictApi from "@/api/dict.js"
import * as repairOrderApi from "@/api/repairOrder.js"
import { useCountStore } from '@/store'
import * as spotCheckOrderApi from "@/api/spotCheckOrder.js"
const { proxy } = getCurrentInstance()
// store
const store = useCountStore()
const list = ref([{
name: '设备信息',
value: 1
}, {
name: '维修内容',
value: 2
}])
const current = ref(0)
const changeItem = ref({
name: '设备信息',
value: 1
})
const subList = ref([])
const data = ref({})
const loading = ref(false)
const loading1 = ref(false)
const type = ref('')
const serviceList = ref([])
const isShowSuccess = ref(false)
const isVerifyShowSuccess = ref(false)//
const isApplyShowSuccess = ref(false)//
const orderCompleteResult = ref([]) //
const result = ref('TEMPORARILY')
const data1 = ref('')
const number = ref('')
const singleColumnShow = ref(false)
const singleColumnDefaultValue = ref([])
const singleColumnList = ref([])
const field = ref('')
const maintenanceShift = ref([]) //
const faultType = ref([]) //
function change(index) {
current.value = index
changeItem.value = list.value[current.value]
}
//
function addSubForm(clickType, item) {
if (data.value.status == 'APPLYPASS' || data.value.status == 'COMPLETED') {
return
}
if (data.value.status == 'PENDING') {
proxy.$modal.showToast('请先接单')
return
}
if (clickType == 'updata') {
proxy.$tab.navigateTo(
`/pages/repairOrder/addServiceRecord?type=${data.value.type}&factoryAreaNumber=${data.value.factoryAreaNumber}&number=${data.value.number}&data=${encodeURIComponent(JSON.stringify(item))}&deviceNumber=${data.value.deviceNumber}`
)
} else {
proxy.$tab.navigateTo(
`/pages/repairOrder/addServiceRecord?type=${data.value.type}&factoryAreaNumber=${data.value.factoryAreaNumber}&number=${data.value.number}&deviceNumber=${data.value.deviceNumber}`
)
}
}
/**
* 点击验证完结填写意见
*/
function orderClickVerify() {
data.value.applyContent = null;
isVerifyShowSuccess.value = true
}
function cancel(){
data.applyContent = null;
isVerifyShowSuccess.value = false
isApplyShowSuccess.value = false
}
function radioGroupChange(e) {
result.value = e
}
function sure() {
isShowSuccess.value = false
orderClick(2)
}
/**
* 验证确认
*/
function verify() {
isVerifyShowSuccess.value = false
orderClick()
}
/**
* 审核确认
*/
function apply(status) {
isVerifyShowSuccess.value = false
data.value.status = status
orderClick()
}
//
async function orderClick() {
const dataOne = {
number: data.value.number,
status: data.value.status,
id: data.value.id,
approveOpinion: data.value.applyContent
}
let tips ='是否确认提交'
proxy.$modal.confirm(tips).then(async () => {
proxy.$modal.loading('加载中')
loading.value = true
await spotCheckOrderApi.orderClickApprove(dataOne).then((res) => {
if (res.data) {
proxy.$modal.showToast('操作成功')
setTimeout(() => {
proxy.$tab.navigateBack()
loading.value = false
}, 1500)
} else {
proxy.$modal.showToast('操作失败')
loading.value = false
}
}).catch(() => {
proxy.$modal.closeLoading()
loading.value = false
})
})
}
async function getDeviceRepairDetail(number){
await repairOrderApi.getDeviceRepairDetail(number).then((res) => {
proxy.$modal.closeLoading()
data.value = res.data
if (res.data) {
}
loading.value = false
}).catch(() => {
proxy.$modal.closeLoading()
loading.value = false
})
}
onLoad(async (option) => {
if (option.data) {
data.value = JSON.parse(decodeURIComponent(option.data))
}
if (option.type) type.value = option.type;
if (option.number) {
number.value = option.number
selectListByNumber()
}
changeItem.value = list.value[current.value]
orderCompleteResult.value = await dictApi.getDict('order_complete_result')
})
onShow(async () => {
if (number.value) {
list.value = [{
name: type.value=='MOLD'?'模具信息':'设备信息',
value: 1
}, {
name: '点检项内容',
value: 2
}]
} else {
list.value = [{
name: type.value=='MOLD'?'模具信息':'设备信息',
value: 1
}, {
name: '点检项内容',
value: 2
}]
}
getRepairOrderDetaiList()
maintenanceShift.value = await dictApi.getDict('maintenance_shift')
faultType.value = await dictApi.getDict('fault_type')
})
function selectListByNumber() {
const data = {
number: number.value
}
spotCheckOrderApi.selectListByNumber(data).then((res) => {
if (res.data) {
subList.value = res.data
}
}).catch(()=>{})
}
</script>
<style lang="scss" scoped>
.detail-container {
min-height: 100vh;
background: white;
}
.line {
background: #f5f5f5;
height: 20rpx;
}
.info {
background: white;
}
.tab {
border-bottom: 1px solid #e4e4e4;
}
.title {
display: flex;
align-items: center;
padding: 20rpx 30rpx;
border-bottom: 1px solid #e4e4e4;
view {
&:nth-child(1) {
flex: 1;
border-left: 10rpx solid #409eff;
padding-left: 20rpx;
font-weight: bold;
}
}
}
.dec {
padding: 30rpx;
.dec-item {
padding-bottom: 30rpx;
display: flex;
view {
&:nth-child(1) {
width: 160rpx;
}
&:nth-child(2) {
color: #888888;
flex: 1;
width: 0px;
word-wrap: break-word;
}
}
}
}
.dec2 {
padding: 10rpx 30rpx;
display: flex;
view {
&:nth-child(1) {
width: 160rpx;
}
&:nth-child(2) {
color: #888888;
flex: 1;
width: 0px;
word-wrap: break-word;
}
}
}
.items {
margin: 20rpx 30rpx;
border-radius: 12rpx;
background: #F5F5F5;
padding-bottom: 20rpx;
.items-name {
padding: 20rpx;
border-bottom: 1px solid #dedede;
}
.items-dec {
padding: 0px 20rpx;
margin-top: 20rpx;
}
}
.popup-title {
text-align: center;
font-size: 32rpx;
font-weight: bold;
color: #409eff;
padding: 30rpx
}
.popup {
width: 600rpx;
padding: 0rpx 60rpx 0rpx;
}
.popup-footer {
display: flex;
border-top: 1px solid #e4e4e4;
view {
line-height: 100rpx;
flex: 1;
text-align: center;
&.sure {
color: #409eff;
}
}
}
.footer {
position: fixed;
bottom: 0px;
left: 0px;
width: 100%;
background: white;
z-index: 22;
}
.btns {
display: flex;
padding: 20rpx;
box-shadow: 0px -2rpx 20rpx rgba(0, 0, 0, 0.1);
button {
flex: 1;
margin: 0px 10rpx;
}
.sure {
background: #409eff;
color: white;
border-radius: 8rpx;
&::after {
border: 1px solid #409eff;
border-radius: 0px;
}
}
}
.list {
padding: 20rpx;
.item {
display: flex;
margin-bottom: 20rpx;
.item-box {
border-radius: 12rpx;
border: 1px solid #dedede;
border-radius: 12rpx;
flex: 1;
width: 0rpx;
}
.spare-title {
padding: 20rpx 30rpx;
border-bottom: 1px solid #e4e4e4;
display: flex;
.title-txt {
color: #409eff;
font-size: 30rpx;
font-weight: bold;
flex: 1;
}
}
.dec {
color: #9c9c9c;
padding: 0rpx 30rpx 20rpx;
}
}
}
.add-btn {
display: flex;
justify-content: flex-start;
align-items: center;
}
::v-deep .u-radio-group {
display: grid !important;
padding-bottom: 20rpx;
}
.images {
display: flex;
width: 100%;
image {
width: 30%;
margin-right: 20rpx;
height: 200rpx;
border-radius: 10rpx;
}
}
.select {
display: flex;
align-items: center;
height: 72rpx;
width: 100%;
.input {
flex: 1;
font-size: 28rpx;
color: #000000;
}
.placeholder {
flex: 1;
font-size: 28rpx;
color: rgb(192, 196, 204);
}
}
</style>

240
src/pages/spotCheckOrder/index.vue

@ -0,0 +1,240 @@
<template>
<!-- 点检工单 -->
<view class="container">
<u-navbar back-icon-color='#fff' :background="{ background: '#409eff'}" back-text="" title-color='#fff'
title="点检工单">
<template v-slot:right>
<u-icon name="plus" color="#fff" size="36" style="padding-right: 30rpx;" @click="addForm"></u-icon>
</template>
</u-navbar>
<view class="list">
<view class="item" v-for="(item,index) in list" :key="index" >
<view class="" @click="itemClick(item,index)">
<view class="title">
<view class="title-txt">
{{item.describes}}
</view>
<u-tag text="待接单" v-if="item.status == 'PENDING'" bg-color='rgba(255,255,255,0)' color='#fe8463' border-color='#fe8463' type="primary" shape='circle'/>
<u-tag text="已撤回" v-else-if="item.status=='REJECTED'" bg-color='rgba(255,255,255,0)' color='#d7d7d7' border-color='#d7d7d7 ' type="warning" shape='circle'/>
<u-tag text="已转办" v-else-if="item.status=='TRANSFERRED'" bg-color='rgba(255,255,255,0)' color='#e01f54' border-color='#e01f54' type="success" shape='circle'/>
<u-tag text="已接单" v-else-if="item.status=='PECEIVED'" bg-color='rgba(255,255,255,0)' color='#005eaa' border-color='#005eaa ' type="error" shape='circle'/>
<u-tag text="已验证" v-else-if="item.status=='VERIFIED'" bg-color='rgba(255,255,255,0)' color='#2EC7C9' border-color='#2EC7C9' type="info" shape='circle'/>
<u-tag text="已完成" v-else-if="item.status=='COMPLETED'" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/>
<u-tag text="审核通过" v-else-if="item.status=='APPROVEPASS'" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/>
<u-tag text="审核不通过" v-else-if="item.status=='APPROVEREJECTED'" bg-color='rgba(255,255,255,0)' color='#e01f54' border-color='#e01f54' type="success" shape='circle'/>
</view>
<view class="dec">
工单单号:<span>{{item.number}}</span>
</view>
<view class="dec">
类型:<span>{{item.type=='DEVICE'?'设备':item.type=='TECH'?'工艺':'模具'}}</span>
</view>
<view class="dec">
{{`${params.type=='DEVICE'?'设备' : '模具'}`}}编号:<span>{{item.deviceNumber}}</span>
</view>
<view class="dec">
{{`${params.type=='DEVICE'?'设备' : '模具'}`}}名称:<span>{{item.name}}</span>
</view>
<view class="dec">
所属厂区:<span>{{item.factoryAreaName}}</span>
</view>
<view class="dec">
班次:<span>{{item.classesName}}</span>
</view>
<view class="dec">
点检人:<span>{{item.maintenanceName}}</span>
</view>
</view>
<view class="bottom">
<view class="time" style="flex: 1;">
{{`${$time.formatDate(item.createTime)}`}}
</view>
</view>
</view>
</view>
<view style="height: 94rpx;padding-top: 30rpx;">
<u-loadmore :status="status" v-if="status != 'loadmore'" />
</view>
<view style="height: constant(safe-area-inset-bottom); height: env(safe-area-inset-bottom);"></view>
</view>
</template>
<script setup lang="ts">
import {
onLoad,
onShow,
onReachBottom
} from '@dcloudio/uni-app'
import {
ref,
getCurrentInstance,
nextTick
} from 'vue'
import * as spotCheckOrderApi from "@/api/spotCheckOrder.js"
import { useCountStore } from '@/store'
const { proxy } = getCurrentInstance()
// store
const store = useCountStore()
const params = ref({
pageNo: 1,
pageSize: 10,
type: '',
})
const status = ref('loadmore') //
const list = ref([])
function itemClick(item, index) {
proxy.$tab.navigateTo(`/pages/spotCheckOrder/detail?type=${params.value.type}&number=${item.number}&data=${encodeURIComponent(JSON.stringify(item))}`)
}
function addForm(item) {
proxy.$tab.navigateTo(`/pages/spotCheckOrder/addForm?type=${params.value.type}&data=${encodeURIComponent(JSON.stringify(item))}`)
}
async function getList() {
if (status.value == 'nomore') return;
status.value = 'loading';
proxy.$modal.loading('加载中')
await spotCheckOrderApi.spotCheckOrderPage(params.value).then((res) => {
proxy.$modal.closeLoading()
if (res.data.list.length > 0) {
list.value = list.value.concat(res.data.list);
params.value.pageNo++;
status.value = 'loadmore'
} else {
status.value = 'nomore'
}
}).catch(() => {
proxy.$modal.closeLoading()
})
}
onLoad((option) => {
if (option.type) params.value.type = option.type;
if (option.flag) params.value.flag = option.flag;
})
onShow(() => {
params.value.pageNo = 1
list.value = []
status.value = 'loadmore'
getList()
})
onReachBottom(() => {
getList()
})
</script>
<style lang="scss" scoped>
.container{
background: #f5f5f5;
min-height: 100vh;
}
.list {
background: #f5f5f5;
margin-top: 20rpx;
.item {
padding: 30rpx 30rpx 0px 30rpx;
margin-top: 20rpx;
background: white;
.title {
display: flex;
align-items: center;
padding-bottom: 20rpx;
.title-txt {
color: #409eff;
font-weight: bold;
font-size: 36rpx;
width: 0px;
flex: 1;
word-wrap: break-word;
}
.time {
color: #919191;
}
}
.dec {
padding-bottom: 20rpx;
span {
color: #999999;
}
}
.last {
padding-bottom: 30rpx;
}
.bottom {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid #E4E4E4;
padding: 20rpx 0px;
}
}
}
.list {
background: #f5f5f5;
margin-top: 20rpx;
.item {
padding: 30rpx 30rpx 0px 30rpx;
margin-top: 20rpx;
background: white;
.title {
display: flex;
align-items: center;
padding-bottom: 20rpx;
.title-txt {
color: #409eff;
font-weight: bold;
font-size: 36rpx;
width: 0px;
flex: 1;
}
.time {
color: #919191;
}
}
.dec {
padding-bottom: 20rpx;
span {
color: #999999;
}
}
.last {
padding-bottom: 30rpx;
}
.bottom {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid #E4E4E4;
padding: 20rpx 0px;
position: relative;
.button {
position: absolute;
right: 0rpx;
}
}
}
}
</style>

8
src/pages/spotCheckOrder/myOrder.vue

@ -17,6 +17,8 @@
<u-tag text="已接单" v-else-if="item.status=='PECEIVED'" bg-color='rgba(255,255,255,0)' color='#005eaa' border-color='#005eaa ' type="error" shape='circle'/>
<u-tag text="已验证" v-else-if="item.status=='VERIFIED'" bg-color='rgba(255,255,255,0)' color='#2EC7C9' border-color='#2EC7C9' type="info" shape='circle'/>
<u-tag text="已完成" v-else-if="item.status=='COMPLETED'" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/>
<u-tag text="审核通过" v-else-if="item.status=='APPROVEPASS'" bg-color='rgba(255,255,255,0)' color='#2ba471' border-color='#2ba471' type="info" shape='circle'/>
<u-tag text="审核不通过" v-else-if="item.status=='APPROVEREJECTED'" bg-color='rgba(255,255,255,0)' color='#e01f54' border-color='#e01f54' type="success" shape='circle'/>
</view>
<view class="dec">
点检单号:<span>{{item.number}}</span>
@ -30,6 +32,12 @@
<view class="dec">
班次:<span>{{item.classesName}}</span>
</view>
<view class="dec" v-if="item.verifyName">
审核人:<span>{{item.verifyName}}</span>
</view>
<view class="time" v-if="item.verifyName">
审核时间:{{`${$time.formatDate(item.verifyTime)}`}}
</view>
</view>
<view class="bottom">
<view class="time" style="flex: 1;">

6
src/pages/upkeepOrder/myOrder.vue

@ -45,6 +45,12 @@
<view class="dec">
完成时间:<span>{{$time.formatDate(item.completionTime)}}</span>
</view>
<view class="dec" v-if="item.verifyName">
审核人:<span>{{item.verifyName}}</span>
</view>
<view class="time" v-if="item.verifyName">
审核时间:{{`${$time.formatDate(item.verifyTime)}`}}
</view>
</view>
<view class="bottom">
<view class="time" style="flex: 1;">

Loading…
Cancel
Save