Authored by 李奇

添加批量导出功能路由

... ... @@ -37,8 +37,14 @@ let purviews = {
},
vips: {
name: 'VIP价格商品',
path: '/product/vips',
menu: true
},
output: {
name: '批量功能',
path: '/product/output',
menu: true,
path: '/product/vips'
own: true
}
}
}
... ...
... ... @@ -2,8 +2,9 @@ import create from './create';
import onsale from './onsale';
import offsale from './offsale';
import vips from './vips';
import output from './output';
let routers = [create, onsale, offsale, vips];
let routers = [create, onsale, offsale, vips, output];
routers.forEach(router => {
router.path = `/product${router.path}`;
... ...
const page = r => require.ensure([], () => r(require('./output')), 'product.output');
export default {
path: '/output',
name: 'output',
component: page
};
... ...
<template>
<div class="batch-page">
批量功能
</div>
</template>
<script>
import _ from 'lodash';
import service from 'product-service';
import {SizeEdit} from 'product/size-edit';
import {Brand, Category} from 'product/filter-select';
import {filterFields, initialFields, tableCols, tableData, pageData} from './store';
export default {
data() {
return {
}
},
created() {
},
methods: {
},
components: {
}
}
</script>
<style lang="scss">
.filter-row {
margin-bottom: 20px;
.field-label {
line-height: 32px;
}
}
.hr {
border-top: 1px solid #eee;
margin-bottom: 20px;
}
.batch-row {
margin-bottom: 20px;
}
.list-page {
float: right;
margin-top: 20px;
}
.prd-img {
max-height: 200px;
}
.action-btn-row {
margin-top: 10px;
}
</style>
... ...
/**
* on sale page store
* @author: qi.li <qi.li@yoho.cn>
* @date: 2017/04/13
*/
const auditStatus = {
0: '无状态',
1: '上架待审核',
2: '上架驳回',
3: '已下架'
};
let filterFields = {
sknCode: {
label: 'SKN编码',
labelSpan: 6,
model: '',
holder: '',
fieldSpan: 18
},
prodCode: {
label: '商家编码',
labelSpan: 6,
model: '',
holder: '',
fieldSpan: 18
},
prodName: {
label: '商品名称',
labelSpan: 6,
model: '',
holder: '',
fieldSpan: 18
},
prodBarCode: {
label: '商品条码',
labelSpan: 6,
model: '',
holder: '',
fieldSpan: 18
},
sort: {
first: {
label: '选择类目',
holder: '选择一级类目',
labelSpan: 6,
fieldSpan: 18,
model: ''
},
second: {
label: '二级类目',
holder: '选择二级类目',
fieldSpan: 18,
model: ''
},
third: {
label: '三级类目',
holder: '选择三级类目',
fieldSpan: 18,
model: ''
}
},
brand: {
label: '选择品牌',
labelSpan: 6,
fieldSpan: 18,
model: -1
},
verifyStatus: {
label: '销售状态',
labelSpan: 6,
fieldSpan: 18,
model: -1,
options: [
{
value: -1,
label: '全部'
},
{
value: 0,
label: '已上架'
},
{
value: 1,
label: '已下架'
}
]
},
stockStatus: {
label: '库存情况',
labelSpan: 6,
fieldSpan: 18,
model: -1,
options: [
{
value: -1,
label: '全部'
},
{
value: 1,
label: '有库存'
},
{
value: 0,
label: '无库存'
}
]
},
publishStatus: {
label: '价格状态',
labelSpan: 6,
fieldSpan: 18,
model: -1,
options: [
{
value: -1,
label: '全部'
},
{
value: 0,
label: '启用'
},
{
value: 1,
label: '禁用'
}
]
}
};
let initialFields = JSON.parse(JSON.stringify(filterFields));
let tableCols = [
{
type: 'selection',
width: 60,
align: 'center'
},
{
title: '商品图片',
key: 'image',
align: 'center',
render (row, column, index) {
return `<img class="prd-img" src="${row.picImgUrl}">`;
}
},
{
title: '商品信息',
key: 'info',
align: 'center',
render(row, column, index) {
return `<p>SKN${row.productSkn}</p>
<p>名称:${row.productName}</p>
<p>品牌:${row.brandName}</p>
<p>品类:${row.maxSortName}/${row.middleSortName}/${row.smallSortName}</p>`;
}
},
{
title: '价格(元)',
key: 'price',
align: 'center',
label: 'test',
render(row, column, index) {
row.lineIndex = index;
return `<p>吊牌价:${row.retailPrice}</p>
<p v-if="!row.changePrice">销售价:${row.salesPrice}</p>`;
}
},
{
title: '可售库存',
key: 'stock',
align: 'center',
},
{
key: 'offshelveTime',
align: 'center'
},
{
title: '审核状态',
key: 'verify',
align: 'center',
render(row, column, index) {
return `${auditStatus[row.auditStatus]}`
}
},
{
title: '操作',
key: 'action',
align: 'center',
render: function(row, column, index) {
return `<div class="action-btn-row"><i-button type="primary" size="small" @click="setOnSale(${row.productSkn})">启用</i-button></div>`;
}
}
];
let tableData = [];
let pageData = {
total: 0,
current: 1
};
export {
filterFields,
initialFields,
tableCols,
tableData,
pageData
}
\ No newline at end of file
... ...