fix:CN-971 1.卡片标题限定一行,超长做处理;描述内容长度限定到不遮住type和enabled按钮,留10px以上间隙;
2.取消select状态时,应清空已选数组; 3.设计图上,鼠标滑过卡片时,卡片边框应有阴影; 4.select状态下,整个卡片任意区域点击都可以选中,选中后边框色改变,且鼠标移开后边框阴影不消失; 5.All筛选框与下方的间隙太小,将间隙和其他统一; 6.只有2行时,卡片行距被拉开过大,应该不拉开; 7.删除弹框应竖向居中; 8.多选之后,点击搜索,卡片上的选择状态被取消,但点击删除按钮依旧在待删除列表里;
This commit is contained in:
@@ -171,7 +171,6 @@
|
|||||||
align-items : center;
|
align-items : center;
|
||||||
flex-direction:row;
|
flex-direction:row;
|
||||||
height:28px;
|
height:28px;
|
||||||
//border:solid 1px red;
|
|
||||||
width:100%;
|
width:100%;
|
||||||
.top-tool-btn {
|
.top-tool-btn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -281,6 +280,9 @@
|
|||||||
width:100%;
|
width:100%;
|
||||||
height:calc(100% - 152px);
|
height:calc(100% - 152px);
|
||||||
overflow-y:auto;
|
overflow-y:auto;
|
||||||
|
.card-selected{
|
||||||
|
box-shadow: 3px 3px 11px 0px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
.card-item {
|
.card-item {
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
border: 1px solid rgba(226,229,236,1);
|
border: 1px solid rgba(226,229,236,1);
|
||||||
@@ -307,7 +309,11 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.card-title-name {
|
.card-title-name {
|
||||||
|
width:210px;
|
||||||
|
overflow: hidden; //超出的文本隐藏
|
||||||
|
text-overflow: ellipsis; //溢出用省略号显示
|
||||||
|
white-space:nowrap;
|
||||||
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
.card-title-more {
|
.card-title-more {
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -331,23 +337,6 @@
|
|||||||
left: 5px;
|
left: 5px;
|
||||||
top: 2px;
|
top: 2px;
|
||||||
transform: rotate(45deg) scaleY(1);
|
transform: rotate(45deg) scaleY(1);
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
box-sizing: content-box;
|
|
||||||
content: "";
|
|
||||||
border: 10px solid red;
|
|
||||||
border-left: 0;
|
|
||||||
border-top: 0;
|
|
||||||
height: 0.5rem;
|
|
||||||
|
|
||||||
|
|
||||||
width: 0.21429rem;
|
|
||||||
transform: rotate(
|
|
||||||
45deg
|
|
||||||
) scaleY(0);
|
|
||||||
transition: transform .15s ease-in .05s;
|
|
||||||
transform-origin: center;*/
|
|
||||||
}
|
}
|
||||||
.card-operate {
|
.card-operate {
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
@@ -409,7 +398,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.card-id {
|
.card-id {
|
||||||
//font-family: NotoSansSChineseRegular;
|
//font-family: NotoSansSChineseRegular;
|
||||||
@@ -424,7 +412,14 @@
|
|||||||
color: #717171;
|
color: #717171;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
margin-bottom:12px;
|
margin-bottom:0px;
|
||||||
|
max-height:88px;
|
||||||
|
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 5;
|
||||||
|
line-clamp: 5;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.card-operate__footer {
|
.card-operate__footer {
|
||||||
@@ -455,6 +450,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.card-item:hover{
|
||||||
|
box-shadow: 3px 3px 11px 0px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
.card-item__enable {
|
.card-item__enable {
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
border: 1px solid rgba(226,229,236,1);
|
border: 1px solid rgba(226,229,236,1);
|
||||||
|
|||||||
@@ -1,23 +1,21 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-checkbox-group v-model="checkList" @change="" style="display:flex;flex-flow:row wrap;">
|
<el-checkbox-group v-model="checkList" @change="" style="display:flex;flex-flow:row wrap;align-content: flex-start;">
|
||||||
<div @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)" v-for="data in tableData" :key="data.id" class="card-item" style="">
|
<div @click="isSelectedStatus && clickCard(data,$event)" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)" v-for="data in tableData" :key="data.id" class="card-item" :class="data.isSelected ? 'card-selected' : ''">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<div class="card-title-name">
|
<div class="card-title-name" :title="data.tagName">{{data.tagName}}</div>
|
||||||
{{data.tagName}}
|
|
||||||
</div>
|
|
||||||
<div class="card-title-more">
|
<div class="card-title-more">
|
||||||
<span v-show="!isSelectedStatus && data.showMore"><i class="cn-icon cn-icon-more-dark" @mouseenter="mouseenterMore(data)" test-id="mouseenter-dark"></i></span>
|
<span v-show="!isSelectedStatus && data.showMore"><i class="cn-icon cn-icon-more-dark" @mouseenter="mouseenterMore(data)" test-id="mouseenter-dark"></i></span>
|
||||||
<div class="card-operate" v-show="!isSelectedStatus && data.moreOptions" @mouseleave="mouseleaveMore(data)">
|
<div class="card-operate" v-show="!isSelectedStatus && data.moreOptions" @mouseleave="mouseleaveMore(data)">
|
||||||
<div class="card-title-more-edit" @click="edit(data.id)" >{{$t('overall.edit')}}</div>
|
<div class="card-title-more-edit" @click="edit(data.id)" >{{$t('overall.edit')}}</div>
|
||||||
<div class="card-title-more-delete" @click="del(data)" >{{$t('overall.delete')}}</div>
|
<div class="card-title-more-delete" @click="del(data)" >{{$t('overall.delete')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<el-checkbox @change="(val) => {checkboxStatusChange(val,data)}" style="position: absolute;right: -12px;" v-if="isSelectedStatus" :key="data.id" :label="data"><br></el-checkbox>
|
<el-checkbox @click.stop="" @change="(val) => {checkboxStatusChange(val,data)}" style="position: absolute;right: -12px;" v-if="isSelectedStatus" :key="data.id" :label="data"><br></el-checkbox>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-id">ID:{{data.id}}</div>
|
<div class="card-id">ID:{{data.id}}</div>
|
||||||
<div class="card-desc">{{data.remark?data.remark:'—'}}</div>
|
<div class="card-desc" :title="data.remark">{{data.remark?data.remark:'—'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-operate__footer">
|
<div class="card-operate__footer">
|
||||||
<div class="card-type">{{data.tagType}}</div>
|
<div class="card-type">{{data.tagType}}</div>
|
||||||
@@ -62,7 +60,24 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
clickCard (data, event) {
|
||||||
|
if (data.isSelected) { // 原来为选中,当前点击后未选中
|
||||||
|
const index = this.checkList.indexOf(data)
|
||||||
|
if (index > -1) {
|
||||||
|
this.checkList.splice(index, 1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const index = this.checkList.indexOf(data)
|
||||||
|
if (index === -1) {
|
||||||
|
this.checkList.push(data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const val = !data.isSelected
|
||||||
|
data.isSelected = val
|
||||||
|
this.$emit('checkboxStatusChange', val, data)
|
||||||
|
},
|
||||||
checkboxStatusChange (val, data) {
|
checkboxStatusChange (val, data) {
|
||||||
|
data.isSelected = val
|
||||||
this.$emit('checkboxStatusChange', val, data)
|
this.$emit('checkboxStatusChange', val, data)
|
||||||
},
|
},
|
||||||
showSelect () {
|
showSelect () {
|
||||||
@@ -71,6 +86,16 @@ export default {
|
|||||||
hideSelect () {
|
hideSelect () {
|
||||||
// this.isSelectedStatus = false
|
// this.isSelectedStatus = false
|
||||||
},
|
},
|
||||||
|
clearSelect () {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.checkList = []
|
||||||
|
if (this.tableData && this.tableData.length > 0) {
|
||||||
|
this.tableData.forEach(data => {
|
||||||
|
data.isSelected = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
mouseenterMore (card) {
|
mouseenterMore (card) {
|
||||||
this.tableData.forEach(t => {
|
this.tableData.forEach(t => {
|
||||||
if (t.id === card.id) {
|
if (t.id === card.id) {
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ export default {
|
|||||||
const params = {
|
const params = {
|
||||||
q: this.keyWord
|
q: this.keyWord
|
||||||
}
|
}
|
||||||
|
this.clearList()
|
||||||
this.search(params)
|
this.search(params)
|
||||||
},
|
},
|
||||||
handleClose () {
|
handleClose () {
|
||||||
@@ -224,7 +225,11 @@ export default {
|
|||||||
this.pageObj.total = 0
|
this.pageObj.total = 0
|
||||||
},
|
},
|
||||||
toSelect () {
|
toSelect () {
|
||||||
|
this.$refs.dataTable.clearSelect()
|
||||||
this.isSelectedStatus = !this.isSelectedStatus
|
this.isSelectedStatus = !this.isSelectedStatus
|
||||||
|
this.disableDelete = true
|
||||||
|
this.batchDeleteObjs = []
|
||||||
|
this.secondBatchDeleteObjs = []
|
||||||
},
|
},
|
||||||
editSelectRecord () {
|
editSelectRecord () {
|
||||||
if (this.batchDeleteObjs.length === 0) {
|
if (this.batchDeleteObjs.length === 0) {
|
||||||
@@ -378,4 +383,12 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.el-dialog {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column; // 水平分布
|
||||||
|
margin: 0 !important;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(50% - 150px);
|
||||||
|
left: calc(50% - 240px);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-collapse-transition>
|
<el-collapse-transition>
|
||||||
<div class="filter__body" v-show="!filter.collapse">
|
<div class="filter__body" v-show="!filter.collapse">
|
||||||
<el-checkbox label="all" v-if="index === 0" key="all" @change="handleCheckedAllChange" v-model="checkAll" :indeterminate="isIndeterminateModel">
|
<el-checkbox style="padding-bottom: 5px;" label="all" v-if="index === 0" key="all" @change="handleCheckedAllChange" v-model="checkAll" :indeterminate="isIndeterminateModel">
|
||||||
<div class="filter__checkbox-label">
|
<div class="filter__checkbox-label">
|
||||||
<div class="filter-label" style="">
|
<div class="filter-label" style="">
|
||||||
<span>All</span>
|
<span>All</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user