|
@@ -9,20 +9,23 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-tabs :stretch="false" v-model="activeName" :type="tabsType" @tab-click="handleClick" :class="{ borderCard: tabsType == 'border-card' }">
|
|
|
- <el-tab-pane v-for="(item, index) in tabsList" :key="index" :label="item.title" :name="item.code">
|
|
|
- <div class="isimg" v-if="isImg && items.list" @click="itemClick(items.item)">
|
|
|
- <el-image class="isimg-img" v-if="items.item && items.item.thumbnail" :src="items.item && items.item.thumbnail"></el-image>
|
|
|
- <el-image class="isimg-img" v-if="items.item && !items.item.thumbnail" :src="thumbnail"></el-image>
|
|
|
- <div class="isimg-text">
|
|
|
- <div class="isimg-title">{{ items.item && items.item.title }}</div>
|
|
|
- <div class="isimg-describe">{{ items.item && items.item.describe }}</div>
|
|
|
+ <el-tab-pane v-for="(item, index) in tabsList" :key="index" :label="item.title" :name="item.code" :parentCode="item.parentCode">
|
|
|
+ <div v-if="items.list.length > 0">
|
|
|
+ <div class="isimg" v-if="isImg && items.list" @click="itemClick(items.item)">
|
|
|
+ <el-image class="isimg-img" v-if="items.item && items.item.thumbnail" :src="items.item && items.item.thumbnail"></el-image>
|
|
|
+ <el-image class="isimg-img" v-if="items.item && !items.item.thumbnail" :src="thumbnail"></el-image>
|
|
|
+ <div class="isimg-text">
|
|
|
+ <div class="isimg-title">{{ items.item && items.item.title }}</div>
|
|
|
+ <div class="isimg-describe">{{ items.item && items.item.describe }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="isList" :class="{ borderList: tabsType == 'border-card' }" v-for="(i, index) in items.list" :key="index" @click="itemClick(i)">
|
|
|
+ <el-image class="isList-img" :src="icon"></el-image>
|
|
|
+ <div class="isList-title">{{ i.title }}</div>
|
|
|
+ <div class="isList-date">{{ i.date | dates }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="isList" :class="{ borderList: tabsType == 'border-card' }" v-for="(i, index) in items.list" :key="index" @click="itemClick(i)">
|
|
|
- <el-image class="isList-img" :src="icon"></el-image>
|
|
|
- <div class="isList-title">{{ i.title }}</div>
|
|
|
- <div class="isList-date">{{ i.date | dates }}</div>
|
|
|
- </div>
|
|
|
+ <el-divider class="divider" v-else>暂无数据</el-divider>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</div>
|
|
@@ -75,9 +78,15 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
handleClick(e) {
|
|
|
+ console.log(e);
|
|
|
+ // console.log(this.parentCode);
|
|
|
// 菜单编码
|
|
|
this.code = e.name || e.code;
|
|
|
- this.$emit('tabClick', { name: this.code });
|
|
|
+ const item = this.tabsList.find(i => i.code == this.code);
|
|
|
+ console.log(item, 'item');
|
|
|
+ const data = { name: this.code };
|
|
|
+ if (item.parentCode) data.parentCode = true;
|
|
|
+ this.$emit('tabClick', data);
|
|
|
},
|
|
|
itemClick(e) {
|
|
|
// 获取最后一级菜单
|
|
@@ -105,6 +114,10 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
+.divider {
|
|
|
+ width: 70%;
|
|
|
+ margin: 15% auto;
|
|
|
+}
|
|
|
.borderCard {
|
|
|
border-top: 5px solid #007ce2;
|
|
|
}
|
|
@@ -113,6 +126,12 @@ export default {
|
|
|
}
|
|
|
.lists {
|
|
|
width: 30%;
|
|
|
+ height: 360px;
|
|
|
+ .el-tabs{
|
|
|
+ ::v-deep .el-tabs__content {
|
|
|
+ height: 280px;
|
|
|
+ }
|
|
|
+ }
|
|
|
.title {
|
|
|
display: flex;
|
|
|
margin: 5px 0;
|
|
@@ -125,6 +144,8 @@ export default {
|
|
|
width: 60%;
|
|
|
margin: 0 15px;
|
|
|
color: #007ce2;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 600;
|
|
|
}
|
|
|
.more {
|
|
|
width: 35%;
|