Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui
commit
967e673647
|
@ -1,348 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="template">
|
|
||||||
<BaseHeader></BaseHeader>
|
|
||||||
<div class="wrapper">
|
|
||||||
<!--面包屑-->
|
|
||||||
<Breadcrumb class="mb_20" separator=">">
|
|
||||||
<BreadcrumbItem to="/">首页</BreadcrumbItem>
|
|
||||||
<BreadcrumbItem to="/allCategories">全部分类</BreadcrumbItem>
|
|
||||||
</Breadcrumb>
|
|
||||||
|
|
||||||
<Tabs :animated="false">
|
|
||||||
<TabPane class="mt_40" v-for="(item,index) in mockData" :key="index" :label="item.title">
|
|
||||||
<!-- 分类详情-->
|
|
||||||
<div class="cateBox">
|
|
||||||
<div class="width_800 cateContent" ref="cateContent">
|
|
||||||
<div v-for="(data,i) in item.data" :key="i" class="cateList mb_40">
|
|
||||||
<div class="cateListTitle">
|
|
||||||
<p class="mb_40">{{data.title}} </p>
|
|
||||||
<div class="cateList">
|
|
||||||
<div v-for="(cate,j) in data.List" :key="j" class="cateItem">{{cate.content}}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</TabPane>
|
|
||||||
</Tabs>
|
|
||||||
</div>
|
|
||||||
<BaseFooter></BaseFooter>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: "AllCategories",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
mockData: [
|
|
||||||
{
|
|
||||||
title: "图书、电子书",
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
title: "电子书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "畅销书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装畅销"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "大牌儿2",
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
title: "电子书2",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "畅销书2",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说畅销2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典畅销2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装畅销2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "大牌儿3",
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
title: "电子书3",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装3"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "畅销书3",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说畅销3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典畅销3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装畅销3"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "大牌儿",
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
title: "电子书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "畅销书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装畅销"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "大牌儿",
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
title: "电子书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "畅销书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装畅销"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "大牌儿",
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
title: "电子书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "畅销书",
|
|
||||||
List: [
|
|
||||||
{
|
|
||||||
content: "小说畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "经典畅销"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
content: "古装畅销"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.windowScroll();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// 获取每个tab的数据
|
|
||||||
// filterCate(){
|
|
||||||
|
|
||||||
// },
|
|
||||||
|
|
||||||
windowScroll() {
|
|
||||||
let cateWay = [];
|
|
||||||
for (
|
|
||||||
let i = 0;
|
|
||||||
i < document.getElementsByClassName("cateTitle").length;
|
|
||||||
i++
|
|
||||||
) {
|
|
||||||
let cate = document.getElementsByClassName("cateTitle")[i];
|
|
||||||
cateWay.push(cate.offsetTop);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(cateWay);
|
|
||||||
|
|
||||||
window.onscroll = function() {
|
|
||||||
var scrollTop =
|
|
||||||
document.documentElement.scrollTop || document.body.scrollTop;
|
|
||||||
console.log("滚动距离" + scrollTop);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.template {
|
|
||||||
width: 100%;
|
|
||||||
@include background_color($light_background_color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.wrapper {
|
|
||||||
width: 1200px;
|
|
||||||
padding-top: 30px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cateContent {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cateBox {
|
|
||||||
|
|
||||||
min-height: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cateTitle {
|
|
||||||
background: $theme_color;
|
|
||||||
height: 50px;
|
|
||||||
line-height: 50px;
|
|
||||||
text-align: center;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cateMenuItem {
|
|
||||||
@include title_color($light_title_color);
|
|
||||||
padding: 8px 0;
|
|
||||||
font-weight: 400 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cateListTitle {
|
|
||||||
> p {
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: bold;
|
|
||||||
@include title_color($light_title_color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.cateList {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.cateItem {
|
|
||||||
|
|
||||||
cursor: pointer;
|
|
||||||
display: block;
|
|
||||||
width: 137px;
|
|
||||||
height: 38px;
|
|
||||||
@include background_color($light_background_color);
|
|
||||||
@include content_color($light_title_color);
|
|
||||||
border: 1px dashed $border_color;
|
|
||||||
line-height: 38px;
|
|
||||||
text-align: center;
|
|
||||||
margin-right: -1px;
|
|
||||||
margin-bottom: -1px;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
overflow: hidden;
|
|
||||||
transition: all 0.2s ease-in;
|
|
||||||
}
|
|
||||||
.cateItem:hover{
|
|
||||||
background: $theme_color;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.mt_40{
|
|
||||||
margin-top: 40px;
|
|
||||||
}
|
|
||||||
.mb_40{
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -156,54 +156,21 @@ export default {
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
logoImg: '',
|
logoImg: '', // logo图
|
||||||
couponAvailable: false,
|
couponAvailable: false, // 展示优惠券
|
||||||
stepIndex: 0, // 当前处于哪一步,购物车==0,填写订单信息==1,成功提交订单==2
|
stepIndex: 0, // 当前处于哪一步,购物车==0,填写订单信息==1,成功提交订单==2
|
||||||
goodsTotal: 1,
|
goodsTotal: 1, // 商品数量
|
||||||
checkedNum: 0,
|
checkedNum: 0, // 选中数量
|
||||||
allChecked: false,
|
allChecked: false, // 全选
|
||||||
loading: false,
|
loading: false, // 加载状态
|
||||||
city: '珠海',
|
cartList: [], // 购物车列表
|
||||||
cityArr: [
|
couponList: [], // 优惠券列表
|
||||||
['北京', '上海', '天津', '重庆', '广州'],
|
priceDetailDTO: {}, // 价格明细
|
||||||
['深圳', '河南', '辽宁', '吉林', '江苏'],
|
skuList: [] // sku列表
|
||||||
['江西', '四川', '海南', '贵州', '云南'],
|
|
||||||
['西藏', '陕西', '甘肃', '青海', '珠海']
|
|
||||||
],
|
|
||||||
cartList: [],
|
|
||||||
couponList: [
|
|
||||||
{
|
|
||||||
name: '优惠券',
|
|
||||||
price: '10',
|
|
||||||
activity: '满99减10',
|
|
||||||
useRange: '全品类使用',
|
|
||||||
disabled: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '优惠券',
|
|
||||||
price: '10',
|
|
||||||
activity: '满99减10',
|
|
||||||
useRange: '全品类使用',
|
|
||||||
disabled: false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '优惠券',
|
|
||||||
price: '10',
|
|
||||||
activity: '满99减10',
|
|
||||||
useRange: '全品类使用',
|
|
||||||
disabled: false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
priceDetailDTO: {},
|
|
||||||
skuList: []
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
// 选择配送区域
|
|
||||||
changeCity (city) {
|
|
||||||
this.city = city;
|
|
||||||
},
|
|
||||||
// 跳转商品详情
|
// 跳转商品详情
|
||||||
goGoodsDetail (skuId, goodsId) {
|
goGoodsDetail (skuId, goodsId) {
|
||||||
let routeUrl = this.$router.resolve({
|
let routeUrl = this.$router.resolve({
|
||||||
|
@ -451,17 +418,6 @@ export default {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
.city {
|
|
||||||
padding: 10px 15px;
|
|
||||||
}
|
|
||||||
.city-item {
|
|
||||||
font-weight: bold;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
.city-item:hover {
|
|
||||||
color: $theme_color;
|
|
||||||
}
|
|
||||||
/** 商品列表 */
|
/** 商品列表 */
|
||||||
.cart-goods {
|
.cart-goods {
|
||||||
&-title {
|
&-title {
|
||||||
|
|
|
@ -39,15 +39,15 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: "Feedback",
|
name: 'Feedback',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
formItem: {
|
formItem: { // 表单数据
|
||||||
title: "",
|
title: '',
|
||||||
content: "",
|
content: ''
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -55,17 +55,13 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
tagsColor: ['blue', 'green', 'red', 'yellow'],
|
goodsMsg: {}, // 商品信息
|
||||||
goodsMsg: {},
|
isLoading: false, // 加载状态
|
||||||
isLoading: false,
|
categoryBar: [], // 分类
|
||||||
categoryBar: [],
|
storeCollected: false // 商品收藏
|
||||||
storeCollected: false
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -101,18 +101,18 @@ export default {
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
sortIndex: 0,
|
sortIndex: 0, // 排序状态
|
||||||
sortPriceIndex: false, // 判断价格升序还是降序
|
sortPriceIndex: false, // 判断价格升序还是降序
|
||||||
goodsTool: [
|
goodsTool: [ // 排序类型
|
||||||
{ title: '综合', en: '' },
|
{ title: '综合', en: '' },
|
||||||
{ title: '销量', en: 'buyCount' },
|
{ title: '销量', en: 'buyCount' },
|
||||||
{ title: '评论数', en: 'commentNum' },
|
{ title: '评论数', en: 'commentNum' },
|
||||||
{ title: '新品', en: 'releaseTime' }
|
{ title: '新品', en: 'releaseTime' }
|
||||||
],
|
],
|
||||||
goodsList: [],
|
goodsList: [], // 商品列表
|
||||||
loading: false,
|
loading: false, // 加载状态
|
||||||
total: 0,
|
total: 0, // 列表总数
|
||||||
params: {
|
params: { // 请求参数
|
||||||
pageNumber: 0,
|
pageNumber: 0,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
categoryId: ''
|
categoryId: ''
|
||||||
|
|
|
@ -163,11 +163,11 @@ export default {
|
||||||
username: '',
|
username: '',
|
||||||
password: ''
|
password: ''
|
||||||
},
|
},
|
||||||
formSms: {
|
formSms: { // 手机号登录
|
||||||
code: '',
|
code: '',
|
||||||
mobile: ''
|
mobile: ''
|
||||||
},
|
},
|
||||||
verifyStatus: false,
|
verifyStatus: false, // 是否图片验证通过
|
||||||
ruleInline: {
|
ruleInline: {
|
||||||
// 验证规则
|
// 验证规则
|
||||||
username: [{ required: true, message: '请输入用户名' }],
|
username: [{ required: true, message: '请输入用户名' }],
|
||||||
|
@ -184,10 +184,10 @@ export default {
|
||||||
],
|
],
|
||||||
code: [{ required: true, message: '请输入手机验证码' }]
|
code: [{ required: true, message: '请输入手机验证码' }]
|
||||||
},
|
},
|
||||||
codeMsg: '发送验证码',
|
codeMsg: '发送验证码', // 验证码文字
|
||||||
interval: '',
|
interval: '', // 定时器
|
||||||
time: 60,
|
time: 60, // 倒计时
|
||||||
logoImg: ''
|
logoImg: '' // logo图片
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -73,19 +73,19 @@ export default {
|
||||||
name: 'Merchant',
|
name: 'Merchant',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
storeMsg: {},
|
storeMsg: {}, // 店铺信息
|
||||||
cateList: [],
|
cateList: [], // 店铺分裂
|
||||||
goodsList: [],
|
goodsList: [], // 商品列表
|
||||||
total: 0,
|
total: 0, // 商品数量
|
||||||
params: {
|
params: { // 请求参数
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
keyword: '',
|
keyword: '',
|
||||||
storeId: this.$route.query.id,
|
storeId: this.$route.query.id,
|
||||||
storeCatId: ''
|
storeCatId: ''
|
||||||
},
|
},
|
||||||
cateName: '店铺推荐',
|
cateName: '店铺推荐', // 分类名称
|
||||||
storeCollected: false
|
storeCollected: false // 是否收藏
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
|
|
|
@ -74,7 +74,7 @@ export default {
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
detail: {}
|
detail: {} // 商品详情
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
<div>注册</div>
|
<div>注册</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="login-container">
|
<div class="login-container">
|
||||||
|
|
||||||
<!-- 注册 -->
|
<!-- 注册 -->
|
||||||
<Form
|
<Form
|
||||||
ref="formRegist"
|
ref="formRegist"
|
||||||
|
@ -132,12 +131,12 @@ export default {
|
||||||
],
|
],
|
||||||
code: [{ required: true, message: '请输入手机验证码' }]
|
code: [{ required: true, message: '请输入手机验证码' }]
|
||||||
},
|
},
|
||||||
verifyStatus: false,
|
verifyStatus: false, // 是否验证通过
|
||||||
verifyType: 'REGISTER',
|
verifyType: 'REGISTER', // 验证状态
|
||||||
codeMsg: '发送验证码',
|
codeMsg: '发送验证码', // 提示文字
|
||||||
interval: '',
|
interval: '', // 定时器
|
||||||
time: 60,
|
time: 60, // 倒计时
|
||||||
logoImg: ''
|
logoImg: '' // logo图
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -48,9 +48,9 @@ import {couponList, receiveCoupon} from '@/api/member.js'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
list: [],
|
list: [], // 优惠券列表
|
||||||
total: 0,
|
total: 0, // 优惠券总数
|
||||||
params: {
|
params: { // 请求参数
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
pageSize: 20
|
pageSize: 20
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,18 +119,18 @@ export default {
|
||||||
components: { Verify },
|
components: { Verify },
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false, // 加载状态
|
||||||
loading1: false,
|
loading1: false, // 第二步加载状态
|
||||||
formFirst: {
|
formFirst: { // 手机验证码表单
|
||||||
// 注册表单
|
// 注册表单
|
||||||
mobile: '',
|
mobile: '',
|
||||||
code: ''
|
code: ''
|
||||||
},
|
},
|
||||||
form: {
|
form: { // 密码
|
||||||
password: '',
|
password: '',
|
||||||
oncePasd: ''
|
oncePasd: ''
|
||||||
},
|
},
|
||||||
step: 0,
|
step: 0, // 步骤
|
||||||
ruleInline: {
|
ruleInline: {
|
||||||
// 验证规则
|
// 验证规则
|
||||||
mobile: [
|
mobile: [
|
||||||
|
@ -144,11 +144,11 @@ export default {
|
||||||
code: [{ required: true, message: '请输入手机验证码' }],
|
code: [{ required: true, message: '请输入手机验证码' }],
|
||||||
password: [{required: true, message: '密码不能为空'}, {pattern: RegExp.password, message: '密码不能少于6位'}]
|
password: [{required: true, message: '密码不能为空'}, {pattern: RegExp.password, message: '密码不能少于6位'}]
|
||||||
},
|
},
|
||||||
verifyStatus: false,
|
verifyStatus: false, // 图片验证状态
|
||||||
verifyType: 'FIND_USER',
|
verifyType: 'FIND_USER', // 图片验证类型
|
||||||
codeMsg: '发送验证码',
|
codeMsg: '发送验证码', // 验证码文字
|
||||||
interval: '',
|
interval: '', // 定时器
|
||||||
time: 60
|
time: 60 // 倒计时时间
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -39,10 +39,10 @@ export default {
|
||||||
components: { vueQr },
|
components: { vueQr },
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
qrcode: '',
|
qrcode: '', // 二维码
|
||||||
params: this.$route.query,
|
params: this.$route.query, // 参数
|
||||||
interval: null,
|
interval: null, // 定时器
|
||||||
num: 0
|
num: 0 // 商品数
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
goodsList: [], // 积分商品列表
|
goodsList: [], // 积分商品列表
|
||||||
cateList: [{
|
cateList: [{ // 商品分类
|
||||||
name: '全部分类',
|
name: '全部分类',
|
||||||
id: ''
|
id: ''
|
||||||
}], // 积分分类列表
|
}], // 积分分类列表
|
||||||
|
|
|
@ -59,13 +59,13 @@ import {seckillByDay} from '@/api/promotion'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
list: [],
|
list: [], // 秒杀时段列表
|
||||||
goodsList: [],
|
goodsList: [], // 商品列表
|
||||||
interval: null,
|
interval: null, // 定时器
|
||||||
currIndex: 0, // 当前时间段的下标
|
currIndex: 0, // 当前时间段的下标
|
||||||
currTime: 0, // 当前显示的倒计时
|
currTime: 0, // 当前显示的倒计时
|
||||||
diffSeconds: 0, // 倒计时时间戳
|
diffSeconds: 0, // 倒计时时间戳
|
||||||
nowHour: new Date().getHours()
|
nowHour: new Date().getHours() // 当前小时数
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
@ -201,17 +201,17 @@ export default {
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
action: commonUrl + '/common/upload/file',
|
action: commonUrl + '/common/upload/file', // 上传地址
|
||||||
accessToken: {},
|
accessToken: {}, // 验证token
|
||||||
visible: false,
|
visible: false, // 预览图片
|
||||||
loading: false,
|
loading: false, // 加载状态
|
||||||
address: '',
|
address: '', // 地址
|
||||||
previewPicture: '',
|
previewPicture: '', // 预览图片url
|
||||||
form: {
|
form: { // 表单数据
|
||||||
legalPhoto: [],
|
legalPhoto: [],
|
||||||
licencePhoto: []
|
licencePhoto: []
|
||||||
},
|
},
|
||||||
rules: {
|
rules: { // 验证规则
|
||||||
companyName: [{ required: true, message: '请填写公司信息' }],
|
companyName: [{ required: true, message: '请填写公司信息' }],
|
||||||
addressIdPath: [{ required: true, message: '请选择公司所在地' }],
|
addressIdPath: [{ required: true, message: '请选择公司所在地' }],
|
||||||
companyAddress: [{ required: true, message: '请填写公司详细地址' }],
|
companyAddress: [{ required: true, message: '请填写公司详细地址' }],
|
||||||
|
@ -245,8 +245,8 @@ export default {
|
||||||
{ pattern: RegExp.IDCard, message: '请输入正确的证件号' }
|
{ pattern: RegExp.IDCard, message: '请输入正确的证件号' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
uploadLoading1: false,
|
uploadLoading1: false, // 上传loading
|
||||||
uploadLoading: false
|
uploadLoading: false // 上传loading
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="shop-list">
|
|
||||||
<Button>申请入驻</Button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
|
@ -42,7 +42,6 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { applySecond } from '@/api/shopentry';
|
import { applySecond } from '@/api/shopentry';
|
||||||
import * as RegExp from '@/plugins/RegExp.js';
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
content: {
|
content: {
|
||||||
|
@ -52,9 +51,9 @@ export default {
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false, // 加载状态
|
||||||
form: {},
|
form: {}, // 表单数据
|
||||||
rules: {
|
rules: { // 验证规则
|
||||||
settlementBankAccountName: [
|
settlementBankAccountName: [
|
||||||
{ required: true, message: '请填写银行开户名称' }
|
{ required: true, message: '请填写银行开户名称' }
|
||||||
],
|
],
|
||||||
|
|
|
@ -72,16 +72,16 @@ export default {
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
currentIndex: 0,
|
currentIndex: 0, // 当前步骤
|
||||||
showAgreement: false,
|
showAgreement: false, // 协议显示
|
||||||
agreementCon: '',
|
agreementCon: '', // 协议内容
|
||||||
checked: false,
|
checked: false, // 选中协议
|
||||||
applyData: {},
|
applyData: {}, // 申请数据
|
||||||
firstData: {},
|
firstData: {}, // 第一步数据
|
||||||
secondData: {},
|
secondData: {}, // 第二步数据
|
||||||
thirdData: {},
|
thirdData: {}, // 第三步数据
|
||||||
storeDisable: '', // APPLY OPEN 开店中 CLOSED 关闭 REFUSED 拒绝 APPLYING 申请中,审核
|
storeDisable: '', // APPLY OPEN 开店中 CLOSED 关闭 REFUSED 拒绝 APPLYING 申请中,审核
|
||||||
dataReview: true
|
dataReview: true // 根据接口返回判断是否可展示数据
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -99,7 +99,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { applyThird } from '@/api/shopentry';
|
import { applyThird } from '@/api/shopentry';
|
||||||
import { getCategory } from '@/api/goods';
|
import { getCategory } from '@/api/goods';
|
||||||
import * as RegExp from '@/plugins/RegExp.js';
|
|
||||||
import Map from '@/components/map/index';
|
import Map from '@/components/map/index';
|
||||||
import storage from '@/plugins/storage';
|
import storage from '@/plugins/storage';
|
||||||
import { commonUrl } from '@/plugins/request.js';
|
import { commonUrl } from '@/plugins/request.js';
|
||||||
|
@ -113,16 +112,16 @@ export default {
|
||||||
components: { liliMap: Map },
|
components: { liliMap: Map },
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false, // 加载状态
|
||||||
uploadLoading: false,
|
uploadLoading: false, // 上传加载状态
|
||||||
action: commonUrl + '/common/upload/file',
|
action: commonUrl + '/common/upload/file', // 上传地址
|
||||||
accessToken: {},
|
accessToken: {}, // 验证token
|
||||||
previewPicture: '',
|
previewPicture: '', // 预览图片
|
||||||
visible: false,
|
visible: false, // 图片预览
|
||||||
form: {
|
form: { // 表单数据
|
||||||
storeLogo: []
|
storeLogo: []
|
||||||
},
|
},
|
||||||
rules: {
|
rules: { // 验证规则
|
||||||
goodsManagementCategory: [
|
goodsManagementCategory: [
|
||||||
{ required: true, message: '请选择店铺经营类目' }
|
{ required: true, message: '请选择店铺经营类目' }
|
||||||
],
|
],
|
||||||
|
@ -131,7 +130,7 @@ export default {
|
||||||
storeDesc: [{ required: true, message: '请填写店铺简介' }],
|
storeDesc: [{ required: true, message: '请填写店铺简介' }],
|
||||||
storeCenter: [{ required: true, message: '请选择店铺位置' }]
|
storeCenter: [{ required: true, message: '请选择店铺位置' }]
|
||||||
},
|
},
|
||||||
categoryList: []
|
categoryList: [] // 分类数据
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="info-form">
|
|
||||||
<Form ref="formValidate" :model="formValidate" :label-width="80" :rules="ruleValidate">
|
|
||||||
<FormItem label="手机号" prop="phone">
|
|
||||||
<i-input v-model="formValidate.phone" clearable size="large" placeholder="请输入手机号"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="验证码" prop="checkNum">
|
|
||||||
<i-input v-model="formValidate.checkNum" size="large" placeholder="请输入验证码">
|
|
||||||
<Button slot="append" @click="getcheckNum">获取验证码</Button>
|
|
||||||
</i-input>
|
|
||||||
</FormItem>
|
|
||||||
<Button type="error" size="large" long @click="handleSubmit('formValidate')">验证手机号</Button>
|
|
||||||
</Form>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import store from '@/vuex/store';
|
|
||||||
import { mapMutations } from 'vuex';
|
|
||||||
export default {
|
|
||||||
name: 'CheckPhone',
|
|
||||||
data () {
|
|
||||||
return {
|
|
||||||
formValidate: {
|
|
||||||
phone: '',
|
|
||||||
checkNum: ''
|
|
||||||
},
|
|
||||||
ruleValidate: {
|
|
||||||
phone: [
|
|
||||||
{ required: true, message: '手机号不能为空', trigger: 'blur' },
|
|
||||||
{ type: 'string', pattern: /^1[3|4|5|7|8][0-9]{9}$/, message: '手机号格式出错', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
checkNum: [
|
|
||||||
{ required: true, message: '必须填写验证码', trigger: 'blur' },
|
|
||||||
{ type: 'string', min: 4, max: 4, message: '验证码长度错误', trigger: 'blur' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
...mapMutations(['SET_SIGN_UP_SETP']),
|
|
||||||
getcheckNum () {
|
|
||||||
if (this.formValidate.phone.length === 11) {
|
|
||||||
this.$Message.success({
|
|
||||||
content: '验证码为: 1234',
|
|
||||||
duration: 6,
|
|
||||||
closable: true
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$Message.error({
|
|
||||||
content: '请输入正确的手机号',
|
|
||||||
duration: 6,
|
|
||||||
closable: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleSubmit (name) { // 提交验证
|
|
||||||
this.$refs[name].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$router.push({ path: '/SignUp/inputInfo', query: { phone: this.formValidate.phone } });
|
|
||||||
this.SET_SIGN_UP_SETP(1);
|
|
||||||
} else {
|
|
||||||
this.$Message.error({
|
|
||||||
content: '请填写正确的信息',
|
|
||||||
duration: 6,
|
|
||||||
closable: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
store
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.info-form {
|
|
||||||
width: 90% !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,92 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="info-form">
|
|
||||||
<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80" >
|
|
||||||
<FormItem label="用户名" prop="name">
|
|
||||||
<i-input v-model="formValidate.name" clearable size="large" placeholder="请输入你的姓名"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="邮箱" prop="mail">
|
|
||||||
<i-input v-model="formValidate.mail" clearable size="large" placeholder="请输入你的邮箱"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="密码" prop="password">
|
|
||||||
<i-input type="password" v-model="formValidate.password" clearable size="large" placeholder="请输入你的密码"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="确认密码" prop="repassword">
|
|
||||||
<i-input type="password" v-model="formValidate.repassword" clearable size="large" placeholder="请再次输入你的密码"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<Button type="error" size="large" long @click="handleSubmit('formValidate')">注册</Button>
|
|
||||||
</Form>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import store from '@/vuex/store';
|
|
||||||
import { mapMutations, mapActions } from 'vuex';
|
|
||||||
export default {
|
|
||||||
name: 'InputInfo',
|
|
||||||
data () {
|
|
||||||
const validatePassCheck = (rule, value, callback) => {
|
|
||||||
if (value === '') {
|
|
||||||
callback(new Error('请再次输入密码'));
|
|
||||||
} else if (value !== this.formValidate.password) {
|
|
||||||
callback(new Error('两次输入的密码不一样'));
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return {
|
|
||||||
formValidate: {
|
|
||||||
name: '',
|
|
||||||
mail: '',
|
|
||||||
password: '',
|
|
||||||
repassword: ''
|
|
||||||
},
|
|
||||||
ruleValidate: {
|
|
||||||
name: [
|
|
||||||
{ required: true, message: '用户名不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
mail: [
|
|
||||||
{ required: true, message: '邮箱不能为空', trigger: 'blur' },
|
|
||||||
{ type: 'email', message: '邮箱格式错误', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
password: [
|
|
||||||
{ required: true, message: '密码不能为空', trigger: 'blur' },
|
|
||||||
{ type: 'string', min: 6, message: '密码长度不能小于6', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
repassword: [
|
|
||||||
{ validator: validatePassCheck, trigger: 'blur' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
...mapMutations(['SET_SIGN_UP_SETP']),
|
|
||||||
...mapActions(['addSignUpUser']),
|
|
||||||
handleSubmit (name) {
|
|
||||||
const father = this;
|
|
||||||
this.$refs[name].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$Message.success('注册成功');
|
|
||||||
const userinfo = {
|
|
||||||
username: this.formValidate.name,
|
|
||||||
password: this.formValidate.password,
|
|
||||||
mail: this.formValidate.mail,
|
|
||||||
phone: this.$route.query.phone
|
|
||||||
};
|
|
||||||
this.addSignUpUser(userinfo);
|
|
||||||
father.SET_SIGN_UP_SETP(2);
|
|
||||||
this.$router.push({ path: '/SignUp/signUpDone' });
|
|
||||||
} else {
|
|
||||||
this.$Message.error('注册失败');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
store
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.info-form {
|
|
||||||
width: 90% !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,27 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="container">
|
|
||||||
<p><Icon type="ios-checkmark-outline"></Icon></p>
|
|
||||||
<router-link to="/login"><Button type="success" size="large" long class="btn-success">注册成功</Button></router-link>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'SignUpDone'
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.container {
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.container p {
|
|
||||||
font-size: 90px;
|
|
||||||
color: #2d8cf0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.btn-success {
|
|
||||||
margin-top: 30px;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -60,7 +60,7 @@ export default {
|
||||||
name: 'Home',
|
name: 'Home',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
menuList
|
menuList // 会员中心左侧列表
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
|
@ -67,7 +67,6 @@ const UserMain = resolve => require(['@/pages/home/Main'], resolve);
|
||||||
* 店铺入驻 首页
|
* 店铺入驻 首页
|
||||||
* 店铺入驻 申请页
|
* 店铺入驻 申请页
|
||||||
*/
|
*/
|
||||||
const ShopEntryIndex = resolve => require(['@/pages/shopEntry/index'], resolve);
|
|
||||||
const ShopEntry = resolve => require(['@/pages/shopEntry/shop-entry'], resolve);
|
const ShopEntry = resolve => require(['@/pages/shopEntry/shop-entry'], resolve);
|
||||||
|
|
||||||
Vue.use(Router);
|
Vue.use(Router);
|
||||||
|
@ -168,11 +167,6 @@ export default new Router({
|
||||||
title: '帮助中心'
|
title: '帮助中心'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: '/shopEntryList',
|
|
||||||
name: 'shopEntryList',
|
|
||||||
component: ShopEntryIndex
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: '/shopEntry',
|
path: '/shopEntry',
|
||||||
name: 'shopEntry',
|
name: 'shopEntry',
|
||||||
|
|
Loading…
Reference in New Issue