2023-11-27 17:18:03 +08:00
|
|
|
<script setup>
|
2023-11-29 18:49:31 +08:00
|
|
|
import { onMounted, reactive, ref } from "vue"
|
|
|
|
import border from "@/components/border.vue"
|
|
|
|
import mitt from "@/utils/mitt"
|
|
|
|
|
|
|
|
const initData = (aaa) => {
|
|
|
|
for (let i = 0; i < 20; i++) {
|
|
|
|
if (i % 2 == 0) {
|
|
|
|
aaa.data.push(
|
|
|
|
[
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(91, 219, 246, 0.20)'>排序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(91, 219, 246, 0.20)' >排sd序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(91, 219, 246, 0.20)'>排序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(91, 219, 246, 0.20)'>排序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(91, 219, 246, 0.20)'>排序</div>`,
|
|
|
|
]
|
|
|
|
)
|
|
|
|
} else {
|
|
|
|
aaa.data.push(
|
|
|
|
[
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(0, 168, 255, 0.16)'>排序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(0, 168, 255, 0.16)' >排sd序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(0, 168, 255, 0.16)'>排序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(0, 168, 255, 0.16)'>排序</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: rgba(0, 168, 255, 0.16)'>排序</div>`,
|
|
|
|
]
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-11-27 17:18:03 +08:00
|
|
|
const list = reactive({
|
2023-11-29 18:49:31 +08:00
|
|
|
header: [
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: linear-gradient(rgba(0, 168, 255, 0.76), rgba(0, 84, 128, 0.73));'>ID</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: linear-gradient(rgba(0, 168, 255, 0.76), rgba(0, 84, 128, 0.73));'>收货人</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: linear-gradient(rgba(0, 168, 255, 0.76), rgba(0, 84, 128, 0.73));'>收货人电话</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: linear-gradient(rgba(0, 168, 255, 0.76), rgba(0, 84, 128, 0.73));'>商品名称</div>`,
|
|
|
|
`<div style='width: 100%;text-align: center; height: 100%; color: aliceblue; background: linear-gradient(rgba(0, 168, 255, 0.76), rgba(0, 84, 128, 0.73));'>收货人地址</div>`,
|
2023-11-27 17:18:03 +08:00
|
|
|
],
|
2023-11-29 18:49:31 +08:00
|
|
|
data: [],
|
2023-11-27 17:18:03 +08:00
|
|
|
// index: true,
|
2023-11-29 18:49:31 +08:00
|
|
|
// headerBGC: 'rgba(0, 168, 255, 0.76)',
|
|
|
|
// oddRowBGC: 'rgba(91, 219, 246, 0.20)',
|
|
|
|
// evenRowBGC: 'rgba(0, 168, 255, 0.16)',
|
|
|
|
oddRowBGC: '',
|
|
|
|
evenRowBGC: "",
|
2023-11-27 17:18:03 +08:00
|
|
|
// columnWidth: [50],
|
|
|
|
align: ['center'],
|
|
|
|
rowNum: 7
|
|
|
|
})
|
|
|
|
const cell1 = reactive({
|
|
|
|
value: 66,
|
|
|
|
label: '66.66%',
|
|
|
|
count: 66542,
|
|
|
|
borderWidth: 1,
|
|
|
|
borderGap: 1,
|
|
|
|
borderRadius: 3,
|
|
|
|
colors: ['#66FFFF', '#FEDB65']
|
|
|
|
})
|
2023-11-28 18:35:14 +08:00
|
|
|
|
|
|
|
|
2023-11-29 18:49:31 +08:00
|
|
|
|
|
|
|
const openList = () => {
|
|
|
|
mitt.emit('showBusinesses')
|
2023-11-28 18:35:14 +08:00
|
|
|
}
|
|
|
|
|
2023-11-29 18:49:31 +08:00
|
|
|
onMounted(() => {
|
|
|
|
initData(list);
|
|
|
|
})
|
|
|
|
|
2023-11-27 17:18:03 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<border>
|
2023-11-29 18:49:31 +08:00
|
|
|
<div class="box">
|
2023-11-27 17:18:03 +08:00
|
|
|
<div class="title">今日订单数</div>
|
|
|
|
<div class="my-day-num">
|
|
|
|
<div class="my-num-item">0</div>
|
|
|
|
<div class="my-num-item">0</div>
|
|
|
|
<div class="my-num-item">5</div>
|
|
|
|
<div class="my-num-item">2</div>
|
|
|
|
<div class="my-num-item">4</div>
|
|
|
|
<div class="my-num-item">1</div>
|
|
|
|
</div>
|
|
|
|
<div class="order-list">
|
2023-11-28 18:35:14 +08:00
|
|
|
<div class="top">
|
|
|
|
<div class="t-right">
|
|
|
|
<img src="/src/assets/img/item.png" />
|
|
|
|
<div>今日订单</div>
|
2023-11-27 17:18:03 +08:00
|
|
|
</div>
|
2023-11-29 18:49:31 +08:00
|
|
|
<div class="flex" @click="openList">
|
2023-11-27 17:18:03 +08:00
|
|
|
<div>查看更多</div>
|
|
|
|
<div>{{ "〉" }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-11-30 11:24:07 +08:00
|
|
|
<dv-scroll-board :config="list" style="width: 100%; height: 90%" />
|
2023-11-27 17:18:03 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="cylinder">
|
|
|
|
<div class="cy">
|
|
|
|
<div class="text">
|
|
|
|
<div class="top">
|
|
|
|
已完成<span class="sapn">{{ cell1.label }}</span>
|
|
|
|
</div>
|
|
|
|
<div class="num">{{ cell1.count }}</div>
|
|
|
|
</div>
|
|
|
|
<dv-percent-pond :config="cell1" class="cell" />
|
|
|
|
<div class="type">待取货订单数</div>
|
|
|
|
</div>
|
|
|
|
<div class="cy">
|
|
|
|
<div class="text">
|
|
|
|
<div>
|
|
|
|
已完成<span class="sapn">{{ cell1.label }}</span>
|
|
|
|
</div>
|
|
|
|
<div class="num">{{ cell1.count }}</div>
|
|
|
|
</div>
|
|
|
|
<dv-percent-pond :config="cell1" class="cell" />
|
|
|
|
<div class="type">未配送订单数</div>
|
|
|
|
</div>
|
|
|
|
<div class="cy">
|
|
|
|
<div class="text">
|
|
|
|
<div>
|
|
|
|
已完成<span class="sapn">{{ cell1.label }}</span>
|
|
|
|
</div>
|
|
|
|
<div class="num">{{ cell1.count }}</div>
|
|
|
|
</div>
|
|
|
|
<dv-percent-pond :config="cell1" class="cell" />
|
|
|
|
<div class="type">已完成订单数</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</border>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
.box {
|
2023-11-30 11:24:07 +08:00
|
|
|
height: 100%;
|
2023-11-27 17:18:03 +08:00
|
|
|
width: 100%;
|
2023-11-30 11:24:07 +08:00
|
|
|
box-sizing: border-box;
|
2023-11-27 17:18:03 +08:00
|
|
|
padding: 20px 20px;
|
|
|
|
font-size: 0.8rem;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
|
|
.title {
|
|
|
|
width: 100%;
|
|
|
|
background-image: url(../../../assets/img/title.png);
|
|
|
|
background-size: 100% 100%;
|
|
|
|
height: 40px;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
font-family: "ifonts";
|
|
|
|
font-size: 1.2rem;
|
|
|
|
}
|
|
|
|
.my-day-num {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
width: 100%;
|
2023-11-28 18:35:14 +08:00
|
|
|
height: 10%;
|
2023-11-27 17:18:03 +08:00
|
|
|
margin-top: 10px;
|
|
|
|
.my-num-item {
|
|
|
|
margin-right: 10px;
|
|
|
|
width: 4rem;
|
|
|
|
height: 4rem;
|
|
|
|
background-image: url(../../../assets/img/day_num.png);
|
|
|
|
background-size: 100% 100%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
font-size: 2.2rem;
|
|
|
|
font-family: "ifonts";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.order-list {
|
|
|
|
height: 55%;
|
|
|
|
width: 100%;
|
|
|
|
margin-top: 10px;
|
2023-11-28 18:35:14 +08:00
|
|
|
.top {
|
|
|
|
height: 10%;
|
|
|
|
width: 100%;
|
2023-11-27 17:18:03 +08:00
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
2023-11-28 18:35:14 +08:00
|
|
|
.t-right {
|
2023-11-27 17:18:03 +08:00
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
2023-11-28 18:35:14 +08:00
|
|
|
img {
|
|
|
|
width: 1rem;
|
|
|
|
height: 1rem;
|
|
|
|
margin-right: 0.5rem;
|
2023-11-27 17:18:03 +08:00
|
|
|
}
|
2023-11-28 18:35:14 +08:00
|
|
|
}
|
|
|
|
.flex {
|
|
|
|
display: flex;
|
|
|
|
cursor: pointer;
|
|
|
|
div {
|
|
|
|
margin-left: 0.5rem;
|
2023-11-27 17:18:03 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-29 18:49:31 +08:00
|
|
|
|
|
|
|
:deep(.ceil) {
|
|
|
|
padding: 0 !important;
|
|
|
|
margin-bottom: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
:deep(.header-item) {
|
|
|
|
padding: 0 !important;
|
2023-11-27 17:18:03 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
.cylinder {
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
height: 20%;
|
|
|
|
.cy {
|
|
|
|
width: 30%;
|
|
|
|
height: 100%;
|
|
|
|
background-image: url(../../../assets/img/cylinder.png);
|
|
|
|
background-size: 100% 100%;
|
|
|
|
position: relative;
|
|
|
|
.text {
|
|
|
|
height: 70%;
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
.top {
|
|
|
|
margin-top: 1rem;
|
|
|
|
}
|
|
|
|
.num {
|
|
|
|
font-size: 1.5rem;
|
|
|
|
font-family: "ifonts";
|
|
|
|
}
|
|
|
|
.sapn {
|
|
|
|
color: #fee165;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.type {
|
|
|
|
height: 30%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
font-size: 1rem;
|
|
|
|
}
|
|
|
|
.cell {
|
|
|
|
transform: rotate(-90deg);
|
|
|
|
width: 3rem;
|
|
|
|
height: 1rem;
|
|
|
|
position: absolute;
|
|
|
|
right: -0.5rem;
|
|
|
|
top: 2rem;
|
|
|
|
}
|
|
|
|
::v-deep .dv-percent-pond text {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|