You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

276 lines
8.4 KiB

<script setup>
const props = defineProps(['channelsData', 'opctions', 'hintA', 'ifExc'])
const emit = defineEmits(['footerCliBtn'])
const upFile = ref()
</script>
<template>
<div class="batch-item-ui">
<div class="header">
{{ opctions.header }}
</div>
<div class="main-box">
<div class="hint">
<img src="/images/i.png" alt="">
{{ opctions.hint }}
</div>
<ul class="channels" v-if="props.channelsData">
<li class="item" v-for="item, index in props.channelsData" :key="index" @click="item.click">
<div class="img-box" :style="item.tit1?{}:{width:'100%',borderRadius:'unset'}">
<img :src="item.imgUrl" alt="" style="width:100%;height: 100%;" :style="item.tit1?{}:{width:'auto'}">
</div>
<div v-if="item.tit1" class="con-tit">
<div class="tit1">{{ item.tit1 }}</div>
<!-- <div class="tit2">{{ item.tit2 }}</div> -->
</div>
</li>
</ul>
<div v-if="opctions.ifExc" class="excel-box">
<div class="top">
<span class="file-lable">*EXCEL订单附件上传:</span>
<div class="file-center">
<el-upload class="file-cli" :multiple="false" :on-success="(response, file, fileList) => {
const last = fileList[fileList.length - 1]
fileList.length = 0
fileList.push(last)
upFile = file
}">
<div class="text">{{ upFile ? upFile.name : '未选择文件' }}</div>
<el-button class="btn file-btn" type="danger">选择文件</el-button>
</el-upload>
</div>
<!-- <el-button class="btn down-load" type="danger" plain>下载批量导入模板</el-button> -->
<div class="div_btn down-load">下载批量导入模板</div>
</div>
<div class="bottom">
<a v-if="hintA" :href="hintA.href">{{ hintA.text }}</a>
<!-- <img src="/images/i.png" alt=""><span>为了保证订单识别准确性,请按照模板样式和文件格式为CSV再上传</span> -->
</div>
</div>
</div>
<div class="footer">
<div class="add-order-btn" @click="emit('footerCliBtn')">
{{ opctions.footer }}
</div>
</div>
</div>
</template>
<style scoped lang="scss">
@import url('//at.alicdn.com/t/c/font_4514007_bcjmwew461c.css');
::v-deep .el-upload-list {
display: none;
}
.batch-item-ui {
width: 100%;
border: .0052rem dashed #aaa;
&,
* {
box-sizing: border-box;
}
.header {
background-color: #f3f4f8;
height: 0.2083rem;
color: #252b3a;
font-size: 0.0833rem;
line-height: 0.2083rem;
padding: 0 0.2604rem;
display: flex;
align-items: center;
}
.header::before {
content: ' ';
display: block;
background-color: #ff4e8d;
width: 0.0156rem;
height: 0.0833rem;
margin-right: 0.026rem;
}
.main-box {
margin: .1458rem .2083rem .026rem;
.hint {
font-size: .0677rem;
font-weight: 400;
background-color: #fceced;
color: #575d6c;
line-height: 1.7;
margin-bottom: .1563rem;
display: flex;
align-items: center;
}
.channels {
list-style: none;
display: flex;
flex-wrap: wrap;
.item {
--n: 4;
--space: calc(100% - var(--n)*1.3646rem);
--h: calc(var(--space)/(var(--n) - 1));
padding: 0;
float: left;
width: 1.3646rem;
height: .4583rem;
background: #fff;
border: .0052rem solid #e1e1e3;
opacity: 1;
margin-bottom: .125rem;
margin-left: var(--h);
display: flex;
.img-box {
width: .3125rem;
height: .3125rem;
overflow: hidden;
margin: auto .1146rem .0729rem;
border-radius: 50%;
box-shadow: 0rem 0rem .5208rem #ccc;
background-color: #fff;
}
.con-tit {
width: .8125rem;
display: flex;
flex-direction: column;
justify-content: center;
word-break: break-all;
.tit1 {
font-size: .0729rem;
font-weight: 700;
color: #252b3a;
}
.tit2 {
font-size: .0625rem;
font-weight: 400;
color: #575d6c;
margin-top: .026rem;
}
}
}
.item:nth-of-type(4n-3) {
margin-left: 0;
}
.item:hover {
border: .0052rem solid #d90e19;
}
}
.excel-box {
width: 100%;
margin-bottom: .0729rem;
.top {
--height: .1979rem;
display: flex;
justify-content: center;
height: var(--height);
.file-lable {
font-size: .0729rem;
font-weight: 400;
color: #252b3a;
line-height: var(--height);
}
.file-center {
.file-cli {
.text {
width: 1.5625rem;
border: .0052rem solid #e1e1e3;
padding-left: .0521rem;
height: var(--height);
line-height: var(--height);
color: #8a8e99;
}
.file-btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}
.btn {
height: var(--height);
}
.down-load {
margin-left: .2604rem;
}
.div_btn {
padding: 0 .1458rem;
text-align: center;
height: var(--height);
line-height: var(--height);
color: #fff;
background: linear-gradient(90deg, #ff99bd 0%, #ffddbe 100%);
border-radius: .0521rem;
font-size: .0833rem;
cursor: pointer;
}
}
.bottom {
display: flex;
justify-content: center;
align-items: center;
margin-top: .0521rem;
span {
font-size: .0677rem;
color: #8a8e99;
}
a {
display: inline-block;
color: #d90e19;
text-decoration: underline;
}
}
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 0.3438rem;
border: .0052rem solid transparent;
background: linear-gradient(white, white) padding-box,
repeating-linear-gradient(-45deg, #ccc 0, #ccc 0.5em, white 0, white 0.75em);
.add-order-btn {
padding: 0 .1042rem;
border: .0052rem solid #ff4e8d;
color: #ff4e8d;
text-align: center;
line-height: 0.2083rem;
font-size: 0.0729rem;
border-radius: 5%;
cursor: pointer;
transition: all .2s;
&:hover {
background-color: red;
color: #fff
}
}
}
}
</style>