实验室运维app端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

177 lines
3.8 KiB

<template>
<view v-if="list.length > 0">
<view class="work-title">维修提报</view>
<view class="notice_bg">
<view class="line"></view>
<swiper autoplay="true" display-multiple-items="1" vertical="true" cixrcular interval="7000" class="bar-swiper">
<swiper-item v-for="(item, index) in list" :key="index" class="swiper-item" @click="goPage(item)">
<view class="time">单号:{{ item.requirementCode }}</view>
<view class="name">故障描述:{{ item.faultDescribe }}</view>
<view class="type"> <u-tag :text="statusName(item.status)" type="success" mode="dark" shape="circle"
:bg-color="tagColor[statusName(item.status)]" /></view>
</swiper-item>
</swiper>
</view>
</view>
</template>
<script>
import { tabList, tabListColor } from '@/config/status.js'
export default {
data() {
return {
list: [
],
tabList: [],//tab状态
};
},
computed: {
dataTypes() {
this.tabList = tabList[this.$store.state.dataType]
return this.$store.state.dataType
},
tagColor() {
return tabListColor
},
},
mounted() {
this.workList()
},
methods: {
// 点击通告栏
click(id) {
// console.log(id, "======>id");
},
workList() {
this.loadingState = "loading";
let query = {
current: 1, //页数
size: 20, //条数
dataType: this.dataTypes,//数据权限
statusSearch: '201,401,402,301,403,202,104',//状态5报错
}
this.$u.api.getWorkOrderRecords(query).then(res => {
if (res.code == 200) {
this.list = res.data.records
}
}).catch(err => {
})
},
statusName(item) {
if (this.tabList.length > 0) {
let newArr = this.tabList.filter(i => {
let sta = i.key.split(',')
return sta.includes(item + '')
})
if (this.dataTypes == 2 || this.dataTypes == 3 || this.dataTypes == 4) {
if (item == 100) {
return '维修驳回'
}
if (item == 101) {
return '主管驳回'
}
if (item == 102) {
return '客户驳回'
}
}
return newArr.length <= 0 ? '' : newArr[0].name
}
},
goPage(item){
uni.navigateTo({
url: '/pages/submission/records?type=submission&requirementCode='+item.requirementCode,
});
}
},
};
</script>
<style scoped lang="scss">
.work-title {
color: rgba(16, 16, 16, 1);
font-size: 32rpx;
padding: 0 0 32rpx 36rpx;
}
.notice_bg {
margin: 0 40rpx 32rpx;
background-color: #ffffff;
border-radius: 20rpx;
padding: 16rpx 20rpx;
display: flex;
align-items: center;
position: relative;
.icon {
width: 74rpx;
height: 72rpx;
}
.bar-swiper {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(34, 34, 34, 0.5);
height: 140rpx;
display: flex;
align-items: center;
flex: 1;
margin-left: 12rpx;
}
.swiper-item {
overflow: hidden;
}
// 内容样式
.title {
font-size: 32rpx;
color: rgba(16, 16, 16, 1);
text-align: left;
margin-top: 22rpx;
line-height: 38rpx;
}
.time {
margin-top: 20rpx;
margin-bottom: 28rpx;
}
.time,
.name {
font-size: 26rpx;
color: rgba(108, 108, 108, 1);
line-height: 38rpx;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
.status {
font-size: 26rpx;
line-height: 38rpx;
margin-top: 20rpx;
.status-name {
color: rgba(58, 98, 215, 1);
padding-right: 10rpx;
}
}
.type {
position: absolute;
top: 20rpx;
right: 20rpx;
color: rgba(58, 98, 215, 1);
font-size: 26rpx;
}
}
</style>