Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui

master
Chopper 2021-05-13 16:33:15 +08:00
commit 967e673647
24 changed files with 104 additions and 713 deletions

View File

@ -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>

View File

@ -156,54 +156,21 @@ export default {
},
data () {
return {
logoImg: '',
couponAvailable: false,
logoImg: '', // logo
couponAvailable: false, //
stepIndex: 0, // ==0==1==2
goodsTotal: 1,
checkedNum: 0,
allChecked: false,
loading: false,
city: '珠海',
cityArr: [
['北京', '上海', '天津', '重庆', '广州'],
['深圳', '河南', '辽宁', '吉林', '江苏'],
['江西', '四川', '海南', '贵州', '云南'],
['西藏', '陕西', '甘肃', '青海', '珠海']
],
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: []
goodsTotal: 1, //
checkedNum: 0, //
allChecked: false, //
loading: false, //
cartList: [], //
couponList: [], //
priceDetailDTO: {}, //
skuList: [] // sku
};
},
computed: {},
methods: {
//
changeCity (city) {
this.city = city;
},
//
goGoodsDetail (skuId, goodsId) {
let routeUrl = this.$router.resolve({
@ -451,17 +418,6 @@ export default {
justify-content: space-between;
margin-bottom: 15px;
}
.city {
padding: 10px 15px;
}
.city-item {
font-weight: bold;
cursor: pointer;
padding: 5px;
}
.city-item:hover {
color: $theme_color;
}
/** 商品列表 */
.cart-goods {
&-title {

View File

@ -39,15 +39,15 @@
<script>
export default {
name: "Feedback",
name: 'Feedback',
data () {
return {
formItem: {
title: "",
content: "",
},
formItem: { //
title: '',
content: ''
}
};
},
}
};
</script>

View File

@ -55,17 +55,13 @@ export default {
}
})
}
},
mounted () {
},
data () {
return {
tagsColor: ['blue', 'green', 'red', 'yellow'],
goodsMsg: {},
isLoading: false,
categoryBar: [],
storeCollected: false
goodsMsg: {}, //
isLoading: false, //
categoryBar: [], //
storeCollected: false //
};
},
methods: {

View File

@ -101,18 +101,18 @@ export default {
},
data () {
return {
sortIndex: 0,
sortIndex: 0, //
sortPriceIndex: false, //
goodsTool: [
goodsTool: [ //
{ title: '综合', en: '' },
{ title: '销量', en: 'buyCount' },
{ title: '评论数', en: 'commentNum' },
{ title: '新品', en: 'releaseTime' }
],
goodsList: [],
loading: false,
total: 0,
params: {
goodsList: [], //
loading: false, //
total: 0, //
params: { //
pageNumber: 0,
pageSize: 20,
categoryId: ''

View File

@ -163,11 +163,11 @@ export default {
username: '',
password: ''
},
formSms: {
formSms: { //
code: '',
mobile: ''
},
verifyStatus: false,
verifyStatus: false, //
ruleInline: {
//
username: [{ required: true, message: '请输入用户名' }],
@ -184,10 +184,10 @@ export default {
],
code: [{ required: true, message: '请输入手机验证码' }]
},
codeMsg: '发送验证码',
interval: '',
time: 60,
logoImg: ''
codeMsg: '发送验证码', //
interval: '', //
time: 60, //
logoImg: '' // logo
};
},
methods: {

View File

@ -73,19 +73,19 @@ export default {
name: 'Merchant',
data () {
return {
storeMsg: {},
cateList: [],
goodsList: [],
total: 0,
params: {
storeMsg: {}, //
cateList: [], //
goodsList: [], //
total: 0, //
params: { //
pageNumber: 1,
pageSize: 20,
keyword: '',
storeId: this.$route.query.id,
storeCatId: ''
},
cateName: '店铺推荐',
storeCollected: false
cateName: '店铺推荐', //
storeCollected: false //
}
},
created () {

View File

@ -74,7 +74,7 @@ export default {
},
data () {
return {
detail: {}
detail: {} //
};
},
mounted () {

View File

@ -10,7 +10,6 @@
<div>注册</div>
</div>
<div class="login-container">
<!-- 注册 -->
<Form
ref="formRegist"
@ -132,12 +131,12 @@ export default {
],
code: [{ required: true, message: '请输入手机验证码' }]
},
verifyStatus: false,
verifyType: 'REGISTER',
codeMsg: '发送验证码',
interval: '',
time: 60,
logoImg: ''
verifyStatus: false, //
verifyType: 'REGISTER', //
codeMsg: '发送验证码', //
interval: '', //
time: 60, //
logoImg: '' // logo
};
},
methods: {

View File

@ -48,9 +48,9 @@ import {couponList, receiveCoupon} from '@/api/member.js'
export default {
data () {
return {
list: [],
total: 0,
params: {
list: [], //
total: 0, //
params: { //
pageNumber: 1,
pageSize: 20
}

View File

@ -119,18 +119,18 @@ export default {
components: { Verify },
data () {
return {
loading: false,
loading1: false,
formFirst: {
loading: false, //
loading1: false, //
formFirst: { //
//
mobile: '',
code: ''
},
form: {
form: { //
password: '',
oncePasd: ''
},
step: 0,
step: 0, //
ruleInline: {
//
mobile: [
@ -144,11 +144,11 @@ export default {
code: [{ required: true, message: '请输入手机验证码' }],
password: [{required: true, message: '密码不能为空'}, {pattern: RegExp.password, message: '密码不能少于6位'}]
},
verifyStatus: false,
verifyType: 'FIND_USER',
codeMsg: '发送验证码',
interval: '',
time: 60
verifyStatus: false, //
verifyType: 'FIND_USER', //
codeMsg: '发送验证码', //
interval: '', //
time: 60 //
};
},
methods: {

View File

@ -39,10 +39,10 @@ export default {
components: { vueQr },
data () {
return {
qrcode: '',
params: this.$route.query,
interval: null,
num: 0
qrcode: '', //
params: this.$route.query, //
interval: null, //
num: 0 //
};
},
methods: {

View File

@ -48,7 +48,7 @@ export default {
data () {
return {
goodsList: [], //
cateList: [{
cateList: [{ //
name: '全部分类',
id: ''
}], //

View File

@ -59,13 +59,13 @@ import {seckillByDay} from '@/api/promotion'
export default {
data () {
return {
list: [],
goodsList: [],
interval: null,
list: [], //
goodsList: [], //
interval: null, //
currIndex: 0, //
currTime: 0, //
diffSeconds: 0, //
nowHour: new Date().getHours()
nowHour: new Date().getHours() //
}
},
watch: {

View File

@ -201,17 +201,17 @@ export default {
},
data () {
return {
action: commonUrl + '/common/upload/file',
accessToken: {},
visible: false,
loading: false,
address: '',
previewPicture: '',
form: {
action: commonUrl + '/common/upload/file', //
accessToken: {}, // token
visible: false, //
loading: false, //
address: '', //
previewPicture: '', // url
form: { //
legalPhoto: [],
licencePhoto: []
},
rules: {
rules: { //
companyName: [{ required: true, message: '请填写公司信息' }],
addressIdPath: [{ required: true, message: '请选择公司所在地' }],
companyAddress: [{ required: true, message: '请填写公司详细地址' }],
@ -245,8 +245,8 @@ export default {
{ pattern: RegExp.IDCard, message: '请输入正确的证件号' }
]
},
uploadLoading1: false,
uploadLoading: false
uploadLoading1: false, // loading
uploadLoading: false // loading
};
},
methods: {

View File

@ -1,5 +0,0 @@
<template>
<div class="shop-list">
<Button>申请入驻</Button>
</div>
</template>

View File

@ -42,7 +42,6 @@
</template>
<script>
import { applySecond } from '@/api/shopentry';
import * as RegExp from '@/plugins/RegExp.js';
export default {
props: {
content: {
@ -52,9 +51,9 @@ export default {
},
data () {
return {
loading: false,
form: {},
rules: {
loading: false, //
form: {}, //
rules: { //
settlementBankAccountName: [
{ required: true, message: '请填写银行开户名称' }
],

View File

@ -72,16 +72,16 @@ export default {
},
data () {
return {
currentIndex: 0,
showAgreement: false,
agreementCon: '',
checked: false,
applyData: {},
firstData: {},
secondData: {},
thirdData: {},
currentIndex: 0, //
showAgreement: false, //
agreementCon: '', //
checked: false, //
applyData: {}, //
firstData: {}, //
secondData: {}, //
thirdData: {}, //
storeDisable: '', // APPLY OPEN CLOSED REFUSED APPLYING
dataReview: true
dataReview: true //
};
},
methods: {

View File

@ -99,7 +99,6 @@
<script>
import { applyThird } from '@/api/shopentry';
import { getCategory } from '@/api/goods';
import * as RegExp from '@/plugins/RegExp.js';
import Map from '@/components/map/index';
import storage from '@/plugins/storage';
import { commonUrl } from '@/plugins/request.js';
@ -113,16 +112,16 @@ export default {
components: { liliMap: Map },
data () {
return {
loading: false,
uploadLoading: false,
action: commonUrl + '/common/upload/file',
accessToken: {},
previewPicture: '',
visible: false,
form: {
loading: false, //
uploadLoading: false, //
action: commonUrl + '/common/upload/file', //
accessToken: {}, // token
previewPicture: '', //
visible: false, //
form: { //
storeLogo: []
},
rules: {
rules: { //
goodsManagementCategory: [
{ required: true, message: '请选择店铺经营类目' }
],
@ -131,7 +130,7 @@ export default {
storeDesc: [{ required: true, message: '请填写店铺简介' }],
storeCenter: [{ required: true, message: '请选择店铺位置' }]
},
categoryList: []
categoryList: [] //
};
},
methods: {

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -60,7 +60,7 @@ export default {
name: 'Home',
data () {
return {
menuList
menuList //
};
},
computed: {

View File

@ -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);
Vue.use(Router);
@ -168,11 +167,6 @@ export default new Router({
title: '帮助中心'
}
},
{
path: '/shopEntryList',
name: 'shopEntryList',
component: ShopEntryIndex
},
{
path: '/shopEntry',
name: 'shopEntry',