Merge branch 'pro-Carl' of https://gitee.com/carl_Ming_1/smart-admin into sit-Carl-V3

 Conflicts:
	smart-admin-service/smart-admin-api/src/main/resources/static/30_1.jpg
This commit is contained in:
Carl 2022-02-15 15:06:59 +08:00
commit 5142d648bb
43 changed files with 1399 additions and 410 deletions

View File

@ -52,6 +52,9 @@
display: none;
}
}
input {
padding-left: 16px;
}
}

View File

@ -123,8 +123,8 @@ ul li ol li em strong i {
border: 2px solid #d7d7d7;
border-radius: 50%;
img {
width: 36px;
height: 36px;
width: 2rem;
height: 2rem;
display: block;
margin: 0 auto;
}
@ -342,8 +342,8 @@ ul li ol li em strong i {
border: 2px solid #d7d7d7;
border-radius: 50%;
img {
width: 48px;
height: 48px;
width: 2rem;
height: 2rem;
display: block;
margin: 0 auto;
}
@ -353,7 +353,7 @@ ul li ol li em strong i {
display: flex;
justify-content: space-between;
align-items: center;
padding-bottom:32px;
padding-bottom:2rem;
border-bottom: 1px solid #D7D7D7;
em{
font-style: normal;

View File

@ -104,7 +104,7 @@ margin:0 auto;
}
}
img{
width: 43px;
width: 28px;
}
.rc-foot{
display: flex;
@ -195,7 +195,7 @@ display: none;
}
}
img{
width: 43px;
width: 28px;
}
.rc-foot{
display: flex;

View File

@ -156,6 +156,7 @@
justify-content: center;
height: 5rem;
bottom: 0;
left:0;
background-color: white;
box-shadow: 0px -3px 6px rgba(0, 0, 0, 0.1);
z-index:2;

View File

@ -0,0 +1,69 @@
.ts-resentation {
.ts-banner-swiper-container {
img {
width: 100%;
height: auto;
object-fit: contain;
}
}
.ts-product-list{
position:relative;
li{
border:none;
}
h2{
word-break: break-all;
}
.rc-column {
box-sizing: border-box;
span {
height:auto;
&:first-child{
height:5.625rem;
}
}
}
.desc {
width:13rem;
height:auto;
margin-left:auto;
margin-right:auto;
word-break: keep-all;
}
.swiper-slide {
padding-left:1rem;
padding-right:1rem;
}
}
/deep/.swiper-button-prev, /deep/.swiper-button-next {
color:#000;
&:after{
font-size:1rem;
}
}
.ts-carousel-indicator{
bottom:0;
/deep/.swiper-pagination-bullet{
margin-right:.5rem;
}
/deep/.swiper-pagination-bullet-active{
background:#E2001A;
}
&.center{
width:100%;
text-align: center;
}
}
}
@media screen and (max-width:768px) {
.ts-resentation {
.ts-product-list{
.desc {
}
h2{
font-size:1.375rem;
}
}
}
}

View File

@ -56,22 +56,25 @@ export default {
methods:{
...mapMutations(["checkIsLogin"]),
lianxi(item,index){
this.checkIsLogin();
let user = this.$store.state.userInfo;
let curMemberId = (user?user.data.id:'');
if(item.title=='在线客服'){
this.customerServerStop = true;
/* Stop until 2022-2-10
//this.customerServerStop = true;
/* Stop until 2022-2-10 */
var option = {
customer: {id: '', name: '', email: '', mobile: '', memberId: '999999'}
customer: {id: '', name: '', email: '', mobile: '', memberId: curMemberId}
}
dis_livchat(option);
_hmt.push([
"_trackCustomEvent",
"cs_consult",
"live_chat",
{
"page_name_":this.$route.path,
"shop_right_btn": 1,
"type":"cs",
"member_id": curMemberId,
}
])
*/
}
if(item.title=='购物车'){
if(this.loginornot){
@ -85,22 +88,20 @@ export default {
}
}
if(item.title=='营养专家'){
this.customerServerStop = true;
/* Stop until 2022-2-10
//this.customerServerStop = true;
/* Stop until 2022-2-10*/
var option = {
customer: {id: '', name: '', email: '', mobile: '', memberId: '999999'}
customer: {id: '', name: '', email: '', mobile: '', memberId: curMemberId}
}
dis_livchat(option);
console.log(this.$route.path);
_hmt.push([
"_trackCustomEvent",
"sol_consult",
"live_chat",
{
"page_name_":this.$route.path,
"shop_right_btn": 1,
"type":"sol",
"member_id": curMemberId,
}
])
*/
}
},
toTop() {

View File

@ -211,7 +211,7 @@
<div class="footer-block9 rc-layout-container rc-one-column rc-text-colour--brand3">
<div class="rc-column rc-text--center rc-padding-top--none">
<a target='_blank' href='https://beian.miit.gov.cn' style="display: inline-block;">
<a target='_blank' href='http://www.beian.gov.cn/' style="display: inline-block;">
<img src='https://royalcanin.com.cn/profiles/custom/royal_canin_profile/themes/royal_canin/images/bei-symblo.png' style="float:left">
<p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">
沪公网安备 31012002005532

View File

@ -109,32 +109,242 @@ let devData={
],
},
],
amature:[
{
title: "中型幼犬离乳期全价奶糕",
productimage: "/images/dogfoot.png",
detail: "中心犬离乳期专属 高易再水合颗粒 帮助增强保护健康成长",
productCode:'17220400',
price: "¥263",
productList: [
{
productCode: "17220400,17221000,1722040002,17220400F03",
},
],
},
{
title: "皇家离乳期幼猫全价奶糕",
productimage: "/images/catfoot.png",
detail: "幼猫成长专属 支持幼猫自身保护力 为快速生长提供足够能量",
price: "¥189",
productCode:'20010200',
productList: [
{
productCode: "20010200,20011000,20010040",
},
],
},
]
doggie:
{
'dog':[
{
title: "皇家小型幼犬离乳期全价奶糕",
productimage: "/images/doggie/dog-1.png",
detail: "小型幼犬离乳期专属 有助激发自身免疫力 顺利度过离乳期",
ecPrice: "¥80",
productCode:'16220100',
productList: [
{
productCode: "16220100,16220300,16221000,1622010002,1622030002,16220100F03,16220300F03",
},
],
},
{
title: "皇家中型幼犬离乳期全价奶糕",
productimage: "/images/doggie/dog-2.png",
detail: "中型犬离乳期专属 高易再水合颗粒 帮助增强保护健康成长",
productCode:'17220400',
price: "¥263",
productList: [
{
productCode: "17220400,17221000,1722040002,17220400F03",
},
],
},
{
title: "皇家大型幼犬离乳期全价奶糕",
productimage: "/images/doggie/dog-3.png",
detail: "大型犬离乳期专属 有助激发自身免疫力 顺利度过离乳期",
productCode:'18220400',
price: "¥254",
productList: [
{
productCode: "18220400,18221500,1822040002,18220400F03",
},
],
},
],
'cat':[
{
title: "皇家离乳期幼猫全价奶糕",
productimage: "/images/doggie/cat-1.png",
detail: "幼猫成长专属 支持幼猫自身保护力 为快速生长提供足够能量",
price: "¥189",
productCode:'20010200',
productList: [
{
productCode: "20010200,20011000,20010040",
},
],
},
{
title: "皇家幼猫全价粮",
productimage: "/images/doggie/cat-2.png",
detail: "帮助支持自身保护力 高易消化呵护娇嫩肠胃 定制配比助力健康发育",
ecPrice: "¥146",
productCode:'2003004003',
productList: [
{
productCode: "2003004003",
},
],
},
{
title: "皇家绝育呵护幼猫全价粮",
productimage: "/images/doggie/cat-3.png",
detail: "有助维护泌尿系统健康 量身打造精准营养 量身定制专属颗粒",
ecPrice: "¥114",
productCode:'2036004003',
productList: [
{
productCode: "2036004003,20360200",
},
],
}
]
},
breed:{
dog:[
{
title: "皇家贵宾犬成犬全价粮",
productimage: "/images/breed/dog-1.png",
detail: "帮助支持自身保护力 助消化、宜肠胃 帮助支持被毛浓密生长",
ecPrice: "¥200",
productCode:'14560300',
productList: [
{
productCode: "14560300,14560150,1456030002,14560750",
},
],
},
{
title: "皇家拉布拉多成犬全价粮",
productimage: "/images/breed/dog-2.png",
detail: "帮助维持理想体重 呵护关节健康 帮助保持皮肤和被毛健康",
ecPrice: "¥542",
productCode:'14731200',
productList: [
{
productCode: "14731200,14730300",
},
],
},
{
title: "皇家比熊成犬全价粮",
productimage: "/images/breed/dog-3.png",
detail: "帮助减少尿结石形成 滋养被毛丰盈亮泽 帮助减少脂肪堆积",
ecPrice: "¥270",
productCode:'14610300F07',
productList: [
{
productCode: "14610300F07",
},
],
}
],
cat:[
{
title: "皇家英国短毛猫成猫全价粮",
productimage: "/images/breed/cat-1.png",
detail: "帮助减少脂肪堆积维持肌肉力量 帮助呵护关节健康 有助心肌收缩维持心脏健康",
ecPrice: "¥721",
productCode:'23040200',
productList: [
{
productCode: "23040200,2304004003,2304020002,23040450",
},
],
},
{
title: "皇家布偶猫成猫全价粮",
productimage: "/images/breed/cat-2.png",
detail: "帮助皮肤健康被毛亮泽 帮助呵护关节健康 有助心肌收缩维持心脏健康",
ecPrice: "¥370",
productCode:'23570200',
productList: [
{
productCode: "23570200,2357020002,23570450",
},
],
},
{
title: "皇家缅因成猫全价粮",
productimage: "/images/breed/cat-3.png",
detail: "帮助支持骨络与关节健康 帮助保持皮肤被毛健康 帮助支持心脏健康",
ecPrice: "¥184",
productCode:'23050200',
productList: [
{
productCode: "23050200,2305020002",
},
],
}
]
},
wet:{
dog:[
{
title: "皇家离乳期幼犬慕斯奶糕罐头",
productimage: "/images/wet/dog-1.png",
detail: "质地细腻绵密 适合离乳期幼犬舔食 亲和肠胃易吸收",
ecPrice: "¥78",
productCode:'81220020F06',
productList: [
{
productCode: "81220020F06,81220020F03,81220020F12",
},
],
},
{
title: "皇家小型犬成犬全价湿粮",
productimage: "/images/wet/dog-2.png",
detail: "帮助支持消化系统健康 帮助保持皮肤和被毛健康 帮助支持TA对能量的需求",
ecPrice: "¥136",
productCode:'81110008012',
productList: [
{
productCode: "81110008012,8111000807,81110008024",
},
],
},
{
title: "皇家中型犬成犬全价湿粮",
productimage: "/images/wet/dog-3.png",
detail: "帮助支持消化系统健康 帮助保持皮肤和被毛健康 帮助支持自身保护力",
ecPrice: "¥271",
productCode:'8113001012',
productList: [
{
productCode: "8113001012,8113001007,8113001024",
},
],
}
],
cat:[
{
title: "皇家离乳期幼猫慕斯奶糕罐头",
productimage: "/images/wet/cat-1.png",
detail: "质地细腻绵密 适合离乳期幼猫舔食 亲和肠胃易吸收",
ecPrice: "¥165",
productCode:'80210020F06',
productList: [
{
productCode: "80210020F06,80210020F03,80210020F12",
},
],
},
{
title: "皇家幼猫全价猫湿粮混合口味",
productimage: "/images/wet/cat-2.png",
detail: "三种质地多重享受 满足猫咪挑嘴天性 健肠胃、助消化",
ecPrice: "¥93",
productCode:'8023450008F07',
productList: [
{
productCode: "8023450008F07,8023450008F12,8023450008F24",
},
],
},
{
title: "皇家成年期去毛球全价猫湿粮",
productimage: "/images/wet/cat-3.png",
detail: "排除毛球减少形成 健康倍护美味加分 满足不同年龄阶段猫咪的营养需求",
ecPrice: "¥94",
productCode:'80310008F07',
productList: [
{
productCode: "80310008F07,80310008F12",
},
],
},
]
}
};
//Production data
@ -249,32 +459,241 @@ let prdData={
],
},
],
amature:[
{
title: "中型幼犬离乳期全价奶糕",
productimage: "/images/dogfoot.png",
detail: "中心犬离乳期专属 高易再水合颗粒 帮助增强保护健康成长",
ecPrice: "¥263",
productCode:'17220400',
productList: [
{
productCode: "17220400,17220100,17221000,1722040002",
},
],
},
{
title: "皇家离乳期幼猫全价奶糕",
productimage: "/images/catfoot.png",
detail: "幼猫成长专属 支持幼猫自身保护力 为快速生长提供足够能量",
ecPrice: "¥189",
productCode:'20010200',
productList: [
{
productCode: "20010200,2001020002,20010200F03,2001004003",
},
],
},
]
doggie:
{
'dog':[
{
title: "皇家小型幼犬离乳期全价奶糕",
productimage: "/images/doggie/dog-1.png",
detail: "小型幼犬离乳期专属 有助激发自身免疫力 顺利度过离乳期",
ecPrice: "¥80",
productCode:'16220100',
productList: [
{
productCode: "16220100,16220300,16221000,1622010002,1622030002,16220100F03,16220300F03",
},
],
},
{
title: "皇家中型幼犬离乳期全价奶糕",
productimage: "/images/doggie/dog-2.png",
detail: "中型幼犬离乳期专属 高易再水合颗粒 帮助增强保护健康成长",
ecPrice: "¥263",
productCode:'17220400',
productList: [
{
productCode: "17220400,17220100,17221000,1722040002",
},
],
},
{
title: "皇家大型幼犬离乳期全价奶糕",
productimage: "/images/doggie/dog-3.png",
detail: "大型犬离乳期专属 有助激发自身免疫力 顺利度过离乳期",
productCode:'18220400',
price: "¥254",
productList: [
{
productCode: "18220400,18221500,1822040002,18220400F03",
},
],
}
],
'cat':[
{
title: "皇家离乳期幼猫全价奶糕",
productimage: "/images/doggie/cat-1.png",
detail: "幼猫成长专属 支持幼猫自身保护力 为快速生长提供足够能量",
ecPrice: "¥189",
productCode:'20010200',
productList: [
{
productCode: "20010200,2001020002,20010200F03,2001004003",
},
],
},
{
title: "皇家幼猫全价粮",
productimage: "/images/doggie/cat-2.png",
detail: "帮助支持自身保护力 高易消化呵护娇嫩肠胃 定制配比助力健康发育",
ecPrice: "¥146",
productCode:'2003004003',
productList: [
{
productCode: "2003004003",
},
],
},
{
title: "皇家绝育呵护幼猫全价粮",
productimage: "/images/doggie/cat-3.png",
detail: "有助维护泌尿系统健康 量身打造精准营养 量身定制专属颗粒",
ecPrice: "¥114",
productCode:'2036004003',
productList: [
{
productCode: "2036004003,20360200",
},
],
},
]
},
breed:{
dog:[
{
title: "皇家贵宾犬成犬全价粮",
productimage: "/images/breed/dog-1.png",
detail: "帮助支持自身保护力 助消化、宜肠胃 帮助支持被毛浓密生长",
ecPrice: "¥200",
productCode:'14560300',
productList: [
{
productCode: "14560300,14560150,1456030002,14560750",
},
],
},
{
title: "皇家拉布拉多成犬全价粮",
productimage: "/images/breed/dog-2.png",
detail: "帮助维持理想体重 呵护关节健康 帮助保持皮肤和被毛健康",
ecPrice: "¥542",
productCode:'14731200',
productList: [
{
productCode: "14731200,14730300",
},
],
},
{
title: "皇家比熊成犬全价粮",
productimage: "/images/breed/dog-3.png",
detail: "帮助减少尿结石形成 滋养被毛丰盈亮泽 帮助减少脂肪堆积",
ecPrice: "¥270",
productCode:'14610300F07',
productList: [
{
productCode: "14610300F07",
},
],
}
],
cat:[
{
title: "皇家英国短毛猫成猫全价粮",
productimage: "/images/breed/cat-1.png",
detail: "帮助减少脂肪堆积维持肌肉力量 帮助呵护关节健康 有助心肌收缩维持心脏健康",
ecPrice: "¥721",
productCode:'23040200',
productList: [
{
productCode: "23040200,2304004003,2304020002,23040450",
},
],
},
{
title: "皇家布偶猫成猫全价粮",
productimage: "/images/breed/cat-2.png",
detail: "帮助皮肤健康被毛亮泽 帮助呵护关节健康 有助心肌收缩维持心脏健康",
ecPrice: "¥370",
productCode:'23570200',
productList: [
{
productCode: "23570200,2357020002,23570450",
},
],
},
{
title: "皇家缅因成猫全价粮",
productimage: "/images/breed/cat-3.png",
detail: "帮助支持骨络与关节健康 帮助保持皮肤被毛健康 帮助支持心脏健康",
ecPrice: "¥184",
productCode:'23050200',
productList: [
{
productCode: "23050200,2305020002",
},
],
}
]
},
wet:{
dog:[
{
title: "皇家离乳期幼犬慕斯奶糕罐头",
productimage: "/images/wet/dog-1.png",
detail: "质地细腻绵密 适合离乳期幼犬舔食 亲和肠胃易吸收",
ecPrice: "¥78",
productCode:'81220020F06',
productList: [
{
productCode: "81220020F06,81220020F03,81220020F12",
},
],
},
{
title: "皇家小型犬成犬全价湿粮",
productimage: "/images/wet/dog-2.png",
detail: "帮助支持消化系统健康 帮助保持皮肤和被毛健康 帮助支持TA对能量的需求",
ecPrice: "¥136",
productCode:'81110008012',
productList: [
{
productCode: "81110008012,8111000807,81110008024",
},
],
},
{
title: "皇家中型犬成犬全价湿粮",
productimage: "/images/wet/dog-3.png",
detail: "帮助支持消化系统健康 帮助保持皮肤和被毛健康 帮助支持自身保护力",
ecPrice: "¥271",
productCode:'8113001012',
productList: [
{
productCode: "8113001012,8113001007,8113001024",
},
],
}
],
cat:[
{
title: "皇家离乳期幼猫慕斯奶糕罐头",
productimage: "/images/wet/cat-1.png",
detail: "质地细腻绵密 适合离乳期幼猫舔食 亲和肠胃易吸收",
ecPrice: "¥165",
productCode:'80210020F06',
productList: [
{
productCode: "80210020F06,80210020F03,80210020F12",
},
],
},
{
title: "皇家幼猫全价猫湿粮混合口味",
productimage: "/images/wet/cat-2.png",
detail: "三种质地多重享受 满足猫咪挑嘴天性 健肠胃、助消化",
ecPrice: "¥93",
productCode:'8023450008F07',
productList: [
{
productCode: "8023450008F07,8023450008F12,8023450008F24",
},
],
},
{
title: "皇家成年期去毛球全价猫湿粮",
productimage: "/images/wet/cat-3.png",
detail: "排除毛球减少形成 健康倍护美味加分 满足不同年龄阶段猫咪的营养需求",
ecPrice: "¥94",
productCode:'80310008F07',
productList: [
{
productCode: "80310008F07,80310008F12",
},
],
},
]
}
};
//Production data end
let data = {

View File

@ -15,7 +15,8 @@ export default {
script: [
//{ src: '/js/rem.js' },
// { src: '/js/flexible.js', type: 'text/javascript', charset: 'utf-8'},
{ src: 'https://ocstest.royalcanin.com.cn:8081/livechat/chatapp/customer/branch/RoyalCanin/14053/index.js' },
//{ src: 'https://ocstest.royalcanin.com.cn:8081/livechat/chatapp/customer/branch/RoyalCanin/14053/index.js' },
{ src: 'https://ocs.royalcanin.com.cn:8081/livechat/chatapp/customer/branch/RoyalCanin/14053/index.js' },
//{ src: 'https://ocstest.royalcanin.com.cn:8081/livechat/chatapp/customer/branch/RoyalCanin/14054/index.js' },
{ innerHTML: trackingScript, type: 'text/javascript', charset: 'utf-8'},
{ innerHTML: assetsUrl, type: 'text/javascript', charset: 'utf-8'},

View File

@ -31,7 +31,6 @@
"vuex-persistedstate": "^4.1.0"
},
"devDependencies": {
"@vant/area-data": "^1.1.5",
"qrcodejs2": "^0.0.2",
"webpack": "^4.46.0"
}

View File

@ -1,125 +0,0 @@
<template>
<div>
<van-address-edit
:area-list="areaList"
:address-info="{
name: editAddressData.name,
tel: editAddressData.tel,
addressDetail: editAddressData.detailAddress,
areaCode: areaCode,
}"
show-delete
show-set-default
show-search-result
:search-result="searchResult"
@save="onSave"
@delete="onDelete"
/>
</div>
</template>
<script>
import { Toast } from "vant";
import { areaList } from "@vant/area-data";
var _ = require("lodash");
import { memberAddress } from "../../ajax/getData";
export default {
data() {
return {
areaList,
searchResult: [],
areaCode: "",
};
},
props: ["editAddressData"],
computed: {},
methods: {
async onSave(content) {
// Toast('save');
let provinceId = Number(content.areaCode.substring(0, 2)); //id
let cityId = Number(content.areaCode.substring(2, 4)); //id
let districtId = Number(content.areaCode.substring(4, 7)); //
//id / id/id/
let memberId = JSON.parse(localStorage.getItem("userInfo")).data.id;
let postData = {
memberId,
provinceId: 25,
cityId: 36,
districtId: 418,
// provinceId,
// cityId,
// districtId,
detailAddress: content.addressDetail,
recipient: content.name,
recipientPhone: content.tel,
default: content.default,
};
let saveType = this.editAddressData.saveType ? "update" : "add";
let data = await memberAddress(saveType, postData);
if (data) {
this.$message({
type: "warning",
message: data.msg,
});
if (data.code == "0") {
this.$emit("isClose", false);
}
}
},
async onDelete() {
// Toast("delete");
let postData = {
ids: this.editAddressData.id,
memberId: this.editAddressData.memberId,
};
let data = await memberAddress("delete", postData);
if (data) {
this.$message({
type: "warning",
message: data.msg,
});
if (data.code == "0") {
this.$emit("isClose", false);
}
}
},
async areaCodeInit() {
var city = this.editAddressData.city;
var district = this.editAddressData.district;
this.areaCode = "1310001";
// _.forEach(this.areaList.city_list, (o, c) => {
// if (o == city) {
// // let cityId = String(_.take(c, 2));
// let cityId = c.substring(0, 4);
// _.forEach(this.areaList.county_list, (i, a) => {
// if (i == district) {
// // let districtId = String(_.take(a, 2));
// let districtId = a.substring(0, 4);
// if (cityId == districtId) {
// this.areaCode = a;
// }
// }
// });
// }
// });
},
},
mounted() {
this.areaCodeInit();
},
};
</script>
<style>
.van-area {
width: 400px;
margin: 0 auto;
border: 1px solid #808285;
}
.van-popup {
background-color: transparent;
}
.van-overlay {
background-color: transparent;
}
</style>

View File

@ -1308,43 +1308,7 @@ export default {
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
on: {
slideChange(Swiper) {1
// console.log(this.realIndex);
},
tap(event) {
console.log(this.realIndex);
},
click(event) {
console.log(this.realIndex);
console.log(this.realIndex);
vm.indexacindex=this.realIndex;
// if (this.realIndex == 0) {
// console.log("0");
// // window.location.href ='https://blog.csdn.net/smallnetvisitor/article/details/84817905';
// } else if (this.realIndex == 1) {
// // window.location.href ='https://blog.csdn.net/smallnetvisitor/article/details/84817905';
// console.log("1");
// }
if (this.realIndex == 2) {
// setTimeout(() => {
// var option = {
// customer: {
// id: "",
// name: "",
// email: "",
// mobile: "",
// memberId: vm.userdata.data.id,
// },
// };
// dis_livchat(option);
// }, 500);
}
},
},
}
},
catStarProductswiperOption: {
//loop: true,
@ -1496,7 +1460,7 @@ export default {
bIsWM
)
) {
console.log("当前是电脑打开");
//console.log("");
this.stypechange = false;
//console.log(this.usertitle)
this.usermargin = {
@ -1512,7 +1476,7 @@ export default {
this.dogshow = false;
this.showingBanners = this.banners.pc;
} else {
console.log("当前是手机打开");
//console.log("");
this.showingBanners = this.banners.mobile;
this.stypechange = true;
this.onemao = true;

View File

@ -205,7 +205,6 @@ export default {
logisticsNumber: "",
customer: "", //
payorsucess: "", //
addressstype: null,
addressUserName: "",
logisticsCompany: "", //
orderstatus: "",
@ -283,6 +282,13 @@ export default {
if (this.payorsucess == "立即支付") {
this.getwei(item);
} else {
_hmt.push([
"_trackCustomEvent",
"order_repay",
{
"status":"fail",
}
])
this.$router.push({
path: "/productdetails/producted",
query: {
@ -320,6 +326,7 @@ export default {
this.addressPhoneNumber = this.goldmedal[i].addressPhoneNumber;
this.paytype = this.goldmedal[i].paytype;
this.information.paytypeText = this.util.getTextByPaytype(this.paytype);
this.updateButtonByOrderStatus(this.goldmedal[i].status);
}
}
},
@ -333,7 +340,13 @@ export default {
userinformation: this.addressUserName + " " + this.addressPhoneNumber,
wxPay:data.msg
};
_hmt.push([
"_trackCustomEvent",
"order_repay",
{
"status":"success",
}
])
this.$router.push({
path: "/personal/userpay",
query: {
@ -343,6 +356,13 @@ export default {
},
});
} else {
_hmt.push([
"_trackCustomEvent",
"order_repay",
{
"status":"fail - " + this.orderNumber,
}
])
this.$message({
type: "error",
message: "订单数据错误,请联系客服进行处理",
@ -371,6 +391,33 @@ export default {
// console.log(this.list);
},
updateButtonByOrderStatus(status){
if (status == 2) {
this.orderstatus = "您的订单已完成";
this.isshow = false;
this.userisdelivery = "待发货";
this.customer = "联系客服申请售后";
this.payorsucess = "再次购买";
} else if (status == 0) {
this.orderstatus = "您的订单还未付款,请尽快付款!";
this.isshow = false;
this.userisdelivery = "待付款";
this.customer = "取消订单";
this.payorsucess = "立即支付";
} else if (status == 1) {
this.orderstatus = "您的订单已发出,请耐心等候。";
this.isshow = true;
this.userisdelivery = "待收货";
this.customer = "联系客服申请售后";
this.payorsucess = "再次购买";
} else if (status == 3) {
this.orderstatus = "您的订单已取消!";
this.isshow = false;
this.userisdelivery = "已取消";
this.customer = "联系客服申请售后";
this.payorsucess = "再次购买";
}
}
},
mounted() {
this.checkIsLogin();
@ -379,35 +426,8 @@ export default {
this.userid = this.usermessage.data.id;
this.userphone = this.usermessage.data.mobile;
this.editaddress(this.userid);
this.addressstype = this.$route.query.stype;
this.orderNumber = this.$route.query.orderNumber;
this.orderquantity(this.orderNumber);
if (this.addressstype == 2) {
this.orderstatus = "您的订单已完成";
this.isshow = false;
this.userisdelivery = "待发货";
this.customer = "联系客服申请售后";
this.payorsucess = "再次购买";
} else if (this.addressstype == 0) {
this.orderstatus = "您的订单还未付款,请尽快付款!";
this.isshow = false;
this.userisdelivery = "待付款";
this.customer = "取消订单";
this.payorsucess = "立即支付";
} else if (this.addressstype == 1) {
this.orderstatus = "您的订单已发出,请耐心等候。";
this.isshow = true;
this.userisdelivery = "待收货";
this.customer = "联系客服申请售后";
this.payorsucess = "再次购买";
} else if (this.addressstype == 3) {
this.orderstatus = "您的订单已取消!";
this.isshow = false;
this.userisdelivery = "已取消";
this.customer = "联系客服申请售后";
this.payorsucess = "再次购买";
}
},
components: {
Myheader,

View File

@ -480,6 +480,13 @@ export default {
this.showPaytypeWarning = !this.paytypeWarning.result;
if(this.paytypeWarning.result) {
if(item.status==0){
_hmt.push([
"_trackCustomEvent",
"order_repay",
{
"status":"success",
}
])
this.getwei(item);
}else{
this.$router.push({
@ -490,6 +497,14 @@ export default {
},
});
}
} else {
_hmt.push([
"_trackCustomEvent",
"order_repay",
{
"status":"fail",
}
])
}
},
usertwo() {

View File

@ -108,8 +108,8 @@
<span>{{ curItem.categoryName }}</span>
</div>
<div class="rc-button" v-if="!userbuy && curItem.goodUrl && curItem.goodUrl.length>5">
<a :href="curItem.goodUrl" target='_blank' class="ts-standard-btn">立即购买</a>
<div class="rc-button" v-if="!userbuy && curItem.curGoodUrl && curItem.curGoodUrl.length>5">
<a :href="curItem.curGoodUrl" target='_blank' class="ts-standard-btn">立即购买</a>
</div>
@ -293,6 +293,7 @@ import FixRight from "~/components/fixed-right.vue";
import unlogin from "~/components/unlogin.vue";
import Myfooter from "~/components/rc-footer.vue";
import { mapMutations } from "vuex";
import util from "@/ajax/util";
const settings = require("@/config");
import {
goodsmessage,
@ -378,6 +379,7 @@ export default {
},
data() {
return {
util,
tableLabelTest: [],
userimage: require("../../assets/image/unused.png"),
gotop: false,
@ -454,8 +456,16 @@ export default {
mounted() {
this.checkIsLogin();
// console.log(this.curItem);
if(this.isRxGoods) {
let isMobile = this.util.isMobile();
this.curItem.goodUrl = JSON.parse(this.curItem.goodUrl);
if(isMobile)
this.curItem.curGoodUrl = this.curItem.goodUrl.mobile;
else
this.curItem.curGoodUrl = this.curItem.goodUrl.pc;
}
this.usermessage = this.$store.state.userInfo;
if (this.usermessage !== "" || this.usermessage.data !== undefined) {
this.usermessage = this.$store.state.userInfo;
this.productCode = this.$route.query.productCode;
_hmt.push([
"_trackCustomEvent",
@ -703,8 +713,8 @@ export default {
}
},
userget() {
let user = localStorage.getItem("userInfo");
if (user == undefined || user == null || user == "") {
let user = this.$store.state.userInfo;
if (!user) {
this.dialogInfo2 = true;
return;
} else {

View File

@ -0,0 +1,245 @@
<template>
<div class="ts-resentation rc-padding-y--lg">
<Myheader></Myheader>
<div class="rc-top"></div>
<div class="ts-banner-swiper-container">
<picture>
<source
media="(max-width: 768px)"
srcset="/images/breed/banner-mobile.png"
/>
<source
media="(min-width: 769px)"
srcset="/images/breed/banner.png"
/>
<img src="/images/banner/pc-weixin.png" />
</picture>
</div>
<div>
<h2 class="rc-alpha rc-margin-y--md rc-text--center rc-margin-y--lg--mobile">明星犬粮</h2>
<ul class="ts-product-list rc-margin-bottom--lg rc-md-up">
<li
v-for="(item, index) in dataList.breed.dog"
:key="index"
class="rc-margin-top--md"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
<div class="rc-md-down ts-product-list">
<swiper :options="swiperAOption">
<swiper-slide
v-for="(item, index) in dataList.breed.dog"
:key="index"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<h2 class="rc-beta">{{ item.title }}</h2>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</swiper-slide>
</swiper>
<div id="swiperAPagnation" class="swiper-pagination ts-carousel-indicator center"></div>
<div id="swiperAprev" class="swiper-button-prev ts-swiper-arrow"></div>
<div id="swiperAnext" class="swiper-button-next ts-swiper-arrow"></div>
</div>
</div>
<div class="contair rc-margin-y--lg--mobile">
<nuxt-link :to="`/productdetails/productlist/?stype=1`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
<!-- Dog end -->
<div class="online bold rc-margin-y--lg"></div>
<!-- Cat start -->
<div>
<h2 class="rc-alpha rc-margin-y--md rc-text--center rc-margin-y--lg--mobile">明星猫粮</h2>
<ul class="ts-product-list rc-margin-bottom--lg rc-md-up">
<li
v-for="(item, index) in dataList.breed.cat"
:key="index"
class="rc-margin-top--md"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
<div class="rc-md-down ts-product-list">
<swiper :options="swiperBOption">
<swiper-slide
v-for="(item, index) in dataList.breed.cat"
:key="index"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<h2 class="rc-beta">{{ item.title }}</h2>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</swiper-slide>
</swiper>
<div id="swiperBPagnation" class="swiper-pagination ts-carousel-indicator center"></div>
<div id="swiperBprev" class="swiper-button-prev ts-swiper-arrow"></div>
<div id="swiperBnext" class="swiper-button-next ts-swiper-arrow"></div>
</div>
</div>
<div class="contair rc-margin-y--lg--mobile">
<nuxt-link :to="`/productdetails/productlist/?stype=0`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
<!-- Cat end-->
</div>
</template>
<script>
import Myheader from "~/components/header.vue";
import envData from "~/config/env-data.js";
export default {
data() {
return {
envData,
dataList:{breed:{dog:[],cat:[]}},
swiperAOption: {
loop: false,
slidesPerView: "auto",
centeredSlides: true,
speed: 1000,
autoplay: {
delay: 3000,
},
spaceBetween: 0,
pagination: {
el: "#swiperAPagnation",
clickable: true,
},
loopAdditionalSlides: 100,
navigation: {
nextEl: "#swiperAprev",
prevEl: "#swiperAnext",
}
},
swiperBOption: {
loop: false,
slidesPerView: "auto",
centeredSlides: true,
speed: 1000,
autoplay: {
delay: 3000,
},
spaceBetween: 0,
pagination: {
el: "#swiperBPagnation",
clickable: true,
},
loopAdditionalSlides: 100,
navigation: {
nextEl: "#swiperBprev",
prevEl: "#swiperBnext",
}
},
}
},
components: {
Myheader,
},
mounted(){
let env=process.env.NODE_ENV;
this.dataList=this.envData[env];
},
methods:{
selectproduce(item) {
let isRxGoods = false;
let productCode = [];
let mainProductCode = item.productCode;
if (!item.ecPrice && !item.price) {
isRxGoods = 1;
productCode = [item.productCode];
} else {
for (let i of item.productList) {
productCode.push(i.productCode);
}
}
this.$router.push({
path: "/productdetails/producted",
query: {
stype: 1,
isRxGoods: isRxGoods,
mainProductCode: mainProductCode,
productCode: productCode.join(","),
},
});
},
}
};
</script>
<style lang="less" scoped >
@import url("../../assets/css/resentation.less");
</style>

View File

@ -0,0 +1,245 @@
<template>
<div class="ts-resentation rc-padding-y--lg">
<Myheader></Myheader>
<div class="rc-top"></div>
<div class="ts-banner-swiper-container">
<picture>
<source
media="(max-width: 768px)"
srcset="/images/rc-phone.png"
/>
<source
media="(min-width: 769px)"
srcset="/images/userbanner.png"
/>
<img src="/images/banner/pc-weixin.png" />
</picture>
</div>
<div>
<h2 class="rc-alpha rc-margin-y--md rc-text--center rc-margin-y--lg--mobile">明星犬粮</h2>
<ul class="ts-product-list rc-margin-bottom--lg rc-md-up">
<li
v-for="(item, index) in dataList.doggie.dog"
:key="index"
class="rc-margin-top--md"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
<div class="rc-md-down ts-product-list">
<swiper :options="swiperAOption">
<swiper-slide
v-for="(item, index) in dataList.doggie.dog"
:key="index"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<h2 class="rc-beta">{{ item.title }}</h2>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</swiper-slide>
</swiper>
<div id="swiperAPagnation" class="swiper-pagination ts-carousel-indicator center"></div>
<div id="swiperAprev" class="swiper-button-prev ts-swiper-arrow"></div>
<div id="swiperAnext" class="swiper-button-next ts-swiper-arrow"></div>
</div>
</div>
<div class="contair rc-margin-y--lg--mobile">
<nuxt-link :to="`/productdetails/productlist/?stype=1`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
<!-- Dog end -->
<div class="online bold rc-margin-y--lg"></div>
<!-- Cat start -->
<div>
<h2 class="rc-alpha rc-margin-y--md rc-text--center rc-margin-y--lg--mobile">明星猫粮</h2>
<ul class="ts-product-list rc-margin-bottom--lg rc-md-up">
<li
v-for="(item, index) in dataList.doggie.cat"
:key="index"
class="rc-margin-top--md"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
<div class="rc-md-down ts-product-list">
<swiper :options="swiperBOption">
<swiper-slide
v-for="(item, index) in dataList.doggie.cat"
:key="index"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<h2 class="rc-beta">{{ item.title }}</h2>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</swiper-slide>
</swiper>
<div id="swiperBPagnation" class="swiper-pagination ts-carousel-indicator center"></div>
<div id="swiperBprev" class="swiper-button-prev ts-swiper-arrow"></div>
<div id="swiperBnext" class="swiper-button-next ts-swiper-arrow"></div>
</div>
</div>
<div class="contair rc-margin-y--lg--mobile">
<nuxt-link :to="`/productdetails/productlist/?stype=0`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
<!-- Cat end-->
</div>
</template>
<script>
import Myheader from "~/components/header.vue";
import envData from "~/config/env-data.js";
export default {
data() {
return {
envData,
dataList:{doggie:{dog:[],cat:[]}},
swiperAOption: {
loop: false,
slidesPerView: "auto",
centeredSlides: true,
speed: 1000,
autoplay: {
delay: 3000,
},
spaceBetween: 0,
pagination: {
el: "#swiperAPagnation",
clickable: true,
},
loopAdditionalSlides: 100,
navigation: {
nextEl: "#swiperAprev",
prevEl: "#swiperAnext",
}
},
swiperBOption: {
loop: false,
slidesPerView: "auto",
centeredSlides: true,
speed: 1000,
autoplay: {
delay: 3000,
},
spaceBetween: 0,
pagination: {
el: "#swiperBPagnation",
clickable: true,
},
loopAdditionalSlides: 100,
navigation: {
nextEl: "#swiperBprev",
prevEl: "#swiperBnext",
}
},
}
},
components: {
Myheader,
},
mounted(){
let env=process.env.NODE_ENV;
this.dataList=this.envData[env];
},
methods:{
selectproduce(item) {
let isRxGoods = false;
let productCode = [];
let mainProductCode = item.productCode;
if (!item.ecPrice && !item.price) {
isRxGoods = 1;
productCode = [item.productCode];
} else {
for (let i of item.productList) {
productCode.push(i.productCode);
}
}
this.$router.push({
path: "/productdetails/producted",
query: {
stype: 1,
isRxGoods: isRxGoods,
mainProductCode: mainProductCode,
productCode: productCode.join(","),
},
});
},
}
};
</script>
<style lang="less" scoped >
@import url("../../assets/css/resentation.less");
</style>

View File

@ -1,130 +0,0 @@
<template>
<div class="rc-padding-y--lg">
<Myheader></Myheader>
<div class="rc-top"></div>
<div class="ts-banner-swiper-container">
<picture>
<source
media="(max-width: 768px)"
srcset="/images/rc-phone.png"
/>
<source
media="(min-width: 769px)"
srcset="/images/userbanner.png"
/>
<img src="/images/banner/pc-weixin.png" />
</picture>
</div>
<div>
<ul class="ts-product-list rc-margin-bottom--lg">
<li
v-for="(item, index) in dataList.amature"
:key="index"
class="rc-margin-top--md"
>
<h2 class="rc-beta rc-margin-y--md">{{ index==1?'明星猫粮':'明星犬粮' }}</h2>
<div
class="rc-click rc-margin-bottom--md"
@click="selectproduce(item, index)"
>
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
</div>
<div class="contair">
<nuxt-link :to="`/productdetails/productlist/`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
</div>
</template>
<script>
import Myheader from "~/components/header.vue";
import envData from "~/config/env-data.js";
export default {
data() {
return {
envData,
dataList:{amature:[]}
};
},
components: {
Myheader,
},
mounted(){
let env=process.env.NODE_ENV;
this.dataList=this.envData[env];
},
methods:{
selectproduce(item) {
let isRxGoods = false;
let productCode = [];
let mainProductCode = item.productCode;
if (!item.ecPrice && !item.price) {
isRxGoods = 1;
productCode = [item.productCode];
} else {
for (let i of item.productList) {
productCode.push(i.productCode);
}
}
this.$router.push({
path: "/productdetails/producted",
query: {
stype: 1,
isRxGoods: isRxGoods,
mainProductCode: mainProductCode,
productCode: productCode.join(","),
},
});
},
}
};
</script>
<style lang="less" scoped >
.ts-banner-swiper-container {
img {
width: 100%;
height: auto;
object-fit: contain;
}
}
.ts-product-list li{
border:none;
max-width:22.75rem;
min-width:22.75rem;
width:22.75rem;
h2{
margin-left:auto;
margin-right:auto;
font-weight: bold;
}
.rc-column span {
height:auto;
}
.desc {
width:13rem;
height:auto;
}
}
</style>

View File

@ -0,0 +1,245 @@
<template>
<div class="ts-resentation rc-padding-y--lg">
<Myheader></Myheader>
<div class="rc-top"></div>
<div class="ts-banner-swiper-container">
<picture>
<source
media="(max-width: 768px)"
srcset="/images/wet/banner-mobile.png"
/>
<source
media="(min-width: 769px)"
srcset="/images/wet/banner.png"
/>
<img src="/images/banner/pc-weixin.png" />
</picture>
</div>
<div>
<h2 class="rc-alpha rc-margin-y--md rc-text--center rc-margin-y--lg--mobile">明星犬粮</h2>
<ul class="ts-product-list rc-margin-bottom--lg rc-md-up">
<li
v-for="(item, index) in dataList.wet.dog"
:key="index"
class="rc-margin-top--md"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
<div class="rc-md-down ts-product-list">
<swiper :options="swiperAOption">
<swiper-slide
v-for="(item, index) in dataList.wet.dog"
:key="index"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<h2 class="rc-beta">{{ item.title }}</h2>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</swiper-slide>
</swiper>
<div id="swiperAPagnation" class="swiper-pagination ts-carousel-indicator center"></div>
<div id="swiperAprev" class="swiper-button-prev ts-swiper-arrow"></div>
<div id="swiperAnext" class="swiper-button-next ts-swiper-arrow"></div>
</div>
</div>
<div class="contair rc-margin-y--lg--mobile">
<nuxt-link :to="`/productdetails/productlist/?stype=1`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
<!-- Dog end -->
<div class="online bold rc-margin-y--lg"></div>
<!-- Cat start -->
<div>
<h2 class="rc-alpha rc-margin-y--md rc-text--center rc-margin-y--lg--mobile">明星猫粮</h2>
<ul class="ts-product-list rc-margin-bottom--lg rc-md-up">
<li
v-for="(item, index) in dataList.wet.cat"
:key="index"
class="rc-margin-top--md"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<span>{{ item.title }}</span>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</li>
</ul>
<div class="rc-md-down ts-product-list">
<swiper :options="swiperBOption">
<swiper-slide
v-for="(item, index) in dataList.wet.cat"
:key="index"
>
<div class="rc-click rc-margin-bottom--md" @click="selectproduce(item, index)">
<div class="rc-rccontair">
<img :src="item.productimage" alt="" />
</div>
</div>
<div class="rc-column">
<div class="rc-click" @click="selectproduce(item, index)">
<h2 class="rc-beta">{{ item.title }}</h2>
<div class="desc">{{ item.detail }}</div>
</div>
<strong
class="
ts-standard-btn ts-standard-btn--two
rc-margin-y--md
center
"
@click="selectproduce(item, index)"
>立即购买</strong
>
</div>
</swiper-slide>
</swiper>
<div id="swiperBPagnation" class="swiper-pagination ts-carousel-indicator center"></div>
<div id="swiperBprev" class="swiper-button-prev ts-swiper-arrow"></div>
<div id="swiperBnext" class="swiper-button-next ts-swiper-arrow"></div>
</div>
</div>
<div class="contair rc-margin-y--lg--mobile">
<nuxt-link :to="`/productdetails/productlist/?stype=0`">
<span class="ts-standard-btn center">查看更多</span>
</nuxt-link>
</div>
<!-- Cat end-->
</div>
</template>
<script>
import Myheader from "~/components/header.vue";
import envData from "~/config/env-data.js";
export default {
data() {
return {
envData,
dataList:{wet:{dog:[],cat:[]}},
swiperAOption: {
loop: false,
slidesPerView: "auto",
centeredSlides: true,
speed: 1000,
autoplay: {
delay: 3000,
},
spaceBetween: 0,
pagination: {
el: "#swiperAPagnation",
clickable: true,
},
loopAdditionalSlides: 100,
navigation: {
nextEl: "#swiperAprev",
prevEl: "#swiperAnext",
}
},
swiperBOption: {
loop: false,
slidesPerView: "auto",
centeredSlides: true,
speed: 1000,
autoplay: {
delay: 3000,
},
spaceBetween: 0,
pagination: {
el: "#swiperBPagnation",
clickable: true,
},
loopAdditionalSlides: 100,
navigation: {
nextEl: "#swiperBprev",
prevEl: "#swiperBnext",
}
},
}
},
components: {
Myheader,
},
mounted(){
let env=process.env.NODE_ENV;
this.dataList=this.envData[env];
},
methods:{
selectproduce(item) {
let isRxGoods = false;
let productCode = [];
let mainProductCode = item.productCode;
if (!item.ecPrice && !item.price) {
isRxGoods = 1;
productCode = [item.productCode];
} else {
for (let i of item.productList) {
productCode.push(i.productCode);
}
}
this.$router.push({
path: "/productdetails/producted",
query: {
stype: 1,
isRxGoods: isRxGoods,
mainProductCode: mainProductCode,
productCode: productCode.join(","),
},
});
},
}
};
</script>
<style lang="less" scoped >
@import url("../../assets/css/resentation.less");
</style>

View File

@ -221,6 +221,13 @@ export default {
},
mounted() {
//console.log(this.$route.params);
this.checkIsLogin();
let user = this.$store.state.userInfo;
if(user) {
this.$router.push({
path: "/personal/mypersonal",
});
}
},
// watch: function () {
// console.log(this.inRank);

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -325,9 +325,7 @@
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>telework</id>
@ -352,7 +350,9 @@
<properties>
<profiles.active>prod</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>