<template>
|
<div class="list-card">
|
<!-- 头部行 点击事件 -->
|
<div class="order-info"
|
@click="itemClick"
|
title="点击查看详情"
|
>
|
<div class="">
|
<span>工单编号: {{data.orderId}}</span>
|
<span>工单生成时间: {{data.createTime}}</span>
|
</div>
|
<div class="timer">处理时限: ---</div>
|
</div>
|
<!-- 内容 -->
|
<div class="contain">
|
<div class="item order-title">
|
<div class="inner">
|
<div class="title">工单标题</div>
|
<div class="content" :title="data.title">{{data.title}}</div>
|
</div>
|
</div>
|
<div class="item order-content">
|
<div class="inner">
|
<div class="title">告警内容</div>
|
<div class="content" :title="data.taskDesc">{{data.taskDesc}}</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="inner">
|
<div class="title">当前处理环节</div>
|
<div class="content strong">{{status}}</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="inner">
|
<div class="title">告警是否清除</div>
|
<div class="content strong">---</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="inner">
|
<div class="state">{{orderStatus}}</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import {
|
STATUS,
|
ORDERTYPE
|
} from '../js/const';
|
|
export default {
|
props: {
|
data: {
|
type: Object,
|
default () {
|
return {
|
|
}
|
}
|
}
|
},
|
computed: {
|
status () {
|
return STATUS[this.data.status] || '状态错误';
|
},
|
orderStatus () {
|
return ORDERTYPE[this.$route.meta.unitType];
|
}
|
},
|
methods: {
|
itemClick () {
|
this.$emit('itemclick', this.data);
|
}
|
}
|
};
|
</script>
|
|
<style scoped>
|
.list-card {
|
border: 1px #ababab solid;
|
background: #f3f4f6;;
|
}
|
.order-info {
|
color: #04409a;
|
padding: 4px 1.6em;
|
border-bottom: 1px #ababab solid;
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
cursor: pointer;
|
}
|
.order-info span {
|
font-size: 20px;
|
padding-right: 2em;
|
}
|
.timer {
|
color: #ababab;
|
font-size: 16px;
|
}
|
.contain {
|
display: flex;
|
flex-direction: row;
|
}
|
.item {
|
flex: 1;
|
border-right: 1px solid #ababab;
|
padding: 0.8em 4px;
|
text-align: center;
|
display: flex;
|
align-items: center;
|
}
|
.inner {
|
flex: 1;
|
}
|
.order-title {
|
flex: 1.6;
|
align-items: left;
|
}
|
.order-content .inner,
|
.order-title .inner {
|
padding: 0 1.4em;
|
text-align: left;
|
}
|
.order-content {
|
flex: 2.2;
|
}
|
.order-title .content,
|
.order-content .content {
|
overflow: hidden;
|
display: -webkit-box;
|
-webkit-box-orient: vertical;
|
-webkit-line-clamp: 2;
|
}
|
.item .inner > * {
|
font-size: 18px;
|
}
|
.item:last-of-type {
|
border-right: 0 none;
|
}
|
.item .strong,
|
.item .title {
|
color: #000;
|
font-weight: bolder;
|
}
|
.item .state {
|
color: #ed1c24;
|
font-weight: bolder;
|
}
|
</style>
|