Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui
commit
97e6fc79ea
|
@ -68,12 +68,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
|
||||
export default {
|
||||
name: "Footer",
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
guideArr: [
|
||||
// 导航链接
|
||||
["购物指南", "购物流程", "会员介绍", "生活旅行", "常见问题"],
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
|
||||
import {articleList} from '@/api/common.js'
|
||||
import storage from '@/plugins/storage';
|
||||
export default {
|
||||
|
@ -57,7 +57,7 @@ export default {
|
|||
props: ['data'],
|
||||
data () {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
userInfo: {}, // 用户信息
|
||||
articleList: [], // 常见问题
|
||||
params: { // 请求常见问题参数
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
|
||||
import {articleList} from '@/api/common.js'
|
||||
import storage from '@/plugins/storage';
|
||||
export default {
|
||||
|
@ -65,7 +65,7 @@ export default {
|
|||
props: ['data'],
|
||||
data () {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
userInfo: {}, // 用户信息
|
||||
articleList: [], // 常见问题
|
||||
params: { // 请求常见问题参数
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<script>
|
||||
import AMapLoader from '@amap/amap-jsapi-loader';
|
||||
import { handleRegion } from '@/api/address.js';
|
||||
import config from '@/config'
|
||||
|
||||
export default {
|
||||
name: 'map',
|
||||
props: {
|
||||
|
@ -42,7 +42,7 @@ export default {
|
|||
},
|
||||
data () {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
showMap: false, // 展示地图
|
||||
mapSearch: '', // 地图搜索
|
||||
map: null, // 初始化地图
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default {
|
||||
module.exports = {
|
||||
/**
|
||||
* @description 配置显示在浏览器标签的title、底部信息、部分信息展示的值
|
||||
*/
|
||||
|
@ -16,10 +16,6 @@ export default {
|
|||
* @description icp备案号
|
||||
*/
|
||||
icpMessage: "京ICP备20009696号-1",
|
||||
/**
|
||||
* @description token在Cookie中存储的天数,默认1天
|
||||
*/
|
||||
cookieExpires: 1,
|
||||
/**
|
||||
* @description 是否使用国际化,默认为false
|
||||
* 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
|
||||
|
@ -30,13 +26,5 @@ export default {
|
|||
* @description 高德web端申请的api key
|
||||
*/
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d",
|
||||
/**
|
||||
* @description 需要加载的插件
|
||||
*/
|
||||
plugin: {
|
||||
"error-store": {
|
||||
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
|
||||
developmentOff: true // 设为true后在开发环境不会收集错误信息,方便开发中排查错误
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -10,6 +10,7 @@ import storage from '@/plugins/storage';
|
|||
// 全局引入封装组件
|
||||
import {InstallAll} from '@/components/global.js';
|
||||
|
||||
let title = require('@/config').title
|
||||
Vue.use(ViewUI);
|
||||
Vue.use(InstallAll);
|
||||
Vue.config.productionTip = false;
|
||||
|
@ -20,7 +21,7 @@ Object.keys(filters).forEach(key => {
|
|||
|
||||
router.beforeEach((to, from, next) => {
|
||||
ViewUI.LoadingBar.start();
|
||||
window.document.title = to.meta.title === undefined ? 'lili shop' : to.meta.title
|
||||
window.document.title = to.meta.title === undefined ? title : to.meta.title
|
||||
next();
|
||||
});
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
|
||||
import * as RegExp from '@/plugins/RegExp.js';
|
||||
import { md5 } from '@/plugins/md5.js';
|
||||
import * as apiLogin from '@/api/login.js';
|
||||
|
@ -119,7 +119,7 @@ export default {
|
|||
components: { Verify },
|
||||
data () {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
loading: false, // 加载状态
|
||||
loading1: false, // 第二步加载状态
|
||||
formFirst: { // 手机验证码表单
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
|
||||
import * as RegExp from "@/plugins/RegExp.js";
|
||||
import { md5 } from "@/plugins/md5.js";
|
||||
import * as apiLogin from "@/api/login.js";
|
||||
|
@ -119,7 +119,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
type: true, // true 账号登录 false 验证码登录
|
||||
formData: {
|
||||
// 登录表单
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config'
|
||||
|
||||
import * as RegExp from '@/plugins/RegExp.js';
|
||||
import { md5 } from '@/plugins/md5.js';
|
||||
import * as apiLogin from '@/api/login.js';
|
||||
|
@ -108,7 +108,7 @@ export default {
|
|||
components: { Verify },
|
||||
data () {
|
||||
return {
|
||||
config,
|
||||
config:require('@/config'),
|
||||
year: new Date().getFullYear(),
|
||||
formRegist: {
|
||||
// 注册表单
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
<td>{{ goods.num }}</td>
|
||||
<td>{{ (goods.goodsPrice * goods.num) | unitPrice('¥') }}</td>
|
||||
<td>
|
||||
<Button v-if="goods.afterSaleStatus.includes('NOT_APPLIED')" @click="applyAfterSale(goods.sn)" type="info" size="small" class="mb_5">申请售后</Button>
|
||||
<Button v-if="goods.afterSaleStatus.includes('NOT_APPLIED') || goods.afterSaleStatus.includes('PART_AFTER_SALE')" @click="applyAfterSale(goods.sn)" type="info" size="small" class="mb_5">申请售后</Button>
|
||||
<Button v-if="goods.commentStatus == 'UNFINISHED'" @click="comment(order.order.sn, goodsIndex)" size="small" type="success" class="fontsize_12 mb_5" >评价</Button>
|
||||
<Button v-if="goods.complainStatus == 'NO_APPLY'" @click="complain(order.order.sn, goodsIndex)" type="warning" class="fontsize_12" size="small">投诉</Button>
|
||||
</td>
|
||||
|
|
|
@ -4,6 +4,7 @@ const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
|
|||
const resolve = dir => {
|
||||
return path.join(__dirname, dir);
|
||||
};
|
||||
const configs = require('./src/config')
|
||||
/**
|
||||
* 在项目开发的时候将生产环境以及开发环境进行判断
|
||||
* 将生产环境中的路径用cdn来进行优化处理
|
||||
|
@ -128,6 +129,7 @@ module.exports = {
|
|||
config.resolve.alias.set("@", resolve("src"));
|
||||
config.plugin("html").tap(args => {
|
||||
args[0].cdn = cdn;
|
||||
args[0].title = configs.title;
|
||||
return args;
|
||||
});
|
||||
}
|
||||
|
|
|
@ -3,19 +3,6 @@ export default {
|
|||
* @description 配置显示在浏览器标签的title
|
||||
*/
|
||||
title: "lilishop",
|
||||
/**
|
||||
* @description token在Cookie中存储的天数,默认1天
|
||||
*/
|
||||
cookieExpires: 1,
|
||||
/**
|
||||
* @description 是否使用国际化,默认为false
|
||||
* 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
|
||||
* 用来在菜单中显示文字
|
||||
*/
|
||||
useI18n: true,
|
||||
/**
|
||||
* @description api请求基础路径
|
||||
*/
|
||||
/**
|
||||
* @description 高德web端申请的api key
|
||||
*/
|
||||
|
@ -24,13 +11,4 @@ export default {
|
|||
* @description 官网地址
|
||||
*/
|
||||
website: "https://www.pickmall.cn",
|
||||
/**
|
||||
* @description 需要加载的插件
|
||||
*/
|
||||
plugin: {
|
||||
"error-store": {
|
||||
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
|
||||
developmentOff: true // 设为true后在开发环境不会收集错误信息,方便开发中排查错误
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -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;
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"name": "zh",
|
||||
"options": {
|
||||
"months": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
"shortMonths": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
"days": ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
||||
"shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
||||
"toolbar": {
|
||||
"exportToSVG": "下载图表 SVG",
|
||||
"exportToPNG": "下载图表 PNG",
|
||||
"menu": "菜单",
|
||||
"selection": "选择",
|
||||
"selectionZoom": "区域缩放",
|
||||
"zoomIn": "缩小",
|
||||
"zoomOut": "放大",
|
||||
"pan": "移动",
|
||||
"reset": "重置缩放"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,10 +3,7 @@
|
|||
margin-bottom: 2vh;
|
||||
}
|
||||
|
||||
.select-count {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
|
||||
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
|
|
|
@ -3,10 +3,6 @@
|
|||
margin-bottom: 2vh;
|
||||
}
|
||||
|
||||
.select-title {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
|
|
|
@ -13,23 +13,32 @@
|
|||
<!-- 顶部标题栏主体 -->
|
||||
<div class="main-header-con">
|
||||
<div class="main-header">
|
||||
<div :class="{'header-avator-con':navType!=4, 'header-avator-con nav4':navType == 4}">
|
||||
<div
|
||||
:class="{
|
||||
'header-avator-con': navType != 4,
|
||||
'header-avator-con nav4': navType == 4,
|
||||
}"
|
||||
>
|
||||
<!-- 通知消息 -->
|
||||
<message-tip v-if="tipsMessage" :res="tipsMessage"></message-tip>
|
||||
<!-- 用户头像 -->
|
||||
<div class="user-dropdown-menu-con">
|
||||
|
||||
<Row type="flex" justify="end" align="middle" class="user-dropdown-innercon">
|
||||
<Dropdown transfer trigger="hover" @on-click="handleClickUserDropdown">
|
||||
<div class="dropList">
|
||||
<span class="main-user-name">{{ userInfo.nickName }}</span>
|
||||
<Icon type="md-arrow-dropdown" />
|
||||
<Avatar :src="avatarPath" style="background: #fff;margin-left: 10px;"></Avatar>
|
||||
<Avatar
|
||||
:src="avatarPath"
|
||||
style="background: #fff; margin-left: 10px"
|
||||
></Avatar>
|
||||
</div>
|
||||
<DropdownMenu slot="list">
|
||||
<DropdownItem name="personalCenter">{{ $t('userCenter') }}</DropdownItem>
|
||||
<DropdownItem name="changePass">{{ $t('changePass') }}</DropdownItem>
|
||||
<DropdownItem name="loginOut" divided>{{ $t('logout') }}</DropdownItem>
|
||||
<DropdownItem name="personalCenter">{{
|
||||
$t("userCenter")
|
||||
}}</DropdownItem>
|
||||
<DropdownItem name="changePass">{{ $t("changePass") }}</DropdownItem>
|
||||
<DropdownItem name="loginOut" divided>{{ $t("logout") }}</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
</Row>
|
||||
|
@ -90,7 +99,7 @@ export default {
|
|||
},
|
||||
lang() {
|
||||
return this.$store.state.app.lang;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
@ -131,13 +140,13 @@ export default {
|
|||
}
|
||||
// 退出登录
|
||||
else if (name === "loginOut") {
|
||||
logout().then(res => {
|
||||
logout().then((res) => {
|
||||
this.$store.commit("logout", this);
|
||||
this.$store.commit('setAdded', false);
|
||||
this.$store.commit("setAdded", false);
|
||||
this.setStore("accessToken", "");
|
||||
this.setStore("refreshToken", "");
|
||||
this.$router.push({ path: "/login" });
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
//切换标签
|
||||
|
@ -149,12 +158,7 @@ export default {
|
|||
});
|
||||
if (!openpageHasTag) {
|
||||
// 解决关闭当前标签后再点击回退按钮会退到当前页时没有标签的问题
|
||||
util.openNewPage(
|
||||
this,
|
||||
name,
|
||||
this.$route.params || {},
|
||||
this.$route.query || {}
|
||||
);
|
||||
util.openNewPage(this, name, this.$route.params || {}, this.$route.query || {});
|
||||
}
|
||||
},
|
||||
//宽度动态计算
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
width="600"
|
||||
:z-index="100"
|
||||
:loading="loading"
|
||||
mask-closable="false"
|
||||
:mask-closable="false"
|
||||
@on-ok="newTemplate"
|
||||
@on-cancel="showModal = false"
|
||||
>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<div class="search-con">
|
||||
<img :src="require('@/assets/logo.png')" class="logo" alt="">
|
||||
<div class="search">
|
||||
<i-input v-model="searchData" size="large" placeholder="输入你想查找的商品">
|
||||
<i-input size="large" placeholder="输入你想查找的商品">
|
||||
<Button slot="append">搜索</Button>
|
||||
</i-input>
|
||||
</div>
|
||||
|
@ -58,9 +58,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<!-- 顶部广告 -->
|
||||
<div class="modal-top-advert">
|
||||
|
@ -87,9 +87,7 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<!-- 分类tab栏 -->
|
||||
<div class="modal-tab-bar">
|
||||
|
@ -121,7 +119,7 @@
|
|||
<liliDialog
|
||||
ref="liliDialog"
|
||||
@selectedLink="selectedLink"
|
||||
@selectedGoodsData="selectedGoodsData"
|
||||
|
||||
></liliDialog>
|
||||
<!-- 选择图片 -->
|
||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||
|
|
|
@ -147,9 +147,7 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<div class="modal-top-advert">
|
||||
<div>
|
||||
|
@ -216,7 +214,7 @@
|
|||
<liliDialog
|
||||
ref="liliDialog"
|
||||
@selectedLink="selectedLink"
|
||||
@selectedGoodsData="selectedGoodsData"
|
||||
|
||||
></liliDialog>
|
||||
<!-- 选择图片 -->
|
||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||
|
@ -287,10 +285,7 @@ export default {
|
|||
selectedLink(val) {
|
||||
this.selected.url = this.$options.filters.formatLinkType(val);
|
||||
},
|
||||
// 拖动结束回调
|
||||
handleMoveEnd({ newIndex, oldIndex }) {
|
||||
console.log("index", newIndex, oldIndex);
|
||||
},
|
||||
|
||||
handleSelectImg() {
|
||||
// 选择图片
|
||||
this.$refs.ossManage.selectImage = true;
|
||||
|
|
|
@ -48,9 +48,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-tab-bar">
|
||||
<Button type="primary" size="small" @click="handleAdd">添加轮播</Button>
|
||||
|
@ -110,7 +110,7 @@
|
|||
<liliDialog
|
||||
ref="liliDialog"
|
||||
@selectedLink="selectedLink"
|
||||
@selectedGoodsData="selectedGoodsData"
|
||||
|
||||
></liliDialog>
|
||||
<!-- 选择图片 -->
|
||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-tab-bar">
|
||||
<Button type="primary" size="small" @click="handleAdd">添加轮播</Button>
|
||||
|
@ -81,7 +81,7 @@
|
|||
<liliDialog
|
||||
ref="liliDialog"
|
||||
@selectedLink="selectedLink"
|
||||
@selectedGoodsData="selectedGoodsData"
|
||||
|
||||
></liliDialog>
|
||||
<!-- 选择图片 -->
|
||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<div class="modal-tab-bar">
|
||||
<Button type="primary" size="small" @click="handleAdd">添加轮播</Button>
|
||||
|
@ -124,7 +124,7 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<div class="modal-tab-bar">
|
||||
<Button type="primary" size="small" @click="handleAddGroup">添加组</Button>
|
||||
|
@ -173,7 +173,7 @@
|
|||
<liliDialog
|
||||
ref="liliDialog"
|
||||
@selectedLink="selectedLink"
|
||||
@selectedGoodsData="selectedGoodsData"
|
||||
|
||||
></liliDialog>
|
||||
<!-- 选择图片 -->
|
||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-top-advert">
|
||||
<div>
|
||||
|
@ -54,7 +54,7 @@
|
|||
<liliDialog
|
||||
ref="liliDialog"
|
||||
@selectedLink="selectedLink"
|
||||
@selectedGoodsData="selectedGoodsData"
|
||||
|
||||
></liliDialog>
|
||||
<!-- 选择图片 -->
|
||||
<Modal width="1200px" v-model="picModelFlag" footer-hide>
|
||||
|
|
|
@ -72,9 +72,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-top-advert">
|
||||
<div>
|
||||
|
@ -107,9 +107,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-top-advert">
|
||||
<div>
|
||||
|
|
|
@ -32,9 +32,7 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<div class="modal-tab-bar">
|
||||
<Button type="primary" size='small' @click="handleAddNav">添加分类</Button>
|
||||
|
|
|
@ -107,9 +107,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-top-advert">
|
||||
<div>
|
||||
|
@ -169,9 +169,9 @@
|
|||
draggable
|
||||
width="800"
|
||||
:z-index="100"
|
||||
mask-closable="false"
|
||||
:on-ok="sureDecorate"
|
||||
:on-cancel="cancelDecorate"
|
||||
:mask-closable="false"
|
||||
|
||||
|
||||
>
|
||||
<div class="modal-top-advert">
|
||||
<div><span>主标题:</span><Input v-model="selected.title" /></div>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<!-- 左侧模块列表 -->
|
||||
<div class="model-list">
|
||||
<div class="classification-title">基础模块</div>
|
||||
<draggable tag="ul" :list="modelData" v-bind="{group:{ name:'model', pull:'clone',put:false},sort:false, ghostClass: 'ghost'}" @end="handleMoveEnd" @start="handleMoveStart" :move="handleMove">
|
||||
<draggable tag="ul" :list="modelData" v-bind="{group:{ name:'model', pull:'clone',put:false},sort:false, ghostClass: 'ghost'}" >
|
||||
<li v-for="(model, index) in modelData" :key="index" class="model-item">
|
||||
<Icon :type="model.icon" />
|
||||
<span>{{model.name}}</span>
|
||||
|
|
|
@ -459,22 +459,32 @@ export const modelData = [
|
|||
options: {
|
||||
list: [
|
||||
{
|
||||
/**
|
||||
* 2021/12/9
|
||||
* 新增索引(‘index’)判断商品归属分类
|
||||
* 之前代码没有配置index也不会收到印象
|
||||
* 新建的楼层将采用索引判断分类
|
||||
*/
|
||||
titleWay: [
|
||||
{
|
||||
title: "精选",
|
||||
desc: "电子推荐"
|
||||
desc: "电子推荐",
|
||||
___index:0,
|
||||
},
|
||||
{
|
||||
title: "实惠",
|
||||
desc: "便宜好货"
|
||||
desc: "便宜好货",
|
||||
___index:1,
|
||||
},
|
||||
{
|
||||
title: "进口",
|
||||
desc: "国际自营"
|
||||
desc: "国际自营",
|
||||
___index:2,
|
||||
},
|
||||
{
|
||||
title: "推荐",
|
||||
desc: "喂奶推荐"
|
||||
desc: "喂奶推荐",
|
||||
___index:3,
|
||||
}
|
||||
],
|
||||
listWay: [
|
||||
|
@ -483,50 +493,18 @@ export const modelData = [
|
|||
price: "120",
|
||||
title:
|
||||
" 微软 (Microsoft) Xbox 无线控制器/手柄 湛蓝色 | 3.5mm耳机接口蓝牙连接 Xbox主机电脑平板通用",
|
||||
type: "精选"
|
||||
type: "精选",
|
||||
___index:0
|
||||
},
|
||||
{
|
||||
img: "https://i.loli.net/2020/12/05/c9mptI5Pg8qJ6ny.png",
|
||||
title:
|
||||
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
|
||||
price: "190",
|
||||
type: "精选"
|
||||
type: "精选",
|
||||
___index:0
|
||||
},
|
||||
{
|
||||
img: "https://i.loli.net/2020/12/05/QsSYIPF743Hgf8q.png",
|
||||
title:
|
||||
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
|
||||
price: "10",
|
||||
type: "精选"
|
||||
},
|
||||
{
|
||||
img: "https://i.loli.net/2020/12/05/VTwDYcLWnukGxat.png",
|
||||
title:
|
||||
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
|
||||
price: "190",
|
||||
type: "精选"
|
||||
},
|
||||
{
|
||||
img: "https://i.loli.net/2020/12/05/SIFwaVpE4YJAuQf.png",
|
||||
title:
|
||||
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
|
||||
price: "10",
|
||||
type: "精选"
|
||||
},
|
||||
{
|
||||
img: "https://i.loli.net/2021/05/14/KTLSrOVJmEdX12A.png",
|
||||
title:
|
||||
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
|
||||
price: "190",
|
||||
type: "精选"
|
||||
},
|
||||
{
|
||||
img: "https://i.loli.net/2021/05/14/xA5FW2ubiShBdPE.jpg",
|
||||
title:
|
||||
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
|
||||
price: "10",
|
||||
type: "精选"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<div class="decorate-view-link" v-if="res.options.list[0].listWay.length != 0">
|
||||
|
||||
<!-- 绑定商品选择器回调已选择的商品 -->
|
||||
<div v-if="title_item.title == bindGoods.type" v-for="(bindGoods,bindGoodsIndex) in res.options.list[0].listWay" :key="bindGoodsIndex">
|
||||
<div v-if="title_item.___index == bindGoods.___index || title_item.title == bindGoods.type" v-for="(bindGoods,bindGoodsIndex) in res.options.list[0].listWay" :key="bindGoodsIndex">
|
||||
{{bindGoods.title}},
|
||||
</div>
|
||||
|
||||
|
@ -183,10 +183,13 @@ export default {
|
|||
if (!val) return false;
|
||||
let data = val.map((item) => {
|
||||
delete item.selected;
|
||||
delete item.intro
|
||||
delete item.mobileIntro
|
||||
return {
|
||||
img: item.thumbnail,
|
||||
title: item.goodsName,
|
||||
type: this.selectedGoods.title,
|
||||
___index:this.selectedGoods.___index,
|
||||
...item
|
||||
};
|
||||
});
|
||||
|
|
|
@ -108,6 +108,12 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
|
||||
enableBindGoodsShow(){
|
||||
|
||||
},
|
||||
|
||||
|
||||
// 初始化数据
|
||||
init() {
|
||||
if (!this.$route.query.id) return false;
|
||||
|
@ -156,6 +162,7 @@ export default {
|
|||
},
|
||||
// 右侧栏回调
|
||||
handleDrawer(val) {
|
||||
|
||||
let newIndex = this.selected;
|
||||
|
||||
this.decorateData = "";
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="goods-list">
|
||||
<div v-if="selected.val == item.type" class="goods-item" v-for="(item, item_index) in res.list[0].listWay" :key="item_index">
|
||||
<div v-if="selected.index == item.___index || selected.val == item.type" class="goods-item" v-for="(item, item_index) in res.list[0].listWay" :key="item_index">
|
||||
<div class="goods-img">
|
||||
<Icon size="20" color="#e1251b" @click="closeGoods(item, item_index)" class="goods-icon" type="ios-close-circle" />
|
||||
<img :src="item.img" alt />
|
||||
|
@ -31,7 +31,6 @@ export default {
|
|||
selected: {
|
||||
// 已选数据
|
||||
index: 0,
|
||||
val: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
|
|
|
@ -657,10 +657,6 @@ export default {
|
|||
margin-bottom: 2vh;
|
||||
}
|
||||
|
||||
.select-count {
|
||||
font-weight: 600;
|
||||
color: #40a9ff;
|
||||
}
|
||||
|
||||
.select-clear {
|
||||
margin-left: 10px;
|
||||
|
|
|
@ -146,7 +146,7 @@ export default {
|
|||
title: "活动时间",
|
||||
width: 150,
|
||||
render: (h, params) => {
|
||||
if (params.row.getType === "ACTIVITY") {
|
||||
if (params.row.getType === "ACTIVITY" && params.row.rangeDayType == 'DYNAMICTIME') {
|
||||
return h("div", "长期有效");
|
||||
} else {
|
||||
return h("div", {
|
||||
|
|
|
@ -50,11 +50,11 @@
|
|||
</div>
|
||||
<div class="card-item">
|
||||
<div class="card-item-label">付款笔数</div>
|
||||
<div class="card-item-value">{{overViewList.paymentsNum || 0}}</div>
|
||||
<div class="card-item-value">{{overViewList.paymentOrderNum || 0}}</div>
|
||||
</div>
|
||||
<div class="card-item">
|
||||
<div class="card-item-label">付款人数</div>
|
||||
<div class="card-item-value">{{overViewList.paymentOrderNum || 0}}</div>
|
||||
<div class="card-item-value">{{overViewList.paymentsNum || 0}}</div>
|
||||
</div>
|
||||
<div class="card-item">
|
||||
<div class="card-item-label">付款金额</div>
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
<Row >
|
||||
<Alert show-icon>
|
||||
已选择
|
||||
<span class="select-count">{{ selectCount }}</span> 项
|
||||
<span >{{ selectCount }}</span> 项
|
||||
<a class="select-clear" @click="clearSelectAll">清空</a>
|
||||
<span v-if="selectCount > 0" style="margin-left: 15px"
|
||||
>共计 {{ totalSize }} 存储量</span
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
# 默认依赖包指定淘宝源
|
||||
registry=https://registry.npm.taobao.org/
|
||||
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
|
||||
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
|
||||
electron_mirror=https://npm.taobao.org/mirrors/electron/
|
|
@ -3,16 +3,7 @@ export default {
|
|||
* @description 配置显示在浏览器标签的title
|
||||
*/
|
||||
title: "lilishop",
|
||||
/**
|
||||
* @description token在Cookie中存储的天数,默认1天
|
||||
*/
|
||||
cookieExpires: 1,
|
||||
/**
|
||||
* @description 是否使用国际化,默认为false
|
||||
* 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
|
||||
* 用来在菜单中显示文字
|
||||
*/
|
||||
useI18n: true,
|
||||
|
||||
/**
|
||||
* @description 高德web端申请的api key
|
||||
*/
|
||||
|
@ -21,13 +12,5 @@ export default {
|
|||
* @description 官网地址
|
||||
*/
|
||||
website: "https://www.pickmall.cn",
|
||||
/**
|
||||
* @description 需要加载的插件
|
||||
*/
|
||||
plugin: {
|
||||
"error-store": {
|
||||
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
|
||||
developmentOff: true // 设为true后在开发环境不会收集错误信息,方便开发中排查错误
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
import Vue from "vue";
|
||||
|
||||
export default new Vue;
|
|
@ -1,3 +1,7 @@
|
|||
/**
|
||||
* 商家端左侧菜单栏静态数据
|
||||
*/
|
||||
|
||||
export const result = [{
|
||||
name: "lili",
|
||||
level: 0,
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"name": "zh",
|
||||
"options": {
|
||||
"months": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
"shortMonths": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
"days": ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
||||
"shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
||||
"toolbar": {
|
||||
"exportToSVG": "下载图表 SVG",
|
||||
"exportToPNG": "下载图表 PNG",
|
||||
"menu": "菜单",
|
||||
"selection": "选择",
|
||||
"selectionZoom": "区域缩放",
|
||||
"zoomIn": "缩小",
|
||||
"zoomOut": "放大",
|
||||
"pan": "移动",
|
||||
"reset": "重置缩放"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
</Row>
|
||||
<Row v-show="openTip" v-if="status == 'manager'">
|
||||
<Alert show-icon>
|
||||
已选择 <span class="select-count">{{ selectCount }}</span> 项
|
||||
已选择 <span >{{ selectCount }}</span> 项
|
||||
<a class="select-clear" @click="clearSelectAll">清空</a>
|
||||
</Alert>
|
||||
</Row>
|
||||
|
|
|
@ -51,11 +51,11 @@
|
|||
</div>
|
||||
<div class="card-item">
|
||||
<div class="card-item-label">付款笔数</div>
|
||||
<div class="card-item-value">{{overViewList.paymentsNum || 0}}</div>
|
||||
<div class="card-item-value">{{overViewList.paymentOrderNum || 0}}</div>
|
||||
</div>
|
||||
<div class="card-item">
|
||||
<div class="card-item-label">付款人数</div>
|
||||
<div class="card-item-value">{{overViewList.paymentOrderNum || 0}}</div>
|
||||
<div class="card-item-value">{{overViewList.paymentsNum || 0}}</div>
|
||||
</div>
|
||||
<div class="card-item">
|
||||
<div class="card-item-label">付款金额</div>
|
||||
|
|
Loading…
Reference in New Issue