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

master
Chopper 2021-12-09 20:21:49 +08:00
commit 97e6fc79ea
44 changed files with 136 additions and 347 deletions

View File

@ -68,12 +68,12 @@
</template> </template>
<script> <script>
import config from '@/config'
export default { export default {
name: "Footer", name: "Footer",
data() { data() {
return { return {
config, config:require('@/config'),
guideArr: [ guideArr: [
// //
["购物指南", "购物流程", "会员介绍", "生活旅行", "常见问题"], ["购物指南", "购物流程", "会员介绍", "生活旅行", "常见问题"],

View File

@ -49,7 +49,7 @@
</template> </template>
<script> <script>
import config from '@/config'
import {articleList} from '@/api/common.js' import {articleList} from '@/api/common.js'
import storage from '@/plugins/storage'; import storage from '@/plugins/storage';
export default { export default {
@ -57,7 +57,7 @@ export default {
props: ['data'], props: ['data'],
data () { data () {
return { return {
config, config:require('@/config'),
userInfo: {}, // userInfo: {}, //
articleList: [], // articleList: [], //
params: { // params: { //

View File

@ -57,7 +57,7 @@
</template> </template>
<script> <script>
import config from '@/config'
import {articleList} from '@/api/common.js' import {articleList} from '@/api/common.js'
import storage from '@/plugins/storage'; import storage from '@/plugins/storage';
export default { export default {
@ -65,7 +65,7 @@ export default {
props: ['data'], props: ['data'],
data () { data () {
return { return {
config, config:require('@/config'),
userInfo: {}, // userInfo: {}, //
articleList: [], // articleList: [], //
params: { // params: { //

View File

@ -31,7 +31,7 @@
<script> <script>
import AMapLoader from '@amap/amap-jsapi-loader'; import AMapLoader from '@amap/amap-jsapi-loader';
import { handleRegion } from '@/api/address.js'; import { handleRegion } from '@/api/address.js';
import config from '@/config'
export default { export default {
name: 'map', name: 'map',
props: { props: {
@ -42,7 +42,7 @@ export default {
}, },
data () { data () {
return { return {
config, config:require('@/config'),
showMap: false, // showMap: false, //
mapSearch: '', // mapSearch: '', //
map: null, // map: null, //

View File

@ -1,4 +1,4 @@
export default { module.exports = {
/** /**
* @description 配置显示在浏览器标签的title底部信息部分信息展示的值 * @description 配置显示在浏览器标签的title底部信息部分信息展示的值
*/ */
@ -16,11 +16,7 @@ export default {
* @description icp备案号 * @description icp备案号
*/ */
icpMessage: "京ICP备20009696号-1", icpMessage: "京ICP备20009696号-1",
/** /**
* @description token在Cookie中存储的天数默认1天
*/
cookieExpires: 1,
/**
* @description 是否使用国际化默认为false * @description 是否使用国际化默认为false
* 如果不使用则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'} * 如果不使用则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
* 用来在菜单中显示文字 * 用来在菜单中显示文字
@ -30,13 +26,5 @@ export default {
* @description 高德web端申请的api key * @description 高德web端申请的api key
*/ */
aMapKey: "b440952723253aa9fe483e698057bf7d", aMapKey: "b440952723253aa9fe483e698057bf7d",
/**
* @description 需要加载的插件
*/
plugin: {
"error-store": {
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
developmentOff: true // 设为true后在开发环境不会收集错误信息方便开发中排查错误
}
}
}; };

View File

@ -10,6 +10,7 @@ import storage from '@/plugins/storage';
// 全局引入封装组件 // 全局引入封装组件
import {InstallAll} from '@/components/global.js'; import {InstallAll} from '@/components/global.js';
let title = require('@/config').title
Vue.use(ViewUI); Vue.use(ViewUI);
Vue.use(InstallAll); Vue.use(InstallAll);
Vue.config.productionTip = false; Vue.config.productionTip = false;
@ -20,7 +21,7 @@ Object.keys(filters).forEach(key => {
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
ViewUI.LoadingBar.start(); 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(); next();
}); });

View File

@ -108,7 +108,7 @@
</template> </template>
<script> <script>
import config from '@/config'
import * as RegExp from '@/plugins/RegExp.js'; import * as RegExp from '@/plugins/RegExp.js';
import { md5 } from '@/plugins/md5.js'; import { md5 } from '@/plugins/md5.js';
import * as apiLogin from '@/api/login.js'; import * as apiLogin from '@/api/login.js';
@ -119,7 +119,7 @@ export default {
components: { Verify }, components: { Verify },
data () { data () {
return { return {
config, config:require('@/config'),
loading: false, // loading: false, //
loading1: false, // loading1: false, //
formFirst: { // formFirst: { //

View File

@ -96,14 +96,14 @@
<Row type="flex" justify="center" class="copyright"> <Row type="flex" justify="center" class="copyright">
Copyright © {{year}} - Present Copyright © {{year}} - Present
<a href="https://pickmall.cn" target="_blank" style="margin: 0 5px">{{config.title}}</a> <a href="https://pickmall.cn" target="_blank" style="margin: 0 5px">{{config.title}}</a>
版权所有 版权所有
</Row> </Row>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import config from '@/config'
import * as RegExp from "@/plugins/RegExp.js"; import * as RegExp from "@/plugins/RegExp.js";
import { md5 } from "@/plugins/md5.js"; import { md5 } from "@/plugins/md5.js";
import * as apiLogin from "@/api/login.js"; import * as apiLogin from "@/api/login.js";
@ -119,7 +119,7 @@ export default {
}, },
data() { data() {
return { return {
config, config:require('@/config'),
type: true, // true false type: true, // true false
formData: { formData: {
// //

View File

@ -97,7 +97,7 @@
</template> </template>
<script> <script>
import config from '@/config'
import * as RegExp from '@/plugins/RegExp.js'; import * as RegExp from '@/plugins/RegExp.js';
import { md5 } from '@/plugins/md5.js'; import { md5 } from '@/plugins/md5.js';
import * as apiLogin from '@/api/login.js'; import * as apiLogin from '@/api/login.js';
@ -108,7 +108,7 @@ export default {
components: { Verify }, components: { Verify },
data () { data () {
return { return {
config, config:require('@/config'),
year: new Date().getFullYear(), year: new Date().getFullYear(),
formRegist: { formRegist: {
// //

View File

@ -87,7 +87,7 @@
<td>{{ goods.num }}</td> <td>{{ goods.num }}</td>
<td>{{ (goods.goodsPrice * goods.num) | unitPrice('¥') }}</td> <td>{{ (goods.goodsPrice * goods.num) | unitPrice('¥') }}</td>
<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.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> <Button v-if="goods.complainStatus == 'NO_APPLY'" @click="complain(order.order.sn, goodsIndex)" type="warning" class="fontsize_12" size="small"></Button>
</td> </td>

View File

@ -4,6 +4,7 @@ const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
const resolve = dir => { const resolve = dir => {
return path.join(__dirname, dir); return path.join(__dirname, dir);
}; };
const configs = require('./src/config')
/** /**
* 在项目开发的时候将生产环境以及开发环境进行判断 * 在项目开发的时候将生产环境以及开发环境进行判断
* 将生产环境中的路径用cdn来进行优化处理 * 将生产环境中的路径用cdn来进行优化处理
@ -128,6 +129,7 @@ module.exports = {
config.resolve.alias.set("@", resolve("src")); config.resolve.alias.set("@", resolve("src"));
config.plugin("html").tap(args => { config.plugin("html").tap(args => {
args[0].cdn = cdn; args[0].cdn = cdn;
args[0].title = configs.title;
return args; return args;
}); });
} }

View File

@ -4,33 +4,11 @@ export default {
*/ */
title: "lilishop", title: "lilishop",
/** /**
* @description token在Cookie中存储的天数默认1天
*/
cookieExpires: 1,
/**
* @description 是否使用国际化默认为false
* 如果不使用则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
* 用来在菜单中显示文字
*/
useI18n: true,
/**
* @description api请求基础路径
*/
/**
* @description 高德web端申请的api key * @description 高德web端申请的api key
*/ */
aMapKey: "b440952723253aa9fe483e698057bf7d", aMapKey: "b440952723253aa9fe483e698057bf7d",
/**
* @description 官网地址
*/
website: "https://www.pickmall.cn",
/** /**
* @description 需要加载的插件 * @description 官网地址
*/ */
plugin: { website: "https://www.pickmall.cn",
"error-store": {
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
developmentOff: true // 设为true后在开发环境不会收集错误信息方便开发中排查错误
}
}
}; };

View File

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

View File

@ -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": "重置缩放"
}
}
}

View File

@ -3,10 +3,7 @@
margin-bottom: 2vh; margin-bottom: 2vh;
} }
.select-count {
font-weight: 600;
color: #40a9ff;
}
.select-clear { .select-clear {
margin-left: 10px; margin-left: 10px;

View File

@ -3,10 +3,6 @@
margin-bottom: 2vh; margin-bottom: 2vh;
} }
.select-title {
font-weight: 600;
color: #40a9ff;
}
.select-clear { .select-clear {
margin-left: 10px; margin-left: 10px;

View File

@ -13,23 +13,32 @@
<!-- 顶部标题栏主体 --> <!-- 顶部标题栏主体 -->
<div class="main-header-con"> <div class="main-header-con">
<div class="main-header"> <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> <message-tip v-if="tipsMessage" :res="tipsMessage"></message-tip>
<!-- 用户头像 --> <!-- 用户头像 -->
<div class="user-dropdown-menu-con"> <div class="user-dropdown-menu-con">
<Row type="flex" justify="end" align="middle" class="user-dropdown-innercon"> <Row type="flex" justify="end" align="middle" class="user-dropdown-innercon">
<Dropdown transfer trigger="hover" @on-click="handleClickUserDropdown"> <Dropdown transfer trigger="hover" @on-click="handleClickUserDropdown">
<div class="dropList"> <div class="dropList">
<span class="main-user-name">{{ userInfo.nickName }}</span> <span class="main-user-name">{{ userInfo.nickName }}</span>
<Icon type="md-arrow-dropdown" /> <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> </div>
<DropdownMenu slot="list"> <DropdownMenu slot="list">
<DropdownItem name="personalCenter">{{ $t('userCenter') }}</DropdownItem> <DropdownItem name="personalCenter">{{
<DropdownItem name="changePass">{{ $t('changePass') }}</DropdownItem> $t("userCenter")
<DropdownItem name="loginOut" divided>{{ $t('logout') }}</DropdownItem> }}</DropdownItem>
<DropdownItem name="changePass">{{ $t("changePass") }}</DropdownItem>
<DropdownItem name="loginOut" divided>{{ $t("logout") }}</DropdownItem>
</DropdownMenu> </DropdownMenu>
</Dropdown> </Dropdown>
</Row> </Row>
@ -60,7 +69,7 @@ import messageTip from "./main-components/message-tip.vue";
import circleLoading from "@/views/my-components/lili/circle-loading.vue"; import circleLoading from "@/views/my-components/lili/circle-loading.vue";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import util from "@/libs/util.js"; import util from "@/libs/util.js";
import { getNoticePage,logout } from "@/api/index"; import { getNoticePage, logout } from "@/api/index";
var client; var client;
export default { export default {
@ -90,7 +99,7 @@ export default {
}, },
lang() { lang() {
return this.$store.state.app.lang; return this.$store.state.app.lang;
} },
}, },
methods: { methods: {
@ -131,13 +140,13 @@ export default {
} }
// 退 // 退
else if (name === "loginOut") { else if (name === "loginOut") {
logout().then(res => { logout().then((res) => {
this.$store.commit("logout", this); this.$store.commit("logout", this);
this.$store.commit('setAdded', false); this.$store.commit("setAdded", false);
this.setStore("accessToken", ""); this.setStore("accessToken", "");
this.setStore("refreshToken", ""); this.setStore("refreshToken", "");
this.$router.push({ path: "/login" }); this.$router.push({ path: "/login" });
}) });
} }
}, },
// //
@ -149,12 +158,7 @@ export default {
}); });
if (!openpageHasTag) { if (!openpageHasTag) {
// 退退 // 退退
util.openNewPage( util.openNewPage(this, name, this.$route.params || {}, this.$route.query || {});
this,
name,
this.$route.params || {},
this.$route.query || {}
);
} }
}, },
// //

View File

@ -42,7 +42,7 @@
width="600" width="600"
:z-index="100" :z-index="100"
:loading="loading" :loading="loading"
mask-closable="false" :mask-closable="false"
@on-ok="newTemplate" @on-ok="newTemplate"
@on-cancel="showModal = false" @on-cancel="showModal = false"
> >

View File

@ -22,7 +22,7 @@
<div class="search-con"> <div class="search-con">
<img :src="require('@/assets/logo.png')" class="logo" alt=""> <img :src="require('@/assets/logo.png')" class="logo" alt="">
<div class="search"> <div class="search">
<i-input v-model="searchData" size="large" placeholder="输入你想查找的商品"> <i-input size="large" placeholder="输入你想查找的商品">
<Button slot="append">搜索</Button> <Button slot="append">搜索</Button>
</i-input> </i-input>
</div> </div>
@ -58,9 +58,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<!-- 顶部广告 --> <!-- 顶部广告 -->
<div class="modal-top-advert"> <div class="modal-top-advert">
@ -87,9 +87,7 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<!-- 分类tab栏 --> <!-- 分类tab栏 -->
<div class="modal-tab-bar"> <div class="modal-tab-bar">
@ -121,7 +119,7 @@
<liliDialog <liliDialog
ref="liliDialog" ref="liliDialog"
@selectedLink="selectedLink" @selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog> ></liliDialog>
<!-- 选择图片 --> <!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide> <Modal width="1200px" v-model="picModelFlag" footer-hide>

View File

@ -147,9 +147,7 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-top-advert"> <div class="modal-top-advert">
<div> <div>
@ -216,7 +214,7 @@
<liliDialog <liliDialog
ref="liliDialog" ref="liliDialog"
@selectedLink="selectedLink" @selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog> ></liliDialog>
<!-- 选择图片 --> <!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide> <Modal width="1200px" v-model="picModelFlag" footer-hide>
@ -287,10 +285,7 @@ export default {
selectedLink(val) { selectedLink(val) {
this.selected.url = this.$options.filters.formatLinkType(val); this.selected.url = this.$options.filters.formatLinkType(val);
}, },
//
handleMoveEnd({ newIndex, oldIndex }) {
console.log("index", newIndex, oldIndex);
},
handleSelectImg() { handleSelectImg() {
// //
this.$refs.ossManage.selectImage = true; this.$refs.ossManage.selectImage = true;

View File

@ -48,9 +48,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-tab-bar"> <div class="modal-tab-bar">
<Button type="primary" size="small" @click="handleAdd"></Button> <Button type="primary" size="small" @click="handleAdd"></Button>
@ -110,7 +110,7 @@
<liliDialog <liliDialog
ref="liliDialog" ref="liliDialog"
@selectedLink="selectedLink" @selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog> ></liliDialog>
<!-- 选择图片 --> <!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide> <Modal width="1200px" v-model="picModelFlag" footer-hide>

View File

@ -25,9 +25,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-tab-bar"> <div class="modal-tab-bar">
<Button type="primary" size="small" @click="handleAdd"></Button> <Button type="primary" size="small" @click="handleAdd"></Button>
@ -81,7 +81,7 @@
<liliDialog <liliDialog
ref="liliDialog" ref="liliDialog"
@selectedLink="selectedLink" @selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog> ></liliDialog>
<!-- 选择图片 --> <!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide> <Modal width="1200px" v-model="picModelFlag" footer-hide>

View File

@ -70,7 +70,7 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
> >
<div class="modal-tab-bar"> <div class="modal-tab-bar">
<Button type="primary" size="small" @click="handleAdd"></Button> <Button type="primary" size="small" @click="handleAdd"></Button>
@ -124,7 +124,7 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
> >
<div class="modal-tab-bar"> <div class="modal-tab-bar">
<Button type="primary" size="small" @click="handleAddGroup"></Button> <Button type="primary" size="small" @click="handleAddGroup"></Button>
@ -173,7 +173,7 @@
<liliDialog <liliDialog
ref="liliDialog" ref="liliDialog"
@selectedLink="selectedLink" @selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog> ></liliDialog>
<!-- 选择图片 --> <!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide> <Modal width="1200px" v-model="picModelFlag" footer-hide>

View File

@ -18,9 +18,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-top-advert"> <div class="modal-top-advert">
<div> <div>
@ -54,7 +54,7 @@
<liliDialog <liliDialog
ref="liliDialog" ref="liliDialog"
@selectedLink="selectedLink" @selectedLink="selectedLink"
@selectedGoodsData="selectedGoodsData"
></liliDialog> ></liliDialog>
<!-- 选择图片 --> <!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide> <Modal width="1200px" v-model="picModelFlag" footer-hide>

View File

@ -72,9 +72,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-top-advert"> <div class="modal-top-advert">
<div> <div>
@ -107,9 +107,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-top-advert"> <div class="modal-top-advert">
<div> <div>

View File

@ -32,9 +32,7 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-tab-bar"> <div class="modal-tab-bar">
<Button type="primary" size='small' @click="handleAddNav"></Button> <Button type="primary" size='small' @click="handleAddNav"></Button>

View File

@ -107,9 +107,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-top-advert"> <div class="modal-top-advert">
<div> <div>
@ -169,9 +169,9 @@
draggable draggable
width="800" width="800"
:z-index="100" :z-index="100"
mask-closable="false" :mask-closable="false"
:on-ok="sureDecorate"
:on-cancel="cancelDecorate"
> >
<div class="modal-top-advert"> <div class="modal-top-advert">
<div><span>主标题</span><Input v-model="selected.title" /></div> <div><span>主标题</span><Input v-model="selected.title" /></div>

View File

@ -3,7 +3,7 @@
<!-- 左侧模块列表 --> <!-- 左侧模块列表 -->
<div class="model-list"> <div class="model-list">
<div class="classification-title">基础模块</div> <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"> <li v-for="(model, index) in modelData" :key="index" class="model-item">
<Icon :type="model.icon" /> <Icon :type="model.icon" />
<span>{{model.name}}</span> <span>{{model.name}}</span>

View File

@ -459,22 +459,32 @@ export const modelData = [
options: { options: {
list: [ list: [
{ {
/**
* 2021/12/9
* 新增索引index判断商品归属分类
* 之前代码没有配置index也不会收到印象
* 新建的楼层将采用索引判断分类
*/
titleWay: [ titleWay: [
{ {
title: "精选", title: "精选",
desc: "电子推荐" desc: "电子推荐",
___index:0,
}, },
{ {
title: "实惠", title: "实惠",
desc: "便宜好货" desc: "便宜好货",
___index:1,
}, },
{ {
title: "进口", title: "进口",
desc: "国际自营" desc: "国际自营",
___index:2,
}, },
{ {
title: "推荐", title: "推荐",
desc: "喂奶推荐" desc: "喂奶推荐",
___index:3,
} }
], ],
listWay: [ listWay: [
@ -483,50 +493,18 @@ export const modelData = [
price: "120", price: "120",
title: title:
" 微软 (Microsoft) Xbox 无线控制器/手柄 湛蓝色 | 3.5mm耳机接口蓝牙连接 Xbox主机电脑平板通用", " 微软 (Microsoft) Xbox 无线控制器/手柄 湛蓝色 | 3.5mm耳机接口蓝牙连接 Xbox主机电脑平板通用",
type: "精选" type: "精选",
___index:0
}, },
{ {
img: "https://i.loli.net/2020/12/05/c9mptI5Pg8qJ6ny.png", img: "https://i.loli.net/2020/12/05/c9mptI5Pg8qJ6ny.png",
title: title:
"宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米", "宏碁(acer) DP高清线1.2版 2K*4KDisplayPort公对公接线笔记本电脑显卡连接显示器视频线1.5米",
price: "190", 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: "精选"
}
] ]
} }
] ]

View File

@ -49,7 +49,7 @@
<div class="decorate-view-link" v-if="res.options.list[0].listWay.length != 0"> <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}}, {{bindGoods.title}},
</div> </div>
@ -183,10 +183,13 @@ export default {
if (!val) return false; if (!val) return false;
let data = val.map((item) => { let data = val.map((item) => {
delete item.selected; delete item.selected;
delete item.intro
delete item.mobileIntro
return { return {
img: item.thumbnail, img: item.thumbnail,
title: item.goodsName, title: item.goodsName,
type: this.selectedGoods.title, type: this.selectedGoods.title,
___index:this.selectedGoods.___index,
...item ...item
}; };
}); });

View File

@ -108,6 +108,12 @@ export default {
}, },
methods: { methods: {
enableBindGoodsShow(){
},
// //
init() { init() {
if (!this.$route.query.id) return false; if (!this.$route.query.id) return false;
@ -156,6 +162,7 @@ export default {
}, },
// //
handleDrawer(val) { handleDrawer(val) {
let newIndex = this.selected; let newIndex = this.selected;
this.decorateData = ""; this.decorateData = "";

View File

@ -7,7 +7,7 @@
</div> </div>
</div> </div>
<div class="goods-list"> <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"> <div class="goods-img">
<Icon size="20" color="#e1251b" @click="closeGoods(item, item_index)" class="goods-icon" type="ios-close-circle" /> <Icon size="20" color="#e1251b" @click="closeGoods(item, item_index)" class="goods-icon" type="ios-close-circle" />
<img :src="item.img" alt /> <img :src="item.img" alt />
@ -31,7 +31,6 @@ export default {
selected: { selected: {
// //
index: 0, index: 0,
val: "",
}, },
}; };
}, },

View File

@ -657,10 +657,6 @@ export default {
margin-bottom: 2vh; margin-bottom: 2vh;
} }
.select-count {
font-weight: 600;
color: #40a9ff;
}
.select-clear { .select-clear {
margin-left: 10px; margin-left: 10px;

View File

@ -146,7 +146,7 @@ export default {
title: "活动时间", title: "活动时间",
width: 150, width: 150,
render: (h, params) => { render: (h, params) => {
if (params.row.getType === "ACTIVITY") { if (params.row.getType === "ACTIVITY" && params.row.rangeDayType == 'DYNAMICTIME') {
return h("div", "长期有效"); return h("div", "长期有效");
} else { } else {
return h("div", { return h("div", {

View File

@ -50,11 +50,11 @@
</div> </div>
<div class="card-item"> <div class="card-item">
<div class="card-item-label">付款笔数</div> <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>
<div class="card-item"> <div class="card-item">
<div class="card-item-label">付款人数</div> <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>
<div class="card-item"> <div class="card-item">
<div class="card-item-label">付款金额</div> <div class="card-item-label">付款金额</div>

View File

@ -103,7 +103,7 @@
<Row > <Row >
<Alert show-icon> <Alert show-icon>
已选择 已选择
<span class="select-count">{{ selectCount }}</span> <span >{{ selectCount }}</span>
<a class="select-clear" @click="clearSelectAll"></a> <a class="select-clear" @click="clearSelectAll"></a>
<span v-if="selectCount > 0" style="margin-left: 15px" <span v-if="selectCount > 0" style="margin-left: 15px"
>共计 {{ totalSize }} 存储量</span >共计 {{ totalSize }} 存储量</span

5
seller/.npmrc Normal file
View File

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

0
seller/.yarnrc Normal file
View File

View File

@ -3,16 +3,7 @@ export default {
* @description 配置显示在浏览器标签的title * @description 配置显示在浏览器标签的title
*/ */
title: "lilishop", title: "lilishop",
/**
* @description token在Cookie中存储的天数默认1天
*/
cookieExpires: 1,
/**
* @description 是否使用国际化默认为false
* 如果不使用则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
* 用来在菜单中显示文字
*/
useI18n: true,
/** /**
* @description 高德web端申请的api key * @description 高德web端申请的api key
*/ */
@ -21,13 +12,5 @@ export default {
* @description 官网地址 * @description 官网地址
*/ */
website: "https://www.pickmall.cn", website: "https://www.pickmall.cn",
/**
* @description 需要加载的插件
*/
plugin: {
"error-store": {
showInHeader: true, // 设为false后不会在顶部显示错误日志徽标
developmentOff: true // 设为true后在开发环境不会收集错误信息方便开发中排查错误
}
}
}; };

View File

@ -1,3 +0,0 @@
import Vue from "vue";
export default new Vue;

View File

@ -1,3 +1,7 @@
/**
* 商家端左侧菜单栏静态数据
*/
export const result = [{ export const result = [{
name: "lili", name: "lili",
level: 0, level: 0,

View File

@ -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": "重置缩放"
}
}
}

View File

@ -11,7 +11,7 @@
</Row> </Row>
<Row v-show="openTip" v-if="status == 'manager'"> <Row v-show="openTip" v-if="status == 'manager'">
<Alert show-icon> <Alert show-icon>
已选择 <span class="select-count">{{ selectCount }}</span> 已选择 <span >{{ selectCount }}</span>
<a class="select-clear" @click="clearSelectAll"></a> <a class="select-clear" @click="clearSelectAll"></a>
</Alert> </Alert>
</Row> </Row>

View File

@ -51,11 +51,11 @@
</div> </div>
<div class="card-item"> <div class="card-item">
<div class="card-item-label">付款笔数</div> <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>
<div class="card-item"> <div class="card-item">
<div class="card-item-label">付款人数</div> <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>
<div class="card-item"> <div class="card-item">
<div class="card-item-label">付款金额</div> <div class="card-item-label">付款金额</div>