Browse Source

修改界面

master
xh-pan1 2 years ago
parent
commit
550817394a
  1. 2
      .env.production
  2. BIN
      public/cereshop.ico
  3. BIN
      src/assets/images/chengjiaojine.png
  4. BIN
      src/assets/images/login_account.png
  5. BIN
      src/assets/images/login_bg.png
  6. BIN
      src/assets/images/login_center_bg.png
  7. BIN
      src/assets/images/login_code.png
  8. BIN
      src/assets/images/login_logo.png
  9. BIN
      src/assets/images/login_password.png
  10. BIN
      src/assets/images/login_phone.png
  11. BIN
      src/assets/images/logo.png
  12. BIN
      src/assets/images/refund_order.png
  13. BIN
      src/assets/images/un_submit_order.png
  14. BIN
      src/assets/images/visit_number.png
  15. BIN
      src/assets/images/white_logo.png
  16. 3
      src/components/Tinymce/components/EditorImage.vue
  17. 12
      src/layout/components/Sidebar/Logo.vue
  18. 2
      src/settings.js
  19. 1
      src/styles/sidebar.scss
  20. 14
      src/styles/variables.scss
  21. 34
      src/views/commodity/commodityList/commodityGroup.vue
  22. 2
      src/views/commodity/commoditySystem/addCommodity.vue
  23. 53
      src/views/commodity/commoditySystem/index.vue
  24. 200
      src/views/login/index.vue
  25. 7
      src/views/shop/material/index.vue
  26. 2
      src/views/system/storehouse/Edit.vue

2
.env.production

@ -5,4 +5,4 @@ ENV = 'production'
VUE_APP_BASE_API = '/prod-api'
# VUE_APP_DOMAIN_PREFIX = 'https://ceresdev.zkthink.com/businessapi'
VUE_APP_DOMAIN_PREFIX = 'http://14.22.116.132:81/ceres-business-api'
VUE_APP_DOMAIN_PREFIX = 'https://wechat.hnthee.com/ceres-business-api'

BIN
public/cereshop.ico

BIN
src/assets/images/chengjiaojine.png

After

Width: 142  |  Height: 138  |  Size: 2.8 KiB

BIN
src/assets/images/login_account.png

After

Width: 40  |  Height: 40  |  Size: 1.3 KiB

BIN
src/assets/images/login_bg.png

After

Width: 2880  |  Height: 1802  |  Size: 125 KiB

BIN
src/assets/images/login_center_bg.png

After

Width: 2240  |  Height: 1436  |  Size: 712 KiB

BIN
src/assets/images/login_code.png

After

Width: 40  |  Height: 40  |  Size: 1.6 KiB

BIN
src/assets/images/login_logo.png

After

Width: 891  |  Height: 883  |  Size: 7.6 KiB

BIN
src/assets/images/login_password.png

After

Width: 40  |  Height: 40  |  Size: 761 B

BIN
src/assets/images/login_phone.png

After

Width: 40  |  Height: 40  |  Size: 747 B

BIN
src/assets/images/logo.png

Before

Width: 144  |  Height: 144  |  Size: 4.5 KiB

After

Width: 1591  |  Height: 1336  |  Size: 19 KiB

BIN
src/assets/images/refund_order.png

After

Width: 76  |  Height: 76  |  Size: 2.2 KiB

BIN
src/assets/images/un_submit_order.png

After

Width: 76  |  Height: 76  |  Size: 2.6 KiB

BIN
src/assets/images/visit_number.png

After

Width: 192  |  Height: 164  |  Size: 3.6 KiB

BIN
src/assets/images/white_logo.png

After

Width: 1590  |  Height: 300  |  Size: 8.5 KiB

3
src/components/Tinymce/components/EditorImage.vue

@ -128,9 +128,10 @@ export default {
hasSuccess: false,
uid: file.uid,
width: this.width,
height: this.height
height: this.height,
}
}
img.setAttribute
resolve(true)
})
}

12
src/layout/components/Sidebar/Logo.vue

