refactor: 重构PC分享页面,优化布局展示,增加移动端二维码展示

master
Chopper711 2023-09-25 15:02:57 +08:00
parent 4ef2496221
commit f968f3d20d
2 changed files with 117 additions and 37 deletions

View File

@ -19,5 +19,9 @@ module.exports = {
aMapSwitch:false, //是否开启高德定位
enableCDN: true, //生产环境 是否启用cdn加载 vue等js
port: 10000, //端口
inputMaxLength:'140' //全局输入框默认最大输入长度字
inputMaxLength:'140', //全局输入框默认最大输入长度字
PC_DOMAIN: "https://pc-b2b2c.pickmall.cn", // PC端域名
WAP_DOMAIN: "https://m-b2b2c.pickmall.cn", // WAP端域名
};

View File

@ -226,7 +226,23 @@
>
</Alert>
</div>
<!-- 分销资格被清退 -->
<div v-if="status === 4">
<Alert type="error">
您的分销资格已被清退请联系管理员或进行申诉
<Button style="margin-left: 50px;" type="warning" @click="repaying"></Button>
</Alert>
</div>
<!-- 分销申诉审核 -->
<div v-if="status === 5">
<Alert type="success">
您提交的申诉正在审核
<template slot="desc"
>提交认证申请后工作人员将在三个工作日进行核对完成审核</template
>
</Alert>
</div>
<Modal v-model="withdrawApplyModal" width="530">
<p slot="header">
<Icon type="edit"></Icon>
@ -243,21 +259,39 @@
</Modal>
<Modal v-model="qrcodeShow" title="分销商品" width="800">
<Alert type="warning"> 下载二维码或者复制链接分享商品 </Alert>
<div style="width: 200px; height: 200px; border: 1px solid #eee">
<div class="qrcode">
<div style="width: 150px; height: 150px; border: 1px solid #eee">
<vue-qr
:text="qrcode"
:callback="qrcodeData"
:margin="0"
colorDark="#000"
colorLight="#fff"
:size="200"
:size="150"
></vue-qr>
<div class="qrcode-platform">PC端</div>
<Button class="download-btn" type="success" @click="downloadQrcode"
>下载二维码</Button
>
</div>
<div class="mt_10">
商品链接<Input style="width: 400px" v-model="qrcode"></Input>
<div style="width: 150px; height: 150px; border: 1px solid #eee">
<vue-qr
:text="qrcodeH5"
:callback="qrcodeDataH5"
:margin="0"
colorDark="#000"
colorLight="#fff"
:size="150"
></vue-qr>
<div class="qrcode-platform">移动应用端</div>
<Button class="download-btn" type="success" @click="downloadQrcodeH5"
>下载二维码</Button
>
</div>
</div>
<div class="mt_10" style="margin-top: 100px;">
商品链接<Input style="width: 600px" v-model="qrcode"></Input>
</div>
</Modal>
</div>
@ -280,6 +314,7 @@ export default {
components: { vueQr },
data() {
return {
config:require('@/config'),
status: 0, // 0 1 2 3
applyForm: {}, //
rules: {
@ -364,8 +399,10 @@ export default {
order: "desc",
},
qrcode: "", //
qrcodeH5:"",//H5
qrcodeShow: false, //
base64Img: "", // base64
base64ImgH5: "", // base64H5
goodsNameCurr: "", //
};
},
@ -406,6 +443,10 @@ export default {
// base64
this.base64Img = data64;
},
qrcodeDataH5(data64) {
// H5base64
this.base64ImgH5 = data64;
},
downloadQrcode() {
//
let a = document.createElement("a"); // a
@ -414,6 +455,14 @@ export default {
a.href = this.base64Img; // URLa.href
a.dispatchEvent(event); // a
},
downloadQrcodeH5(){
// H5
let a = document.createElement("a"); // a
let event = new MouseEvent("click"); //
a.download = this.goodsNameCurr || "photo";
a.href = this.base64ImgH5; // URLa.href
a.dispatchEvent(event); // a
},
tabPaneChange(tab) {
// tab
if (tab === "goodsChecked") {
@ -453,7 +502,8 @@ export default {
},
fenxiao(row) {
//
this.qrcode = `${location.origin}/goodsDetail?skuId=${row.skuId}&goodsId=${row.goodsId}&distributionId=${this.result.id}`;
this.qrcode = `${this.config.PC_DOMAIN}/goodsDetail?skuId=${row.skuId}&goodsId=${row.goodsId}&distributionId=${this.result.id}`;
this.qrcodeH5 = `${this.config.WAP_DOMAIN}/pages/product/goods?skuId=${row.skuId}&goodsId=${row.goodsId}&distributionId=${this.result.id}`;
this.goodsNameCurr = row.goodsName;
this.qrcodeShow = true;
},
@ -469,18 +519,31 @@ export default {
if (res.success) this.logData = res.result;
});
},
//
repaying(){
applyDistribution().then((res) => {
this.applyLoading = false;
if (res.success) {
this.$Message.success("申诉已提交,请等待管理员审核");
// this.status = 1;
}
});
},
distribution() {
//
distribution().then((res) => {
if (res.result) {
this.result = res.result;
let type = res.result.distributionStatus;
if (type === "PASS") {
this.status = 2;
this.getGoodsData();
} else if (type === "RETREAT" || type === "REFUSE") {
} else if ( type === "REFUSE") {
this.status = 0;
} else if (type === "RETREAT") {
this.status = 4;
}else if (type === "APPEAL") {
this.status = 5;
}else {
this.status = 1;
}
@ -523,9 +586,11 @@ export default {
}
}
.download-btn {
position: relative;
top: -200px;
left: 200px;
// position: relative;
// top: -200px;
// left: 200px;
margin-left: 25px;
margin-top: 5px
}
/deep/ .ivu-alert-message {
p {
@ -540,4 +605,15 @@ export default {
margin: 6px 0;
}
}
.qrcode{
display: flex;
justify-content: space-evenly;
padding-top: 10px
}
.qrcode-platform{
text-align: center;
font-size: 14px;
margin: 5px;
}
</style>