182 lines
3.9 KiB
Vue
182 lines
3.9 KiB
Vue
|
<template>
|
|||
|
<view :class="{ 'dev-block--full': isFull === true || isFull === 'true' }"
|
|||
|
class="myContainer myContentBox dev-block">
|
|||
|
<!-- 标题 -->
|
|||
|
<view class="dev-block__header">
|
|||
|
<view class="dev-block__header-title-text">
|
|||
|
<view v-if="title">{{ title }}</view>
|
|||
|
<view v-if="titleHtml" v-html='titleHtml'></view>
|
|||
|
<view v-if="titleNumber">{{ titleNumber }}</view>
|
|||
|
</view>
|
|||
|
<view v-if="extra" class="__header-extra-text" style="line-height: 34px;position:absolute;top:0;right:0">
|
|||
|
<!-- <dev-tag :text="extra" :tagType="tagType" @click.stop="back(val)" /> -->
|
|||
|
<!-- <button type="default" @click.stop="remove(val)" v-if="approveState == 0"></button> -->
|
|||
|
<image src='../../static/img/deleteIcon.png' style="width: 20px;height: 20px;top: 4px;"
|
|||
|
@click.stop="remove(val)" v-if="approveState == 0"></image>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<!-- 内容 -->
|
|||
|
<view class="dev-block__content">
|
|||
|
<view v-if="contentList">
|
|||
|
<view v-for="item in contentList" :key="item.index"
|
|||
|
:class="{ 'doubleList': item.isDouble === true || item.isDouble === 'true' }"
|
|||
|
class="dev-block--myLists">
|
|||
|
<text class="dev-label">{{ item.labelName }}:</text>
|
|||
|
<text class="dev-content">{{ item.labelContent }}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<!-- 底部 -->
|
|||
|
<view v-if="note || noteback" class="dev-block__footer">
|
|||
|
<slot name="footer">
|
|||
|
<button class="mini-btn" type="default" size="default" @click.stop="onClickback">{{ noteback }}</button>
|
|||
|
<button class="mini-btn" type="default" size="default" @click="onClick">{{ note }}</button>
|
|||
|
<button class="mini-btn" type="default" style="float:right" size="mini" @click="onClick1">{{ note1
|
|||
|
}}</button>
|
|||
|
</slot>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import devTag from '../xinsoft-dev-tag/xinsoft-dev-tag.vue';
|
|||
|
export default {
|
|||
|
name: 'devBlock',
|
|||
|
components: {
|
|||
|
devTag
|
|||
|
},
|
|||
|
props: {
|
|||
|
approveState:{
|
|||
|
type:Number,
|
|||
|
default:undefined
|
|||
|
},
|
|||
|
title: {
|
|||
|
type: String,
|
|||
|
default: ''
|
|||
|
}, // 标题
|
|||
|
titleHtml:{},//html格式
|
|||
|
titleNumber:{
|
|||
|
type:String,
|
|||
|
default:''
|
|||
|
}, //设备编码
|
|||
|
extra: {
|
|||
|
type: String,
|
|||
|
default: ''
|
|||
|
}, // 扩展信息
|
|||
|
tagType:{
|
|||
|
type:String,
|
|||
|
default:'danger'
|
|||
|
}, //按钮状态
|
|||
|
contentList:Array
|
|||
|
, //设备内容
|
|||
|
note: {
|
|||
|
type: String,
|
|||
|
default: ''
|
|||
|
},
|
|||
|
noteback: {
|
|||
|
type: String,
|
|||
|
default: ''
|
|||
|
},
|
|||
|
note1: {
|
|||
|
type: String,
|
|||
|
default: ''
|
|||
|
},
|
|||
|
isFull: {
|
|||
|
// 内容区域是否通栏
|
|||
|
type: Boolean,
|
|||
|
default: false
|
|||
|
},
|
|||
|
},
|
|||
|
methods: {
|
|||
|
onClick() {
|
|||
|
this.$emit('click')
|
|||
|
},
|
|||
|
onClickback() {
|
|||
|
this.$emit('back')
|
|||
|
},
|
|||
|
onClick1() {
|
|||
|
this.$emit('click1')
|
|||
|
},
|
|||
|
remove(val){
|
|||
|
this.$emit('remove',val)
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style>
|
|||
|
@charset "UTF-8";
|
|||
|
|
|||
|
.mini-btn {
|
|||
|
color: white;
|
|||
|
font-size: 13px;
|
|||
|
background-color: #2589ee;
|
|||
|
}
|
|||
|
|
|||
|
.dev-block__header {
|
|||
|
position: relative;
|
|||
|
display: flex;
|
|||
|
flex-direction: row;
|
|||
|
padding: 16upx;
|
|||
|
align-items: center
|
|||
|
}
|
|||
|
|
|||
|
.dev-block__header-title {
|
|||
|
flex: 1;
|
|||
|
margin-right: 16upx;
|
|||
|
display: flex;
|
|||
|
flex-direction: row;
|
|||
|
justify-content: flex-start;
|
|||
|
align-items: center
|
|||
|
}
|
|||
|
|
|||
|
.dev-block__header-title-text {
|
|||
|
font-size: 32upx;
|
|||
|
flex: 2;
|
|||
|
text-overflow: ellipsis;
|
|||
|
white-space: nowrap;
|
|||
|
overflow: hidden
|
|||
|
}
|
|||
|
|
|||
|
.dev-block__content {
|
|||
|
padding: 16upx
|
|||
|
}
|
|||
|
|
|||
|
.dev-block__footer {
|
|||
|
padding: 20upx;
|
|||
|
color: #999;
|
|||
|
font-size: 24upx;
|
|||
|
}
|
|||
|
|
|||
|
.dev-block--full {
|
|||
|
margin: 0;
|
|||
|
border-left: none;
|
|||
|
border-right: none;
|
|||
|
border-radius: 0
|
|||
|
}
|
|||
|
|
|||
|
/*中间内容的部分的样式*/
|
|||
|
.dev-block--myLists {
|
|||
|
font-size: 32upx;
|
|||
|
width: 100%;
|
|||
|
display: inline-flex;
|
|||
|
}
|
|||
|
|
|||
|
.doubleList {
|
|||
|
width: 50%;
|
|||
|
}
|
|||
|
|
|||
|
.dev-label {
|
|||
|
font-size: 28upx;
|
|||
|
color: #999;
|
|||
|
min-width: 160upx;
|
|||
|
}
|
|||
|
|
|||
|
.dev-content {
|
|||
|
font-size: 28upx;
|
|||
|
color: #333;
|
|||
|
text-overflow: ellipsis;
|
|||
|
white-space: nowrap;
|
|||
|
overflow: hidden;
|
|||
|
}
|
|||
|
</style>
|