@ -11,7 +11,7 @@
<h1 class="sidebar-title">{{ title }}</h1>
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img src="../../../assets/images/logo.png" class="sidebar-logo">
<img src="../../../assets/images/white_logo.png" class="sidebar-logo">
<h1 class="sidebar-title">{{ title }}</h1>
</router-link>
</transition>
@ -29,7 +29,7 @@ export default {
},
data() {
return {
title: 'cereShop商家端'
title: 'Thee商家端'
}
}
}
@ -50,7 +50,7 @@ export default {
width: 100%;
height: 50px;
line-height: 50px;
background: #2b2f3a;
background: #ffffff;
text-align: center;
overflow: hidden;
@ -59,14 +59,14 @@ export default {
width: 100%;
& .sidebar-logo {
width: 32px;
height: 32px;
width: 159px;
height: 30px;
vertical-align: middle;
margin-right: 12px;
}
& .sidebar-title {
display: inline-block;
display: none;
margin: 0;
color: #fff;
font-weight: 600;

2
src/settings.js

@ -1,6 +1,6 @@
module.exports = {
title: 'cereShop商家端',
title: 'Thee商家端',
/**
* @type {boolean} true | false

1
src/styles/sidebar.scss

@ -76,6 +76,7 @@
background-color: $menuHover !important;
}
}
.is-active>.el-submenu__title {
color: $subMenuActiveText !important;

14
src/styles/variables.scss

@ -1,13 +1,13 @@
// sidebar
$menuText:#bfcbd9;
$menuActiveText:#409EFF;
$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951
$menuText:#404F64;
$menuActiveText:#183ECD;
$subMenuActiveText:#183ECD; //https://github.com/ElemeFE/element/issues/12951
$menuBg:#304156;
$menuHover:#263445;
$menuBg:#ffffff;
$menuHover:#DFECFF;
$subMenuBg:#1f2d3d;
$subMenuHover:#001528;
$subMenuBg:#ffffff;
$subMenuHover:#DFECFF;
$sideBarWidth: 210px;

34
src/views/commodity/commodityList/commodityGroup.vue

@ -468,23 +468,23 @@ export default {
})
return false
}
if (self.selectGroup === '1') {
if (self.groupData.ids.length === 0) {
self.$message({
message: '请选择手动添加分组商品',
type: 'warning'
})
return false
}
}
if (self.selectGroup === '2') {
if (self.groupData.conditions.length === 0) {
self.$message({
message: '请添加智能筛选条件',
type: 'warning'
})
}
}
// if (self.selectGroup === '1') {
// if (self.groupData.ids.length === 0) {
// self.$message({
// message: '',
// type: 'warning'
// })
// return false
// }
// }
// if (self.selectGroup === '2') {
// if (self.groupData.conditions.length === 0) {
// self.$message({
// message: '',
// type: 'warning'
// })
// }
// }
if (self.selectGroup === '1') {
self.groupData.conditions = []
self.groupData.condition = null

2
src/views/commodity/commoditySystem/addCommodity.vue

@ -28,7 +28,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px" style="padding: 40px 40px;">
<div class="leftCom">
<el-form-item label="商品名称" prop="productName">
<el-input v-model="form.productName" maxlength="20" show-word-limit />
<el-input v-model="form.productName" maxlength="50" show-word-limit />
</el-form-item>
<el-form-item label="卖点简介">
<el-input v-model="form.productBrief" maxlength="50" show-word-limit />

53
src/views/commodity/commoditySystem/index.vue

@ -221,8 +221,10 @@ import {
setProductMember,
clearProductMember,
productExport,
getBrandList
getBrandList,
getGroupSelect
} from '@/api/commodity'
import { storehouseGetAll } from '@/api/shopSys'
export default {
components: {
CommAdd
@ -301,7 +303,11 @@ export default {
},
btnClick(id) {
if (id.permissionName === '批量导入') {
this.sends()
this.checkGroupAndStoreHouse().then(result=>{
if(result){
this.sends()
}
});
} else if (id.permissionName === '新增商品') {
this.add()
}
@ -333,13 +339,44 @@ export default {
},
//
add() {
this.showTinymce = true
if (this.commId) {
this.$refs.child.reset()
let that = this;
//
this.checkGroupAndStoreHouse().then(result=>{
if(result){
that.showTinymce = true
if (that.commId) {
that.$refs.child.reset()
}
that.commidyVisible = true
that.commId = 0
// that.$router.push({ name: 'addCommodity', params: { id: '1' }})
}
});
},
async checkGroupAndStoreHouse(){
const storehouseRes = await storehouseGetAll({ page: 1, pageSize: 10
})
let storehouseList = storehouseRes.data.list
if(storehouseList == null || storehouseList.length <= 0){
this.$message({
type: 'warning',
message: '请先添加仓库信息'
})
return false;
}
this.commidyVisible = true
this.commId = 0
// this.$router.push({ name: 'addCommodity', params: { id: '1' }})
const groupRes = await getGroupSelect({
})
let groupList = groupRes.data
if(groupList == null || groupList.length <= 0){
this.$message({
type: 'warning',
message: '请先添加商品分组信息'
})
return false;
}
return true;
},
//
async productDataExport() {

200
src/views/login/index.vue

@ -2,16 +2,17 @@
<div class="login" :style="'background-image:url(' + Background + ');'">
<!-- 登录 -->
<div v-if="getPassword" class="loginBox">
<div class="leftBox" />
<div class="rightBox">
<h2>商家登录</h2>
<el-row><img src="../../assets/images/login_logo.png" class=" loginBox-logo"/></el-row>
<div class="topText">商家登录</div>
<div class="tabTouch">
<div
<div class="tabTouch"
v-for="(item, index) in activeList"
:key="index"
:class="[tabIndex != index ? 'touchOne' : 'touchTwo']"
@click="touchTab(index)"
>{{ item.name }}</div>
><div :class="[tabIndex != index ? 'touchOne' : 'touchTwo']"
@click="touchTab(index)"><span class="span-label">{{ item.name }}</span> </div>
<div class="touch-space"></div>
</div>
</div>
<!-- 账户密码登录 -->
<div v-if="!tabIndex">
@ -30,9 +31,9 @@
maxlength="11"
auto-complete="off"
placeholder="请输入账户"
class="iptHeight"
class="iptHeight username"
>
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-usericon"></i>
</el-input>
</el-form-item>
<el-form-item prop="password">
@ -45,11 +46,11 @@
placeholder="请输入密码"
@keyup.enter.native="handleAccountLogin"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-password"></i>
</el-input>
</el-form-item>
<div class="boxBottom">
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0 0 25px 0">自动登录</el-checkbox>
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0 0 25px 0; font-size: 14px;">自动登录</el-checkbox>
<div class="forgetPsd" @click="runForgetPassord">忘记密码</div>
</div>
@ -58,7 +59,7 @@
:loading="loading"
size="medium"
type="primary"
style="width: 100%; border-radius: 20px"
class="btn-login"
@click.native.prevent="handleAccountLogin"
>
<span v-if="!loading"> </span>
@ -86,7 +87,7 @@
placeholder="请输入手机号码"
class="iptHeight"
>
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-phone"></i>
</el-input>
</el-form-item>
<el-form-item prop="code">
@ -100,7 +101,7 @@
placeholder="请输入验证码"
@keyup.enter.native="handlePhoneLogin"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-code"></i>
</el-input>
<div class="login-code">
<el-button
@ -123,7 +124,7 @@
:loading="loading"
size="medium"
type="primary"
style="width: 100%; border-radius: 20px"
class="btn-login"
@click.native.prevent="handlePhoneLogin"
>
<span v-if="!loading"> </span>
@ -136,11 +137,11 @@
</div>
<!-- 找回密码 -->
<div v-else class="loginBox">
<el-card class="box-card">
<div class="box-card">
<div slot="header" class="clearfix">
<span style="margin-left: 25px">找回密码</span>
<span>找回密码</span>
<el-button
style="float: right; padding: 3px 0"
style="float: right; padding: 0px 0"
type="text"
@click="getPassword=true"
>返回登录</el-button>
@ -162,7 +163,7 @@
placeholder="请输入手机号码"
class="iptHeight"
>
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-phone"></i>
</el-input>
</el-form-item>
<el-form-item prop="code">
@ -176,7 +177,7 @@
placeholder="请输入验证码"
@keyup.enter.native="forgetPwdFn"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-code"></i>
</el-input>
<div class="login-code">
<el-button
@ -199,7 +200,7 @@
placeholder="新密码"
class="iptHeight"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
<i slot="prefix" class="el-input__icon icon-password"></i>
</el-input>
</el-form-item>
<el-form-item prop="password">
@ -211,15 +212,15 @@
placeholder="确认密码"
class="iptHeight"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
<i slot="prefix" class="el-input__icon icon-password"></i>
</el-input>
</el-form-item>
<el-form-item style="width: 100%">
<el-button
:loading="loading"
size="medium"
type="primary"
style="width: 100%; border-radius: 20px"
class="btn-login"
@click.native.prevent="forgetPwdFn"
>
<span v-if="!loading"> </span>
@ -229,7 +230,7 @@
</el-form>
</div>
</div>
</el-card>
</div>
</div>
<!-- 底部 -->
<div class="login-footer">© 2019 cereshop</div>
@ -243,7 +244,7 @@ import {
getUserId
} from '@/utils/auth' // get token from cookie
const TIME_COUNT = 60 //
import Background from '@/assets/images/background.jpg'
import Background from '@/assets/images/login_bg.png'
import { getCode } from '@/api/account'
const JM = require('@/utils/rsaEncrypt.js')
export default {
@ -285,11 +286,11 @@ export default {
tabIndex: 0,
activeList: [
{
name: '账户密码登录',
name: '账户密码',
id: 0
},
{
name: '手机号码登录',
name: '手机号码',
id: 1
}
],
@ -499,6 +500,46 @@ export default {
</script>
<style rel="stylesheet/scss" lang="scss">
.topText {
font-size: 23px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #183ECD;
line-height: 43px;
}
.icon-usericon{
background-image:url(../../assets/images/login_account.png) ;
background-size:cover;
width: 18px;
height: 18px;
background-size: cover;
margin-left: 4px;
}
.icon-password{
background-image:url(../../assets/images/login_password.png);
background-size:cover;
width: 18px;
height: 18px;
background-size: cover;
margin-left: 4px;
}
.icon-phone{
background-image:url(../../assets/images/login_phone.png) ;
background-size:cover;
width: 18px;
height: 18px;
background-size: cover;
margin-left: 4px;
}
.icon-code{
background-image:url(../../assets/images/login_code.png) ;
background-size:cover;
width: 18px;
height: 18px;
background-size: cover;
margin-left: 4px;
}
.login {
display: flex;
justify-content: center;
@ -507,40 +548,78 @@ export default {
background-size: cover;
}
.loginBox {
width: 900px !important;
height: 600px;
width: 840px !important;
height: 538px;
display: flex;
background: #ffffff;
border-radius: 20px;
background-image:url(../../assets/images/login_center_bg.png) ;
background-size:cover;
}
.loginBox-logo{
width: 34px;
height: 34px;
}
.leftBox {
width: 325px;
width: 50px;
height: 250px;
margin: 180px 0 0 30px;
background: url("../../assets/images/home-content.png") 50% no-repeat;
background-size: cover;
}
.rightBox {
margin: auto;
margin-left: 85px;
margin-top: 68px;
width: 300px;
h2 {
text-align: center;
}
}
.tabTouch {
display: flex;
justify-content: space-around;
align-content: center;
width: 360px;
margin-left: 8px;
flex-direction: row;
// justify-content: space-around;
// align-content: center;
// width: 360px;
// margin-left: 8px;
}
.touchOne {
color: #666666;
padding: 20px;
width: 60px;
height: 43px;
display: flex;
justify-content: center;
align-items: center;
.span-label{
width: 60px;
text-align: center;
vertical-align: middle;
font-size: 12px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #666666;
}
}
.touchTwo {
border-bottom: 1px solid #1890ff;
padding: 20px;
color: #1890ff;
width: 60px;
height: 43px;
border-bottom: 1px solid #183ECD;
display: flex;
justify-content: center;
align-items: center;
.span-label{
width: 60px;
text-align: center;
vertical-align: middle;
font-size: 12px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #183ECD;
}
}
.touch-space{
width:24px;
height:1px;
}
.boxBottom {
display: flex;
@ -549,6 +628,10 @@ export default {
font-size: 14px;
color: #1890ff;
cursor: pointer;
font-family: Source Han Sans CN;
font-weight: 400;
color: #183ECD;
line-height: 17px;
}
}
.title {
@ -558,10 +641,8 @@ export default {
}
.login-form {
border-radius: 6px;
background: #ffffff;
width: 385px;
padding: 25px 25px 5px 25px;
padding-top: 25px;
padding-bottom: 25px;
.el-input {
height: 38px;
input {
@ -575,17 +656,21 @@ export default {
}
}
.iptHeight {
height: 54px !important;
border-radius: 3px;
height: 40px !important;
background: #F9F9F9;
input {
height: 54px !important;
height: 40px !important;
background: #F9F9F9;
font-size: 14px;
}
span {
display: flex;
align-items: center;
}
.input-icon {
width: 20px;
height: 20px;
width: 24px;
height: 24px;
}
}
.login-tip {
@ -596,7 +681,7 @@ export default {
.login-code {
float: right;
.codeBtn {
height: 54px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
@ -613,8 +698,9 @@ export default {
width: 100%;
height: 100%;
.clearfix {
width: 50%;
margin: 10% auto;
margin-left: 85px;
margin-top: 68px;
width: 300px;
}
}
.login-footer {
@ -622,5 +708,11 @@ export default {
bottom: 0;
width: 100%;
text-align: center;
display: none;
}
.btn-login{
width: 100%;
border-radius: 3px;
background-image: linear-gradient(to right, #183ecd,#4184ed);
}
</style>

7
src/views/shop/material/index.vue

@ -236,6 +236,10 @@ export default {
labelType: tab.name
})
this.tipsList = res.data
if(this.tipsList && this.tipsList.length > 0){
this.getTips(0, this.tipsList[0])
}
console.log(res)
},
//
@ -245,6 +249,9 @@ export default {
})
this.tipsList = res.data
console.log(res)
if(this.tipsList && this.tipsList.length > 0){
this.getTips(0, this.tipsList[0])
}
},
//
async getTips(index, arr) {

2
src/views/system/storehouse/Edit.vue

@ -96,7 +96,7 @@
</div>
</el-form-item>
<el-form-item label="是否收银台">
<el-form-item label="是否收银台" style="display: none;">
<el-radio-group v-model="params.ifCashier">
<el-radio :disabled="isDisabled" :label="1"></el-radio>
<el-radio :disabled="isDisabled" :label="0"></el-radio>

Loading…
Cancel
Save