huangjinming fbc89d9bd0 fix
2023-01-04 13:17:25 +08:00

225 lines
4.8 KiB
Vue

<template>
<div class="container">
<div
class="hero-list"
v-for="(hero, i) in nftList"
@click="showTip(hero)"
:key="i"
>
<HeroItem :hero="hero" :isType="isType"></HeroItem>
</div>
<HeroModal
v-if="isShow"
ref="dialog"
:isType="isType"
@closeTip="closeTip"
@showTip="showTip"
:isPiecePut="isPiecePut"
@handBuyShow="handBuyShow"
@handPutShow="handPutShow"
@handPutHide="handPutHide"
></HeroModal>
<TheSellDialog
:type="type"
:isPiecePut="isPiecePut"
ref="selldialog"
@handPutShow="handPutShow"
@handPutHide="handPutHide"
></TheSellDialog>
<!-- v-if="currencyTypeList"
:currencyTypeList="currencyTypeList" -->
<TheBuyDialog
:type="type"
:isBuy="isBuy"
ref="buydialog"
@handBuyShow="handBuyShow"
@handBuyHide="handBuyHide"
></TheBuyDialog>
</div>
</template>
<script>
import HeroModal from "./HeroModal.vue";
import TheSellDialog from "./TheSellDialog.vue";
import TheBuyDialog from "./TheBuyDialog.vue";
import HeroItem from "./HeroItem";
export default {
props: ["nftList", "isType"],
components: {
HeroModal,
TheBuyDialog,
TheSellDialog,
HeroItem,
},
data() {
return {
isShow: false,
type: "hero",
isBuy: false,
isPiecePut: false,
};
},
filters: {
fillZero(str) {
var realNum;
if (str < 10) {
realNum = "0" + str;
} else {
realNum = str;
}
return realNum;
},
},
methods: {
showTip(data) {
this.isShow = true;
this.$nextTick(() => {
//这里的dialog与上面dialog-component组件里面的ref属性值是一致的
//init调用的是dialog-component组件里面的init方法
//data是传递给弹窗页面的值
this.$refs.dialog.init(data);
});
},
handleClick(data) {
this.Visiable = true;
// this.$nextTick(() => {
// //这里的dialog与上面dialog-component组件里面的ref属性值是一致的
// //init调用的是dialog-component组件里面的init方法
// //data是传递给弹窗页面的值
// this.$refs.dialog.init(data);
// });
},
closeTip() {
this.isShow = false;
},
handPutShow(data) {
this.isPiecePut = true;
this.$nextTick(() => {
//这里的dialog与上面dialog-component组件里面的ref属性值是一致的
//init调用的是dialog-component组件里面的init方法
//data是传递给弹窗页面的值
this.$refs.selldialog.init(data);
});
},
handPutHide() {
this.isPiecePut = false;
},
handBuyShow(data) {
this.isBuy = true;
this.$nextTick(() => {
//这里的dialog与上面dialog-component组件里面的ref属性值是一致的
//init调用的是dialog-component组件里面的init方法
//data是传递给弹窗页面的值
this.$refs.buydialog.init(data);
});
},
handBuyHide() {
this.isBuy = false;
},
},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
display: flex;
margin-top: 34px;
margin-left: 27px;
margin-right: 27px;
flex-direction: row;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
.hero-list {
width: 480px;
height: 708px;
margin-right: 46px;
margin-bottom: 31px;
background: url("../../../assets/mobile/market/hero/hero-bg.png") no-repeat;
background-size: cover;
}
.type-img {
margin-top: 18px;
margin-left: 18px;
position: relative;
img {
width: 272px;
}
.hero-img {
position: absolute;
left: 0;
top: 0;
img {
width: 272px;
}
}
.gen {
position: absolute;
left: 6px;
top: 10px;
width: 53px;
height: 34px;
img {
width: 100%;
}
}
}
.info {
display: flex;
// justify-content: center;
align-items: center;
// margin-top: 15px;
.info-level {
font-size: 21px;
color: #000;
margin-left: 25px;
}
.level {
font-size: 26px;
}
.level-img {
display: flex;
}
.level-levelList {
display: flex;
}
.item-Image {
margin-left: 3px;
display: flex;
.hero-level-img {
width: 36px;
img {
width: 100%;
}
}
}
}
.sale {
display: flex;
justify-content: space-between;
// margin-top: 13px;
padding-left: 22px;
padding-right: 22px;
.t-icon {
width: 41px;
img {
width: 100%;
}
}
.buy {
width: 99px;
height: 46px;
img {
width: 99px;
height: 46px;
}
}
.price {
font-size: 32px;
color: #454545;
}
}
}
</style>