90 lines
1.8 KiB
Vue
90 lines
1.8 KiB
Vue
|
|
<script setup>
|
|||
|
|
const props = defineProps({
|
|||
|
|
list: {
|
|||
|
|
type: Array,
|
|||
|
|
required: true,
|
|||
|
|
default: () => []
|
|||
|
|
},
|
|||
|
|
showReceive: {
|
|||
|
|
type: Boolean,
|
|||
|
|
default: true
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
const emits = defineEmits(["click", "claim"]);
|
|||
|
|
|
|||
|
|
const handleClockInPage = (item) => {
|
|||
|
|
emits("click", item);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const handleClaim = (item) => {
|
|||
|
|
emits("claim", item);
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<template>
|
|||
|
|
<div class="item-wrapper">
|
|||
|
|
<template v-for="(item, index) in list" :key="index">
|
|||
|
|
<div class="card" @click="handleClockInPage(item)">
|
|||
|
|
<div class="title">*************任务</div>
|
|||
|
|
<div class="row">
|
|||
|
|
<div class="col">方格编号:{{ item?.fgId || '04' }}</div>
|
|||
|
|
<div class="col right">任务日期:{{ item?.rwRq }}</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="btn" v-if="showReceive" @click.stop="handleClaim(item)">领取</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<style scoped lang="scss">
|
|||
|
|
.item-wrapper {
|
|||
|
|
padding: 3vw;
|
|||
|
|
|
|||
|
|
.card {
|
|||
|
|
background: #fff;
|
|||
|
|
border-radius: 3.73vw;
|
|||
|
|
padding: 4vw;
|
|||
|
|
margin-bottom: 3vw;
|
|||
|
|
box-shadow: 0 1.6vw 4vw rgba(0, 0, 0, 0.04);
|
|||
|
|
|
|||
|
|
.title {
|
|||
|
|
font-size: 4vw;
|
|||
|
|
font-weight: bold;
|
|||
|
|
color: #333;
|
|||
|
|
margin-bottom: 3vw;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.row {
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
margin-bottom: 4vw;
|
|||
|
|
font-size: 3.4vw;
|
|||
|
|
color: #999;
|
|||
|
|
|
|||
|
|
.col {
|
|||
|
|
&.right {
|
|||
|
|
text-align: right;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn {
|
|||
|
|
height: 11vw;
|
|||
|
|
line-height: 11vw;
|
|||
|
|
text-align: center;
|
|||
|
|
border-radius: 6vw;
|
|||
|
|
color: #ffffff;
|
|||
|
|
background: linear-gradient(90deg, #28A5FF 0%, #3E6EE8 100%);
|
|||
|
|
font-size: 4vw;
|
|||
|
|
box-shadow: 0 2vw 4vw rgba(62, 110, 232, 0.3);
|
|||
|
|
|
|||
|
|
&.disabled {
|
|||
|
|
background: #ccc;
|
|||
|
|
box-shadow: none;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|