mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2025-12-19 01:15:53 +08:00
优化管理端商家端冗余以及配置内容。抽出公共主题颜色、站点标题等内容。分离config中api配置,修改商家发布中拖拽以及控制台出错的bug。
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// 统一请求路径前缀在libs/axios.js中修改
|
||||
import {getRequest, postRequest, putRequest, deleteRequest, importRequest, getRequestWithNoToken} from '@/libs/axios';
|
||||
import {getRequest} from '@/libs/axios';
|
||||
|
||||
|
||||
// 传给后台citycode 获取城市街道等id
|
||||
|
||||
@@ -6,6 +6,6 @@ export const getChildRegion = (id) => {
|
||||
};
|
||||
|
||||
// 点地图获取地址信息
|
||||
export const getRegion = (parpams) => {
|
||||
return getRequest(`${commonUrl}/common/region/region`, parpams);
|
||||
export const getRegion = (params) => {
|
||||
return getRequest(`${commonUrl}/common/region/region`, params);
|
||||
};
|
||||
|
||||
@@ -13,6 +13,14 @@ export default {
|
||||
* 用来在菜单中显示文字
|
||||
*/
|
||||
useI18n: true,
|
||||
/**
|
||||
* @description 高德web端申请的api key
|
||||
*/
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d",
|
||||
/**
|
||||
* @description 官网地址
|
||||
*/
|
||||
website: "https://www.pickmall.cn",
|
||||
/**
|
||||
* @description 需要加载的插件
|
||||
*/
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
import axios from 'axios';
|
||||
import { getDictData } from '@/api/index';
|
||||
|
||||
let dictUtil = {
|
||||
|
||||
};
|
||||
|
||||
// 获取常用的数据字典保存至vuex
|
||||
dictUtil.initDictData = function (vm) {
|
||||
// axios.get(getDictData + "sex").then(res => {
|
||||
// if(res.success){
|
||||
// vm.$store.commit("setSex", res.result);
|
||||
// }
|
||||
// });
|
||||
// axios.get(getDictData + "message_type").then(res => {
|
||||
// if(res.success){
|
||||
// vm.$store.commit("setMessageType", res.result);
|
||||
// }
|
||||
// });
|
||||
// axios.get(getDictData + "priority").then(res => {
|
||||
// if(res.success){
|
||||
// vm.$store.commit("setPriority", res.result);
|
||||
// }
|
||||
// });
|
||||
// axios.get(getDictData + "leave_type").then(res => {
|
||||
// if(res.success){
|
||||
// vm.$store.commit("setLeaveType", res.result);
|
||||
// }
|
||||
// });
|
||||
};
|
||||
|
||||
export default dictUtil;
|
||||
@@ -1,14 +0,0 @@
|
||||
const hasPermission = {
|
||||
install (Vue, options) {
|
||||
Vue.directive('has', {
|
||||
inserted (el, binding, vnode) {
|
||||
let permTypes = vnode.context.$route.meta.permTypes;
|
||||
if (permTypes&&!permTypes.includes(binding.value)) {
|
||||
el.parentNode.removeChild(el);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
export default hasPermission;
|
||||
@@ -1,16 +0,0 @@
|
||||
import { getStore } from './storage';
|
||||
|
||||
const hasRole = {
|
||||
install (Vue, options) {
|
||||
Vue.directive('hasRole', {
|
||||
inserted (el, binding) {
|
||||
let roles = getStore("roles");
|
||||
if (roles&&!roles.includes(binding.value)) {
|
||||
el.parentNode.removeChild(el);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
export default hasRole;
|
||||
@@ -1,82 +0,0 @@
|
||||
// 导入表格模版数据
|
||||
export const userColumns = [
|
||||
{
|
||||
title: "username",
|
||||
key: "username"
|
||||
},
|
||||
{
|
||||
title: "password",
|
||||
key: "password"
|
||||
},
|
||||
{
|
||||
title: "avatar",
|
||||
key: "avatar"
|
||||
},
|
||||
{
|
||||
title: "departmentId",
|
||||
key: "departmentId"
|
||||
},
|
||||
{
|
||||
title: "mobile",
|
||||
key: "mobile"
|
||||
},
|
||||
{
|
||||
title: "email",
|
||||
key: "email"
|
||||
},
|
||||
{
|
||||
title: "sex",
|
||||
key: "sex"
|
||||
},
|
||||
{
|
||||
title: "address",
|
||||
key: "address"
|
||||
},
|
||||
{
|
||||
title: "type",
|
||||
key: "type"
|
||||
},
|
||||
{
|
||||
title: "status",
|
||||
key: "status"
|
||||
},
|
||||
{
|
||||
title: "delFlag",
|
||||
key: "delFlag"
|
||||
},
|
||||
{
|
||||
title: "defaultRole",
|
||||
key: "defaultRole"
|
||||
}
|
||||
]
|
||||
|
||||
export const userData = [
|
||||
{
|
||||
username: "【记得删除该说明行】唯一用户名不能为空",
|
||||
password: "密码不能为空",
|
||||
avatar: "头像图片链接",
|
||||
departmentId: "部门表主键id",
|
||||
email: "邮箱",
|
||||
mobile: "手机",
|
||||
sex: "性别 0(女) 1(男)",
|
||||
address: "地址数据省市编号 请勿乱填",
|
||||
type: "用户类型 0(普通用户) 1(管理员)",
|
||||
status: "用户状态 0(正常) -1(禁用)",
|
||||
delFlag: "删除标志 0(正常) 1(已删)",
|
||||
defaultRole: "角色 0(不分配默认角色) 1(分配默认注册用户角色)"
|
||||
},
|
||||
{
|
||||
username: "lili",
|
||||
password: "123456",
|
||||
avatar: "https://s1.ax1x.com/2018/05/19/CcdVQP.png",
|
||||
departmentId: "40652338142121984",
|
||||
email: "1012139570@qq.com",
|
||||
sex: 1,
|
||||
address: "[\"510000\",\"510100\",\"510104\"]",
|
||||
mobile: "18782059038",
|
||||
type: 0,
|
||||
status: 0,
|
||||
delFlag: 0,
|
||||
defaultRole: 1
|
||||
}
|
||||
]
|
||||
@@ -1,100 +0,0 @@
|
||||
var idTmr;
|
||||
function getExplorer () {
|
||||
var explorer = window.navigator.userAgent;
|
||||
if (explorer.indexOf('MSIE') >= 0) {
|
||||
// ie
|
||||
return 'ie';
|
||||
} else if (explorer.indexOf('Firefox') >= 0) {
|
||||
// firefox
|
||||
return 'Firefox';
|
||||
} else if (explorer.indexOf('Chrome') >= 0) {
|
||||
// Chrome
|
||||
return 'Chrome';
|
||||
} else if (explorer.indexOf('Opera') >= 0) {
|
||||
// Opera
|
||||
return 'Opera';
|
||||
} else if (explorer.indexOf('Safari') >= 0) {
|
||||
// Safari
|
||||
return 'Safari';
|
||||
};
|
||||
};
|
||||
function tranform (table, aId, name) {
|
||||
let tableHead = table.$children[0].$el;
|
||||
let tableBody = table.$children[1].$el;
|
||||
let tableInnerHTML = '<thead><tr>';
|
||||
if (table.$children.length !== 1) {
|
||||
let len = tableBody.rows.length;
|
||||
let i = -1;
|
||||
while (i < len) {
|
||||
if (i == -1) {
|
||||
Array.from(tableHead.rows[0].children).forEach((td) => {
|
||||
tableInnerHTML = tableInnerHTML + '<th>' + td.children[0].children[0].innerHTML + '</th>';
|
||||
});
|
||||
tableInnerHTML += '</tr><thead><tbody>';
|
||||
} else {
|
||||
tableInnerHTML += '<tr>';
|
||||
Array.from(tableBody.rows[i].children).forEach((td) => {
|
||||
tableInnerHTML = tableInnerHTML + '<td>' + td.children[0].children[0].innerHTML + '</td>';
|
||||
});
|
||||
tableInnerHTML += '</tr>';
|
||||
}
|
||||
i++;
|
||||
}
|
||||
tableInnerHTML += '</tbody>';
|
||||
}
|
||||
|
||||
if (getExplorer() !== 'Safari' && name.substr(-1, 4) !== '.xls') {
|
||||
name += '.xls';
|
||||
}
|
||||
|
||||
if (getExplorer() == 'ie') {
|
||||
var curTbl = table;
|
||||
var oXL = new ActiveXObject('Excel.Application');
|
||||
var oWB = oXL.Workbooks.Add();
|
||||
var xlsheet = oWB.Worksheets(1);
|
||||
var sel = document.body.createTextRange();
|
||||
sel.moveToElementText(curTbl);
|
||||
sel.select();
|
||||
sel.execCommand('Copy');
|
||||
xlsheet.Paste();
|
||||
oXL.Visible = true;
|
||||
|
||||
try {
|
||||
var fname = oXL.Application.GetSaveAsFilename('Excel.xls', 'Excel Spreadsheets (*.xls), *.xls');
|
||||
} catch (e) {
|
||||
print('Nested catch caught ' + e);
|
||||
} finally {
|
||||
oWB.SaveAs(fname);
|
||||
// oWB.Close(savechanges = false);
|
||||
oXL.Quit();
|
||||
oXL = null;
|
||||
idTmr = setInterval(Cleanup(), 1);
|
||||
}
|
||||
} else {
|
||||
tableToExcel(tableInnerHTML, aId, name);
|
||||
}
|
||||
}
|
||||
function Cleanup () {
|
||||
window.clearInterval(idTmr);
|
||||
// CollectGarbage();
|
||||
}
|
||||
let tableToExcel = (function () {
|
||||
let uri = 'data:application/vnd.ms-excel;base64,';
|
||||
let template = '<html><head><meta charset="UTF-8"></head><body><table>{table}</table></body></html>';
|
||||
let base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))); };
|
||||
let format = function (s, c) {
|
||||
return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; });
|
||||
};
|
||||
return function (table, aId, name) {
|
||||
let ctx = {worksheet: name || 'Worksheet', table: table};
|
||||
document.getElementById(aId).href = uri + base64(format(template, ctx));
|
||||
document.getElementById(aId).download = name;
|
||||
document.getElementById(aId).click();
|
||||
};
|
||||
})();
|
||||
|
||||
const table2excel = {};
|
||||
|
||||
table2excel.transform = tranform;
|
||||
|
||||
export default table2excel;
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
import { setStore, getStore, removeStore } from "@/libs/storage";
|
||||
|
||||
import util from "@/libs/util";
|
||||
import dictUtil from "@/libs/dictUtil";
|
||||
|
||||
|
||||
import VueLazyload from "vue-lazyload";
|
||||
|
||||
@@ -83,8 +83,7 @@ new Vue({
|
||||
mounted() {
|
||||
// 初始化菜单
|
||||
util.initRouter(this);
|
||||
// 初始化全局数据字典
|
||||
dictUtil.initDictData(this);
|
||||
|
||||
this.currentPageName = this.$route.name;
|
||||
// 显示打开的页面的列表
|
||||
this.$store.commit("setOpenedList");
|
||||
|
||||
@@ -125,20 +125,11 @@ li {
|
||||
|
||||
// 主题颜色
|
||||
|
||||
$success_color: #19be6b;
|
||||
$warning_color: #ff9900;
|
||||
$error_color: #ed3f14;
|
||||
|
||||
$theme_color: #ed3f14;
|
||||
|
||||
$border_color: #dddee1;
|
||||
$title_color: #8c8c8c;
|
||||
$light_title_color: #1c2438;
|
||||
$light_content_color: #495060;
|
||||
$light_sub_color: #80848f;
|
||||
$light_background_color: #f8f8f9;
|
||||
$light_white_background_color: #fff;
|
||||
// 暗黑主题颜色
|
||||
$dark_background_color: #141414;
|
||||
$dark_sub_background_color: #1d1d1d; //稍微浅一点的
|
||||
$dark_content_color: #d5d5d5;
|
||||
$success_color: #68cabe;
|
||||
$warning_color: #fa6419;
|
||||
$error_color: #ff3c2a;
|
||||
$theme_color: #FF5C58;
|
||||
.theme_color {
|
||||
color: $theme_color !important;
|
||||
}
|
||||
$bg_color: #f1f6fa;
|
||||
|
||||
@@ -2,12 +2,6 @@
|
||||
.operation {
|
||||
margin-bottom: 2vh;
|
||||
}
|
||||
|
||||
.select-count {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
@import "~view-design/src/styles/index.less";
|
||||
// iview 自定义样式
|
||||
|
||||
@primary-color: #ed3f14;
|
||||
@primary-color: #ff5c58;
|
||||
@info-color: #fa6419;
|
||||
@success-color: #68cabe;
|
||||
@error-color: #ff3c2a;
|
||||
@table-thead-bg: #f8f8f9;
|
||||
@table-td-stripe-bg: #f8f8f9;
|
||||
@table-td-hover-bg: #ededed;
|
||||
|
||||
@@ -1,77 +1,32 @@
|
||||
<template>
|
||||
<div class="search">
|
||||
<Card>
|
||||
<Form
|
||||
ref="searchForm"
|
||||
:model="searchForm"
|
||||
inline
|
||||
:label-width="70"
|
||||
class="search-form mb_10"
|
||||
@keydown.enter.native="handleSearch"
|
||||
>
|
||||
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form mb_10"
|
||||
@keydown.enter.native="handleSearch">
|
||||
<Form-item label="商品名称" prop="goodsName">
|
||||
<Input
|
||||
type="text"
|
||||
v-model="searchForm.goodsName"
|
||||
placeholder="请输入商品名称"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
/>
|
||||
<Input type="text" v-model="searchForm.goodsName" placeholder="请输入商品名称" clearable style="width: 200px" />
|
||||
</Form-item>
|
||||
<span v-if="drop">
|
||||
<Form-item label="状态" prop="status">
|
||||
<Select
|
||||
v-model="searchForm.marketEnable"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
>
|
||||
<Option value="DOWN">下架</Option>
|
||||
<Option value="UPPER">上架</Option>
|
||||
</Select>
|
||||
</Form-item>
|
||||
<Form-item label="商品编号" prop="sn">
|
||||
<Input
|
||||
type="text"
|
||||
v-model="searchForm.sn"
|
||||
placeholder="商品编号"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
/>
|
||||
</Form-item>
|
||||
</span>
|
||||
|
||||
<Form-item label="状态" prop="status">
|
||||
<Select v-model="searchForm.marketEnable" placeholder="请选择" clearable style="width: 200px">
|
||||
<Option value="DOWN">下架</Option>
|
||||
<Option value="UPPER">上架</Option>
|
||||
</Select>
|
||||
</Form-item>
|
||||
<Form-item label="商品编号" prop="sn">
|
||||
<Input type="text" v-model="searchForm.sn" placeholder="商品编号" clearable style="width: 200px" />
|
||||
</Form-item>
|
||||
|
||||
<Form-item style="margin-left: -35px" class="br">
|
||||
<Button @click="handleSearch" type="primary" icon="ios-search"
|
||||
>搜索</Button
|
||||
>
|
||||
<Button @click="handleReset">重置</Button>
|
||||
<a class="drop-down" @click="dropDown">
|
||||
{{ dropDownContent }}
|
||||
<Icon :type="dropDownIcon"></Icon>
|
||||
</a>
|
||||
<Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button>
|
||||
|
||||
</Form-item>
|
||||
</Form>
|
||||
<Table
|
||||
:loading="loading"
|
||||
border
|
||||
:columns="columns"
|
||||
:data="data"
|
||||
ref="table"
|
||||
class="mt_10"
|
||||
></Table>
|
||||
<Table :loading="loading" border :columns="columns" :data="data" ref="table" class="mt_10"></Table>
|
||||
<Row type="flex" justify="end" class="mt_10">
|
||||
<Page
|
||||
:current="searchForm.pageNumber"
|
||||
:total="total"
|
||||
:page-size="searchForm.pageSize"
|
||||
@on-change="changePage"
|
||||
@on-page-size-change="changePageSize"
|
||||
:page-size-opts="[10, 20, 50]"
|
||||
size="small"
|
||||
show-total
|
||||
show-elevator
|
||||
show-sizer
|
||||
></Page>
|
||||
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage"
|
||||
@on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" size="small" show-total show-elevator
|
||||
show-sizer></Page>
|
||||
</Row>
|
||||
</Card>
|
||||
</div>
|
||||
@@ -85,22 +40,20 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
loading: true, // 表单加载状态
|
||||
drop: false,
|
||||
dropDownContent: "展开",
|
||||
dropDownIcon: "ios-arrow-down",
|
||||
searchForm: {
|
||||
// 搜索框初始化对象
|
||||
pageNumber: 1, // 当前页数
|
||||
pageSize: 10, // 页面大小
|
||||
sort: "create_time", // 默认排序字段
|
||||
order: "desc", // 默认排序方式
|
||||
saveType: "TEMPLATE"
|
||||
saveType: "TEMPLATE",
|
||||
},
|
||||
columns: [ // 表头
|
||||
columns: [
|
||||
// 表头
|
||||
{
|
||||
title: "ID",
|
||||
key: "id",
|
||||
minWidth: 120
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: "商品原图",
|
||||
@@ -126,14 +79,17 @@ export default {
|
||||
{
|
||||
title: "商品名称",
|
||||
key: "goodsName",
|
||||
minWidth: 120
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: "商品价格",
|
||||
key: "price",
|
||||
render: (h, params) => {
|
||||
return h('div', this.$options.filters.unitPrice(params.row.price, '¥'))
|
||||
}
|
||||
return h(
|
||||
"div",
|
||||
this.$options.filters.unitPrice(params.row.price, "¥")
|
||||
);
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
@@ -143,7 +99,7 @@ export default {
|
||||
{
|
||||
title: "创建时间",
|
||||
key: "createTime",
|
||||
minWidth: 120
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
@@ -187,7 +143,7 @@ export default {
|
||||
},
|
||||
},
|
||||
"删除"
|
||||
)
|
||||
),
|
||||
]);
|
||||
},
|
||||
},
|
||||
@@ -197,15 +153,19 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
init() { // 初始化数据
|
||||
init() {
|
||||
// 初始化数据
|
||||
this.getDataList();
|
||||
},
|
||||
// 编辑模板
|
||||
editGoods(v) {
|
||||
this.$router.push({ name: "goods-template-operation-edit", query: { draftId: v.id } })
|
||||
this.$router.push({
|
||||
name: "goods-template-operation-edit",
|
||||
query: { draftId: v.id },
|
||||
});
|
||||
},
|
||||
// 删除模板
|
||||
removeDraft (id) {
|
||||
removeDraft(id) {
|
||||
let showType = "模版";
|
||||
this.$Modal.confirm({
|
||||
title: "确认审核",
|
||||
@@ -246,17 +206,7 @@ export default {
|
||||
// 重新加载数据
|
||||
this.getDataList();
|
||||
},
|
||||
// 展开、收起搜索项
|
||||
dropDown() {
|
||||
if (this.drop) {
|
||||
this.dropDownContent = "展开";
|
||||
this.dropDownIcon = "ios-arrow-down";
|
||||
} else {
|
||||
this.dropDownContent = "收起";
|
||||
this.dropDownIcon = "ios-arrow-up";
|
||||
}
|
||||
this.drop = !this.drop;
|
||||
},
|
||||
|
||||
// 获取列表数据
|
||||
getDataList() {
|
||||
this.loading = true;
|
||||
@@ -281,22 +231,4 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.search {
|
||||
.operation {
|
||||
margin-bottom: 2vh;
|
||||
}
|
||||
.select-count {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.page {
|
||||
margin-top: 2vh;
|
||||
}
|
||||
.drop-down {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -6,18 +6,20 @@
|
||||
<Row style="flex-direction: column;">
|
||||
<Form ref="usernameLoginForm" :model="form" :rules="rules" class="form">
|
||||
<FormItem prop="username">
|
||||
<Input v-model="form.username" prefix="ios-contact" size="large" clearable placeholder="请输入用户名" autocomplete="off" />
|
||||
<Input v-model="form.username" prefix="ios-contact" size="large" clearable placeholder="请输入用户名"
|
||||
autocomplete="off" />
|
||||
</FormItem>
|
||||
<FormItem prop="password">
|
||||
<Input type="password" v-model="form.password" prefix="ios-lock" size="large" password placeholder="请输入密码" autocomplete="off" />
|
||||
<Input type="password" v-model="form.password" prefix="ios-lock" size="large" password placeholder="请输入密码"
|
||||
autocomplete="off" />
|
||||
</FormItem>
|
||||
</Form>
|
||||
|
||||
<Row>
|
||||
<Button class="login-btn" type="primary" size="large" :loading="loading" @click="submitLogin" long>
|
||||
<div class="login-btn" type="primary" size="large" :loading="loading" @click="submitLogin" long>
|
||||
<span v-if="!loading">登录</span>
|
||||
<span v-else>登录中</span>
|
||||
</Button>
|
||||
</div>
|
||||
</Row>
|
||||
|
||||
</Row>
|
||||
@@ -26,6 +28,8 @@
|
||||
<verify ref="verify" class="verify-con" verifyType="LOGIN" @change="verifyChange"></verify>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -152,33 +156,18 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.row {
|
||||
padding: 70px 50px;
|
||||
border-radius: 0.8em;
|
||||
}
|
||||
|
||||
.login {
|
||||
height: 100%;
|
||||
background: url("../assets/background.png") no-repeat;
|
||||
background-size: 100%;
|
||||
background-position-y: bottom;
|
||||
background-color: #edf0f3;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
|
||||
.ivu-tabs-nav-container {
|
||||
line-height: 2;
|
||||
font-size: 17px;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
zoom: 1;
|
||||
}
|
||||
/deep/ .ivu-row {
|
||||
display: flex;
|
||||
|
||||
}
|
||||
.verify-con {
|
||||
position: absolute;
|
||||
top: 126px;
|
||||
@@ -187,40 +176,26 @@ export default {
|
||||
}
|
||||
.form {
|
||||
padding-top: 1vh;
|
||||
|
||||
.input-verify {
|
||||
width: 67%;
|
||||
}
|
||||
}
|
||||
|
||||
.forget-pass,
|
||||
.other-way {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.login-btn,
|
||||
.other-login {
|
||||
margin-top: 3vh;
|
||||
}
|
||||
|
||||
.icons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.other-icon {
|
||||
.login-btn {
|
||||
background: linear-gradient(135deg, $theme_color 0%, $warning_color 100%);
|
||||
height: 40px;
|
||||
cursor: pointer;
|
||||
margin-left: 10px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: rgba(0, 0, 0, 0.2);
|
||||
|
||||
:hover {
|
||||
color: #2d8cf0;
|
||||
}
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
color: #fff;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
transition: 0.35s;
|
||||
}
|
||||
.login-btn:hover {
|
||||
opacity: .9;
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
.flex {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</Row>
|
||||
<Row type="flex" justify="center" class="copyright">
|
||||
Copyright © {{year}} - Present
|
||||
<a :href="config.website" target="_blank" style="margin:0 5px;">{{config.title}}</a>
|
||||
<a :href="config.website" class="href" target="_blank" style="margin:0 5px;">{{config.title}}</a>
|
||||
</Row>
|
||||
</div>
|
||||
</template>
|
||||
@@ -44,4 +44,5 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -255,20 +255,20 @@ export default {
|
||||
z-index: 11000;
|
||||
list-style-type: none;
|
||||
border-radius: 4px;
|
||||
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 5px 15px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background: #eee;
|
||||
background: rgba($color: $theme_color, $alpha: .1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ivu-tag-primary{
|
||||
/deep/ .ivu-tag-dot-inner{
|
||||
background: red !important;
|
||||
background: $theme_color !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,10 +31,12 @@
|
||||
<script>
|
||||
import AMapLoader from "@amap/amap-jsapi-loader";
|
||||
import { getRegion } from "@/api/common.js";
|
||||
import config from '@/config'
|
||||
export default {
|
||||
name: "map",
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
showMap: false, // 地图显隐
|
||||
mapSearch: "", // 地图搜索
|
||||
map: null, // 初始化地图
|
||||
@@ -71,7 +73,7 @@ export default {
|
||||
},
|
||||
init() {
|
||||
AMapLoader.load({
|
||||
key: "b440952723253aa9fe483e698057bf7d", // 申请好的Web端开发者Key,首次调用 load 时必填
|
||||
key: this.config.aMapKey, // 申请好的Web端开发者Key,首次调用 load 时必填
|
||||
version: "", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
|
||||
plugins: [
|
||||
"AMap.ToolBar",
|
||||
|
||||
@@ -898,37 +898,9 @@ dl dt {
|
||||
}
|
||||
}
|
||||
|
||||
.flex-card {
|
||||
display: flex;
|
||||
height: 600px;
|
||||
}
|
||||
|
||||
.card-item {
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.flex-card-left {
|
||||
flex: 4;
|
||||
//background: #f8f8f8;
|
||||
}
|
||||
|
||||
.flex-card-right {
|
||||
flex: 6;
|
||||
}
|
||||
|
||||
.search {
|
||||
.operation {
|
||||
margin-bottom: 2vh;
|
||||
}
|
||||
|
||||
.select-count {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
.div-item {
|
||||
line-height: 35px;
|
||||
@@ -944,15 +916,6 @@ dl dt {
|
||||
}
|
||||
}
|
||||
|
||||
.div-status-right {
|
||||
margin-top: 20px;
|
||||
margin-left: 30px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.page {
|
||||
margin-top: 2vh;
|
||||
}
|
||||
|
||||
button {
|
||||
margin-left: 5px;
|
||||
@@ -985,7 +948,7 @@ dl dt {
|
||||
}
|
||||
|
||||
.flowPrice {
|
||||
color: #cc0000;
|
||||
color: $theme_color;
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<template slot-scope="{ row }" slot="action">
|
||||
<div class="row">
|
||||
<Button
|
||||
type="primary"
|
||||
type="default"
|
||||
size="small"
|
||||
v-if="row.promotionStatus == 'NEW'"
|
||||
@click="edit(row)"
|
||||
@@ -75,7 +75,6 @@
|
||||
type="error"
|
||||
size="small"
|
||||
v-if="row.promotionStatus != 'START'"
|
||||
ghost
|
||||
@click="remove(row)"
|
||||
>删除</Button
|
||||
>
|
||||
|
||||
@@ -215,16 +215,5 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.seckill {
|
||||
.operation {
|
||||
margin: 10px 0;
|
||||
}
|
||||
.select-count {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -127,7 +127,7 @@ export default {
|
||||
form: {
|
||||
// 添加或编辑表单对象初始化数据
|
||||
storeAddressPath: "", // 店铺地址中文
|
||||
center: "", // 经度 + 纬度
|
||||
storeCenter: "", // 经度 + 纬度
|
||||
longitude: "", //经度
|
||||
latitude: "", //纬度
|
||||
storeAddressDetail: "", //详细地址
|
||||
@@ -194,7 +194,7 @@ export default {
|
||||
this.form = res.result;
|
||||
this.$set(this.form, "address", res.result.storeAddressPath);
|
||||
this.storeName = res.result.storeName;
|
||||
this.form.center = res.result.storeCenter;
|
||||
this.form.storeCenter = res.result.storeCenter;
|
||||
Cookies.set("userInfoSeller", JSON.stringify(res.result));
|
||||
//库存预警数赋值
|
||||
|
||||
@@ -296,7 +296,7 @@ export default {
|
||||
this.$set(this.form, "address", item.addr);
|
||||
this.form.storeAddressPath = item.addr;
|
||||
this.form.storeAddressIdPath = item.addrId;
|
||||
this.form.center = item.position.lat + "," + item.position.lng;
|
||||
this.form.storeCenter = item.position.lng + "," + item.position.lat
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
Reference in New Issue
Block a user