Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yoho-shop-manage
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
陈峰
8 years ago
Commit
97ef8d68dc21a1abeadd8ca79e7569999703b982
1 parent
76ac79ec
render
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
109 additions
and
151 deletions
app/components/global/layout/action-group.vue
app/components/global/layout/index.js
app/components/global/layout/layout-body.vue
app/pages/layout.vue
app/pages/repository/express/list.vue
app/pages/repository/invoice/edit.vue
app/pages/repository/invoice/list.vue
app/pages/repository/jit/components/edit-store.vue
app/pages/repository/jit/jit.vue
app/pages/repository/jit/store/index.js
app/pages/shop/category/components/Operator.vue
app/pages/shop/category/components/ProducList.vue
app/pages/shop/category/list.vue
app/pages/shop/decoration-iframe/shops.vue
app/components/global/layout/action-group.vue
0 → 100644
View file @
97ef8d6
<template>
<div class="action-btn-row">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'action-group'
};
</script>
<style lang="scss">
.action-btn-row {
button {
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
}
</style>
...
...
app/components/global/layout/index.js
View file @
97ef8d6
...
...
@@ -8,6 +8,7 @@ import LayoutList from './layout-list';
import
LayoutTab
from
'./layout-tab'
;
import
LayoutFilter
from
'./layout-filter'
;
import
LayoutPrint
from
'./layout-print'
;
import
ActionGroup
from
'./action-group'
;
export
default
{
UserInfo
,
...
...
@@ -19,5 +20,6 @@ export default {
LayoutList
,
LayoutTab
,
LayoutFilter
,
LayoutPrint
LayoutPrint
,
ActionGroup
};
...
...
app/components/global/layout/layout-body.vue
View file @
97ef8d6
...
...
@@ -6,7 +6,7 @@
<script>
export default {
name: '
LayoutB
ody',
name: '
layout-b
ody',
data() {
return {
};
...
...
app/pages/layout.vue
View file @
97ef8d6
...
...
@@ -192,4 +192,5 @@ div[contenteditable] {
text-align: center;
}
}
</style>
...
...
app/pages/repository/express/list.vue
View file @
97ef8d6
...
...
@@ -145,17 +145,3 @@
}
};
</script>
<style lang="scss">
.action-btn-row {
display: inline-block;
button {
margin-top: 10px;
&:last-child {
margin-bottom: 10px;
}
}
}
</style>
...
...
app/pages/repository/invoice/edit.vue
View file @
97ef8d6
...
...
@@ -106,13 +106,3 @@
}
};
</script>
<style lang="scss">
.action-btn-row {
button {
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
}
</style>
...
...
app/pages/repository/invoice/list.vue
View file @
97ef8d6
...
...
@@ -332,13 +332,3 @@
}
};
</script>
<style lang="scss">
.action-btn-row {
button {
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
}
</style>
...
...
app/pages/repository/jit/components/edit-store.vue
View file @
97ef8d6
...
...
@@ -41,8 +41,10 @@ export default {
key: 'sizeName',
align: 'center',
width: 250,
render(row) {
return `${row.factoryGoodsName}/${row.sizeName}`;
render: (h, params) => {
return (
<span>{params.row.factoryGoodsName}/{params.row.sizeName}</span>
);
}
},
{
...
...
@@ -50,8 +52,13 @@ export default {
key: 'number',
align: 'center',
width: 250,
render() {
return '<i-input v-model="row.number" :maxlength="5"></i-input>';
render: (h, params) => {
return (
<i-input
value={params.row.number}
maxlength={5}
onInput={val => (params.row.number = val)}></i-input>
);
}
}
],
...
...
app/pages/repository/jit/jit.vue
View file @
97ef8d6
...
...
@@ -37,15 +37,17 @@
import {SelectBrand, SelectCategory} from 'components/select';
import EditStore from './components/edit-store';
import ImportStore from './components/import-store';
import
{tableCols, tableData, pageData}
from './store';
import
store
from './store';
export default {
data() {
let storeData = store.apply(this);
return {
self: this,
tableCols,
tableData,
pageData,
tableCols: storeData.tableCols,
tableData: storeData.tableData,
pageData: storeData.pageData,
categoryValue: [],
filters: {
sknCode: {
...
...
app/pages/repository/jit/store/index.js
View file @
97ef8d6
...
...
@@ -3,9 +3,9 @@
* @author: qi.li <qi.li@yoho.cn>
* @date: 2017/04/13
*/
let
tableCols
=
[
{
export
default
function
()
{
return
{
tableCols
:
[{
title
:
'SKN'
,
key
:
'productSkn'
,
align
:
'center'
...
...
@@ -14,8 +14,10 @@ let tableCols = [
title
:
'图片'
,
key
:
'image'
,
align
:
'center'
,
render
()
{
return
'<div> <img v-prod-img="row.productSkn"> </div>'
;
render
:
(
h
,
params
)
=>
{
return
(
<
img
v
-
prod
-
img
=
{
params
.
row
.
productSkn
}
/
>
);
}
},
{
...
...
@@ -32,48 +34,49 @@ let tableCols = [
title
:
'库存'
,
key
:
'storage'
,
align
:
'center'
,
render
(
row
)
{
return
row
.
storage
?
row
.
storage
:
0
;
render
:
(
h
,
params
)
=>
{
return
(
<
span
>
{
params
.
row
.
storage
||
0
}
<
/span
>
);
}
},
{
title
:
'销售价'
,
key
:
'salePrice'
,
align
:
'center'
,
render
(
row
)
{
return
row
.
salePrice
||
0
;
render
:
(
h
,
params
)
=>
{
return
(
<
span
>
{
params
.
row
.
salePrice
||
0
}
<
/span
>
);
}
},
{
title
:
'更新时间'
,
key
:
'editTime'
,
align
:
'center'
,
render
(
row
)
{
return
row
.
editTime
||
'-'
;
render
:
(
h
,
params
)
=>
{
return
(
<
span
>
{
params
.
row
.
editTime
||
'-'
}
<
/span
>
);
}
},
{
title
:
'操作'
,
key
:
'action'
,
align
:
'center'
,
render
:
function
()
{
return
`
<
div
class
=
"action-btn-row"
>
<
i
-
button
type
=
"primary"
size
=
"small"
@
click
=
"editStore(row)"
>
库存编辑
<
/i-button
>
<
/div> `
;
}
render
:
(
h
,
params
)
=>
{
return
(
<
action
-
group
>
<
i
-
button
type
=
"primary"
size
=
"small"
onClick
=
{()
=>
this
.
editStore
(
params
.
row
)}
>
库存编辑
<
/i-button
>
<
/action-group
>
);
}
];
let
tableData
=
[];
let
pageData
=
{
}],
tableData
:
[],
pageData
:
{
total
:
0
,
current
:
1
,
pageSize
:
20
};
export
{
tableCols
,
tableData
,
pageData
};
}
};
}
...
...
app/pages/shop/category/components/Operator.vue
View file @
97ef8d6
...
...
@@ -19,7 +19,7 @@
promise(this.categoryId, this.product.productSKN).then(result => {
if (result.code === 200) {
this.product.checked = isSelected;
this.$emit('
on-change-status
', this.product, isSelected);
this.$emit('
change
', this.product, isSelected);
}
});
}
...
...
app/pages/shop/category/components/ProducList.vue
View file @
97ef8d6
...
...
@@ -65,8 +65,13 @@
{
title: '商品图片',
key: 'productPic',
render: function() {
return '<div><img :src="row.productPic" style="max-width: 80px;" alt=""></div>';
align: 'center',
render: (h, params) => {
return (
<div>
<img src={params.row.productPic} style={{'max-width': '80px'}} />
</div>
);
}
},
{
...
...
@@ -88,8 +93,10 @@
{
title: '上下架状态',
key: 'status',
render: function() {
return '{{sellStatus(row.status)}}';
render: (h, params) => {
return (
<span>{this.sellStatus(params.row.status)}</span>
);
}
},
{
...
...
@@ -99,16 +106,28 @@
{
title: '商品分类',
key: 'saleCategory',
render: function() {
return '<div v-for="i in row.saleCategory">{{i}}</div>';
render: (h, params) => {
return (
<div>
{params.row.saleCategory.map(cate => {
return (
<div>{cate}</div>
);
})}
</div>
);
}
},
{
title: '操作',
key: 'checked',
render: function() {
return `<Operator :category-id="categoryId" :product="row"
@on-change-status="onChangeStatus"> </Operator>`;
render: (h, params) => {
return (
<Operator
category-id={this.categoryId}
product={params.row}
onChange={this.onChangeStatus}></Operator>
);
}
}
],
...
...
app/pages/shop/category/list.vue
View file @
97ef8d6
...
...
@@ -49,12 +49,14 @@
key: 'action',
width: 250,
align: 'center',
render: function() {
return `<div class="action-btn-row">
<i-button type="info" size="small" @click="clickEditName(row)">编辑名称</i-button>
<i-button type="primary" size="small" @click="clickEditRelation(row)">关联商品</i-button>
<i-button type="error" size="small" @click="clickDelete(row)">删除</i-button>
</div>`;
render: (h, params) => {
return (
<action-group>
<i-button type="info" size="small" onClick={() => this.clickEditName(params.row)}>编辑名称</i-button>
<i-button type="primary" size="small" onClick={() => this.clickEditRelation(params.row)}>关联商品</i-button>
<i-button type="error" size="small" onClick={() => this.clickDelete(params.row)}>删除</i-button>
</action-group>
);
}
}
],
...
...
app/pages/shop/decoration-iframe/shops.vue
deleted
100644 → 0
View file @
76ac79e
<template>
<LayoutBody>
<LayoutFilter>
<FilterItem label="店铺">
</FilterItem>
<FilterItem label="品牌">
<SelectBrand v-model="query.brandId"></SelectBrand>
</FilterItem>
<FilterItem label="开店状态">
</FilterItem>
<FilterItem label="装修状态">
</FilterItem>
<FilterItem>
<Button type="primary" >筛选</Button>
<Button >清空条件</Button>
</FilterItem>
</LayoutFilter>
<LayoutList>
<Table border :context="self" :data="data" :columns="columns"></Table>
</LayoutList>
</LayoutBody>
</template>
<script>
import {SelectBrand} from 'components/select';
export default {
data() {
return {
self: this,
query: {},
data: [],
columns: [{
title: '店铺ID',
key: 'shopName',
}, {
title: '店铺名称',
key: 'shopName',
}, {
title: '品牌',
key: 'shopName',
}, {
title: '发布时间',
key: 'shopName',
}, {
title: '状态',
key: 'shopName',
}, {
title: '操作',
render() {
return `
<i-button type="primary" size="small" >尺码维护</i-button>
<i-button type="primary" size="small">内容编辑</i-button>
`;
}
}]
};
},
components: {SelectBrand}
};
</script>
Please
register
or
login
to post a comment