Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuy-portal-fe
·
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
liuyue
9 years ago
Commit
59c73d42e1c6e262c059ecee320791640c322c7a
1 parent
e1cf4830
文件上传
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
386 additions
and
285 deletions
client/js/common/upload.js
client/js/goods/brand-cooperation.js
client/js/goods/index.js
client/sass/module/_product.scss
server/stub/service/upload.js
server/views/pages/goods/index.html
client/js/common/upload.js
View file @
59c73d4
var
$
=
require
(
'jquery'
);
var
$
=
require
(
'jquery'
);
$
.
fn
.
ajaxfileupload
=
function
(
options
)
{
var
settings
=
{
params
:
{},
action
:
''
,
onStart
:
function
()
{
},
onComplete
:
function
(
response
)
{
},
onCancel
:
function
()
{
},
validate_extensions
:
true
,
valid_extensions
:
[
'gif'
,
'png'
,
'jpg'
,
'jpeg'
],
submit_button
:
null
};
var
settings
=
{
params
:
{},
action
:
''
,
onStart
:
function
()
{},
onComplete
:
function
(
response
)
{},
onCancel
:
function
()
{},
validate_extensions
:
true
,
valid_extensions
:
[
'gif'
,
'png'
,
'jpg'
,
'jpeg'
],
submit_button
:
null
};
var
uploading_file
=
false
;
var
uploading_file
=
false
;
if
(
options
)
{
$
.
extend
(
settings
,
options
);
}
if
(
options
)
{
$
.
extend
(
settings
,
options
);
}
return
this
.
each
(
function
()
{
var
$element
=
$
(
this
);
if
(
$element
.
data
(
'ajaxUploader-setup'
)
===
true
)
return
;
return
this
.
each
(
function
()
{
var
$element
=
$
(
this
);
if
(
$element
.
data
(
'ajaxUploader-setup'
)
===
true
)
return
;
$element
.
change
(
function
()
{
uploading_file
=
false
;
if
(
settings
.
submit_button
==
null
)
{
upload_file
();
}
});
$element
.
change
(
function
()
{
uploading_file
=
false
;
if
(
settings
.
submit_button
==
null
)
{
upload_file
();
}
});
if
(
settings
.
submit_button
==
null
)
{
}
else
{
settings
.
submit_button
.
click
(
function
(
e
)
{
e
.
preventDefault
();
if
(
!
uploading_file
)
{
upload_file
();
}
});
}
if
(
settings
.
submit_button
==
null
)
{}
else
{
settings
.
submit_button
.
click
(
function
(
e
)
{
e
.
preventDefault
();
if
(
!
uploading_file
)
{
upload_file
();
}
});
}
var
upload_file
=
function
()
{
if
(
$element
.
val
()
==
''
)
return
settings
.
onCancel
.
apply
(
$element
,
[
settings
.
params
]);
var
upload_file
=
function
()
{
if
(
$element
.
val
()
==
''
)
return
settings
.
onCancel
.
apply
(
$element
,
[
settings
.
params
]);
var
ext
=
$element
.
val
().
split
(
'.'
).
pop
().
toLowerCase
();
if
(
true
===
settings
.
validate_extensions
&&
$
.
inArray
(
ext
,
settings
.
valid_extensions
)
==
-
1
)
{
settings
.
onComplete
.
apply
(
$element
,
[{
status
:
false
,
message
:
'文件类型无效.只支持'
+
settings
.
valid_extensions
.
join
(
','
)},
settings
.
params
]);
}
else
{
uploading_file
=
true
;
wrapElement
(
$element
);
var
ret
=
settings
.
onStart
.
apply
(
$element
,
[
settings
.
params
]);
if
(
ret
!==
false
)
{
$element
.
parent
(
'form'
).
submit
(
function
(
e
)
{
e
.
stopPropagation
();
}).
submit
();
}
}
};
$element
.
data
(
'ajaxUploader-setup'
,
true
);
var
handleResponse
=
function
(
loadedFrame
,
element
)
{
var
response
,
responseStr
=
$
(
loadedFrame
).
contents
().
text
();
try
{
response
=
JSON
.
parse
(
responseStr
);
}
catch
(
e
)
{
response
=
responseStr
;
}
element
.
siblings
().
remove
();
element
.
unwrap
();
var
ext
=
$element
.
val
().
split
(
'.'
).
pop
().
toLowerCase
();
if
(
true
===
settings
.
validate_extensions
&&
$
.
inArray
(
ext
,
settings
.
valid_extensions
)
==
-
1
)
{
settings
.
onComplete
.
apply
(
$element
,
[{
status
:
false
,
message
:
'文件类型无效.只支持'
+
settings
.
valid_extensions
.
join
(
','
)
},
settings
.
params
]);
}
else
{
uploading_file
=
true
;
wrapElement
(
$element
);
var
ret
=
settings
.
onStart
.
apply
(
$element
,
[
settings
.
params
]);
if
(
ret
!==
false
)
{
$element
.
parent
(
'form'
).
submit
(
function
(
e
)
{
e
.
stopPropagation
();
}).
submit
();
}
}
};
$element
.
data
(
'ajaxUploader-setup'
,
true
);
var
handleResponse
=
function
(
loadedFrame
,
element
)
{
var
response
,
responseStr
=
$
(
loadedFrame
).
contents
().
text
();
try
{
response
=
JSON
.
parse
(
responseStr
);
}
catch
(
e
)
{
response
=
responseStr
;
}
element
.
siblings
().
remove
();
element
.
unwrap
();
uploading_file
=
false
;
uploading_file
=
false
;
settings
.
onComplete
.
apply
(
element
,
[
response
,
settings
.
params
]);
var
_$element
=
$element
.
clone
();
var
_$parent
=
$element
.
parent
();
$element
.
remove
();
_$parent
.
append
(
_$element
);
_$element
.
ajaxfileupload
(
settings
);
};
var
wrapElement
=
function
(
element
)
{
var
frame_id
=
'ajaxUploader-iframe-'
+
Math
.
round
(
new
Date
().
getTime
()
/
1000
)
$
(
'body'
).
after
(
'<iframe width="0" height="0" style="display:none;" name="'
+
frame_id
+
'" id="'
+
frame_id
+
'"/>'
);
$
(
'#'
+
frame_id
).
get
(
0
).
onload
=
function
()
{
handleResponse
(
this
,
element
);
};
element
.
wrap
(
function
()
{
return
'<form action="'
+
settings
.
action
+
'" method="POST" enctype="multipart/form-data" target="'
+
frame_id
+
'" />'
})
.
before
(
function
()
{
var
key
,
html
=
''
;
for
(
key
in
settings
.
params
)
{
var
paramVal
=
settings
.
params
[
key
];
if
(
typeof
paramVal
===
'function'
)
{
paramVal
=
paramVal
();
}
html
+=
'<input type="hidden" name="'
+
key
+
'" value="'
+
paramVal
+
'" />'
;
}
html
+=
'<input type="hidden" name="filename" value="'
+
$element
.
attr
(
"name"
)
+
'" />'
return
html
;
});
settings
.
onComplete
.
apply
(
element
,
[
response
,
settings
.
params
]);
var
_$element
=
$element
.
clone
();
var
_$parent
=
$element
.
parent
();
$element
.
remove
();
_$parent
.
append
(
_$element
);
_$element
.
ajaxfileupload
(
settings
);
};
var
wrapElement
=
function
(
element
)
{
var
frame_id
=
'ajaxUploader-iframe-'
+
Math
.
round
(
new
Date
().
getTime
()
/
1000
)
$
(
'body'
).
after
(
'<iframe width="0" height="0" style="display:none;" name="'
+
frame_id
+
'" id="'
+
frame_id
+
'"/>'
);
$
(
'#'
+
frame_id
).
get
(
0
).
onload
=
function
()
{
handleResponse
(
this
,
element
);
};
element
.
wrap
(
function
()
{
return
'<form action="'
+
settings
.
action
+
'" method="POST" enctype="multipart/form-data" target="'
+
frame_id
+
'" />'
})
.
before
(
function
()
{
var
key
,
html
=
''
;
for
(
key
in
settings
.
params
)
{
var
paramVal
=
settings
.
params
[
key
];
if
(
typeof
paramVal
===
'function'
)
{
paramVal
=
paramVal
();
}
html
+=
'<input type="hidden" name="'
+
key
+
'" value="'
+
paramVal
+
'" />'
;
}
html
+=
'<input type="hidden" name="filename" value="'
+
$element
.
attr
(
"name"
)
+
'" />'
return
html
;
});
}
}
});
}
module
.
exports
=
$
;
\ No newline at end of file
module
.
exports
=
$
;
\ No newline at end of file
...
...
client/js/goods/brand-cooperation.js
View file @
59c73d4
'use strict'
;
var
$
=
require
(
'jquery'
),
common
=
require
(
'../common/common'
);
common
=
require
(
'../common/common'
);
var
ENUM
=
{
cooperateTypeId
:{
0
:
'未设置'
,
1
:
'代销'
,
2
:
'经销'
,
3
:
'自主'
}
var
ENUM
=
{
cooperateTypeId
:
{
0
:
'未设置'
,
1
:
'代销'
,
2
:
'经销'
,
3
:
'自主'
}
}
new
common
.
dropDown
({
el
:
'#brandCooperation'
});
new
common
.
dropDown
({
el
:
'#brandCooperationSet'
});
new
common
.
dropDown
({
el
:
'#brandCooperation'
});
new
common
.
dropDown
({
el
:
'#brandCooperationSet'
});
var
g
=
new
common
.
grid
({
el
:
"#basicTable"
,
parms
:
function
(){
el
:
"#basicTable"
,
parms
:
function
()
{
return
{
brandName
:
common
.
util
.
__input
(
"brand"
),
brandName
:
common
.
util
.
__input
(
"brand"
),
cooperateTypeId
:
common
.
util
.
__input
(
"brandCooperation"
),
setFlag
:
common
.
util
.
__input
(
"brandCooperationSet"
)
};
},
columns
:[
{
display
:
'ID'
,
name
:
'brandId'
},
{
display
:
'品牌'
,
name
:
'brandName'
},
{
display
:
'合作模式'
,
name
:
'cooperateTypeName'
},
{
display
:
'是否设置'
,
render
:
function
(
item
)
{
if
(
item
.
cooperateTypeId
==
0
)
{
return
'未设置'
;
}
else
{
return
'已设置'
;
columns
:
[{
display
:
'ID'
,
name
:
'brandId'
},
{
display
:
'品牌'
,
name
:
'brandName'
},
{
display
:
'合作模式'
,
name
:
'cooperateTypeName'
},
{
display
:
'是否设置'
,
render
:
function
(
item
)
{
if
(
item
.
cooperateTypeId
==
0
)
{
return
'未设置'
;
}
else
{
return
'已设置'
;
}
}
}},
{
display
:
'操作信息'
,
render
:
function
(
item
)
{
var
html
=
''
;
if
(
item
.
addUserName
)
{
html
+=
'<p>'
+
item
.
addUserName
+
'</p>'
;
},
{
display
:
'操作信息'
,
render
:
function
(
item
)
{
var
html
=
''
;
if
(
item
.
addUserName
)
{
html
+=
'<p>'
+
item
.
addUserName
+
'</p>'
;
}
if
(
item
.
updateTime
)
{
html
+=
'<p>'
+
item
.
updateTime
+
'</p>'
;
}
return
html
;
}
},
{
display
:
'操作'
,
render
:
function
(
item
)
{
var
htmlArr
=
[];
if
(
item
.
updateTime
)
{
html
+=
'<p>'
+
item
.
updateTime
+
'</p>'
;
}
return
html
;
}},
{
display
:
'操作'
,
render
:
function
(
item
){
var
htmlArr
=
[];
if
(
item
.
cooperateTypeId
!=
1
)
{
htmlArr
.
push
(
'<a href="javascript:;" class="btn btn-info btn-xs cooperate-type" data-brandid="'
+
item
.
brandId
+
'" data-id="'
+
item
.
id
+
'" data-type="1">代销</a>'
);
}
if
(
item
.
cooperateTypeId
!=
1
)
{
htmlArr
.
push
(
'<a href="javascript:;" class="btn btn-info btn-xs cooperate-type" data-brandid="'
+
item
.
brandId
+
'" data-id="'
+
item
.
id
+
'" data-type="1">代销</a>'
);
}
if
(
item
.
cooperateTypeId
!=
2
)
{
htmlArr
.
push
(
'<a href="javascript:;" class="btn btn-info btn-xs cooperate-type" data-brandid="'
+
item
.
brandId
+
'" data-id="'
+
item
.
id
+
'" data-type="2">经销</a>'
);
}
if
(
item
.
cooperateTypeId
!=
2
)
{
htmlArr
.
push
(
'<a href="javascript:;" class="btn btn-info btn-xs cooperate-type" data-brandid="'
+
item
.
brandId
+
'" data-id="'
+
item
.
id
+
'" data-type="2">经销</a>'
);
}
if
(
item
.
cooperateTypeId
!=
3
)
{
htmlArr
.
push
(
'<a href="javascript:;" class="btn btn-info btn-xs cooperate-type" data-brandid="'
+
item
.
brandId
+
'" data-id="'
+
item
.
id
+
'" data-type="3">自主</a>'
);
}
if
(
item
.
cooperateTypeId
!=
3
)
{
htmlArr
.
push
(
'<a href="javascript:;" class="btn btn-info btn-xs cooperate-type" data-brandid="'
+
item
.
brandId
+
'" data-id="'
+
item
.
id
+
'" data-type="3">自主</a>'
);
}
return
htmlArr
.
join
(
''
);
}}
return
htmlArr
.
join
(
''
);
}
}
]
});
...
...
@@ -72,20 +94,20 @@ $('#basicTable').on('click', '.cooperate-type', function() {
brandType
=
$
(
this
).
data
(
'type'
);
common
.
util
.
__ajax
({
url
:
'/goods/brandCooperation/update'
,
data
:{
url
:
'/goods/brandCooperation/update'
,
data
:
{
brandId
:
$brandId
,
id
:
$id
,
cooperateTypeId
:
brandType
}
},
function
(
res
)
{
},
function
(
res
)
{
g
.
reload
();
});
});
//筛选
$
(
"#filter-btn"
).
click
(
function
(){
$
(
"#filter-btn"
).
click
(
function
()
{
g
.
reload
(
1
);
});
...
...
@@ -100,29 +122,39 @@ $('#brand').on('keyup', function(event) {
$
(
'#import-btn'
).
on
(
'click'
,
function
()
{
if
(
$
(
'#basicTable'
).
css
(
'display'
)
==
'none'
)
{
g
.
reload
();
}
}
$
(
'#basicTable, .bulk-import'
).
toggle
();
});
$
(
' #sure-change, .priceTable-wrap'
).
hide
();
common
.
edit
.
ajaxfileupload
(
"#upload-input"
,{
params
:{
type
:
"brandCooperation"
,
__type
:
"batch-import"
},
$
(
'#upload-input'
).
after
(
'<div class="file-name btn btn-default">请选择文件</div>'
);
common
.
edit
.
ajaxfileupload
(
"#upload-input"
,
{
params
:
{
type
:
"brandCooperation"
,
__type
:
"batch-import"
},
onStart
:
function
()
{
$
(
'.load-modal'
).
show
();
$
(
'.file-name'
).
text
(
$
(
'#upload-input'
).
val
().
replace
(
"C:\\fakepath\\"
,
""
));
},
onComplete
:
function
(
response
){
onComplete
:
function
(
response
)
{
console
.
log
(
response
);
$
(
'.load-modal'
).
hide
();
if
(
response
.
code
==
200
)
{
common
.
util
.
__tip
(
response
.
message
,
'success'
);
$
(
'.load-modal'
).
hide
();
if
(
response
.
data
.
failFileReason
.
length
>
0
)
{
var
li
=
''
;
$
.
each
(
response
.
data
.
failFileReason
,
function
(
i
,
value
)
{
li
+=
'<li>'
+
value
+
'</li>'
;
});
$
(
'#error-msg'
).
html
(
li
);
}
var
data
=
response
.
data
,
li
=
''
;
$
(
'#priceTable'
).
show
();
$
(
'.success-wrap'
).
hide
();
successList
=
data
.
successList
;
$
.
each
(
data
.
failFileReason
,
function
(
i
,
value
)
{
li
+=
'<li>'
+
value
+
'</li>'
;
});
$error
.
empty
().
html
(
li
);
p
.
init
(
successList
);
}
else
{
common
.
util
.
__tip
(
response
.
message
,
'danger'
);
}
}
});
});
\ No newline at end of file
...
...
client/js/goods/index.js
View file @
59c73d4
'use strict'
;
var
$
=
require
(
'jquery'
),
common
=
require
(
'../common/common'
);
var
ENUM
=
{
vipType
:{
1
:
'正常折扣'
,
2
:
'统一折扣'
,
3
:
'无折扣'
,
4
:
'固定折扣'
,
5
:
'自定义折扣'
},
gender
:
{
1
:
'男'
,
2
:
'女'
,
3
:
'通用'
}
common
=
require
(
'../common/common'
);
var
ENUM
=
{
vipType
:
{
1
:
'正常折扣'
,
2
:
'统一折扣'
,
3
:
'无折扣'
,
4
:
'固定折扣'
,
5
:
'自定义折扣'
},
gender
:
{
1
:
'男'
,
2
:
'女'
,
3
:
'通用'
}
}
new
common
.
dropDown
({
el
:
'#shop'
,
ajax
:
'shopsRest'
el
:
'#shop'
,
ajax
:
'shopsRest'
});
new
common
.
dropDown
({
el
:
'#supplier'
,
ajax
:
'supplier'
});
new
common
.
dropDown
({
el
:
'#supplier'
,
ajax
:
'supplier'
el
:
'#brand'
,
ajax
:
'brand'
});
new
common
.
dropDown
({
el
:
'#brand'
,
ajax
:
'brand'
el
:
'#cate'
,
ajax
:
'maxSort'
});
new
common
.
dropDown
({
el
:
'#cate'
,
ajax
:
'maxSort'
el
:
"#jit"
});
new
common
.
dropDown
({
el
:
"#status"
});
new
common
.
dropDown
({
el
:
"#stock"
});
new
common
.
dropDown
({
el
:
"#sex"
});
new
common
.
dropDown
({
el
:
"#jit"
});
new
common
.
dropDown
({
el
:
"#status"
});
new
common
.
dropDown
({
el
:
"#stock"
});
new
common
.
dropDown
({
el
:
"#sex"
});
var
g
=
new
common
.
grid
({
el
:
"#basicTable"
,
parms
:
function
(){
el
:
"#basicTable"
,
parms
:
function
()
{
return
{
product_skn
:
common
.
util
.
__input
(
"skn"
),
shop_id
:
common
.
util
.
__input
(
"shop"
),
brand_id
:
common
.
util
.
__input
(
"brand"
),
supplier_id
:
common
.
util
.
__input
(
"supplier"
),
is_jit
:
common
.
util
.
__input
(
"jit"
),
is_auditing
:
common
.
util
.
__input
(
"status"
),
stock
:
common
.
util
.
__input
(
"stock"
),
gender
:
common
.
util
.
__input
(
"sex"
),
max_sort_id
:
common
.
util
.
__input
(
"cate"
)
shop_id
:
common
.
util
.
__input
(
"shop"
),
brand_id
:
common
.
util
.
__input
(
"brand"
),
supplier_id
:
common
.
util
.
__input
(
"supplier"
),
is_jit
:
common
.
util
.
__input
(
"jit"
),
is_auditing
:
common
.
util
.
__input
(
"status"
),
stock
:
common
.
util
.
__input
(
"stock"
),
gender
:
common
.
util
.
__input
(
"sex"
),
max_sort_id
:
common
.
util
.
__input
(
"cate"
)
};
},
columns
:[
{
display
:
'SKN'
,
name
:
'product_skn'
},
{
display
:
'商品信息'
,
name
:
'info'
,
render
:
function
(
item
)
{
columns
:
[{
display
:
'SKN'
,
name
:
'product_skn'
},
{
display
:
'商品信息'
,
name
:
'info'
,
render
:
function
(
item
)
{
return
'<p>名称:'
+
item
.
product_name
+
'</p><p>品牌:'
+
item
.
brand_name
+
'</p><p>类目:'
+
item
.
middle_sort_name
+
'/'
+
item
.
small_sort_name
+
'</p>'
;
}},
{
display
:
'供应商/店铺'
,
name
:
'supplier_name'
},
{
display
:
'性别'
,
name
:
'gender'
,
render
:
function
(
item
)
{
}
},
{
display
:
'供应商/店铺'
,
name
:
'supplier_name'
},
{
display
:
'性别'
,
name
:
'gender'
,
render
:
function
(
item
)
{
return
ENUM
.
gender
[
item
.
gender
];
}},
{
display
:
'吊牌价'
,
name
:
'retail_price'
},
{
display
:
'销售价'
,
name
:
'sales_price'
},
{
display
:
'VIP折扣类型'
,
name
:
'vip_discount_type'
,
render
:
function
(
item
)
{
}
},
{
display
:
'吊牌价'
,
name
:
'retail_price'
},
{
display
:
'销售价'
,
name
:
'sales_price'
},
{
display
:
'VIP折扣类型'
,
name
:
'vip_discount_type'
,
render
:
function
(
item
)
{
return
ENUM
.
vipType
[
item
.
vip_discount_type
];
}},
{
display
:
'VIP价'
,
name
:
'vip_price'
},
{
display
:
'白金'
,
name
:
'vip3_price'
},
{
display
:
'金卡'
,
name
:
'vip2_price'
},
{
display
:
'银卡'
,
name
:
'vip1_price'
},
{
display
:
'返币金额'
,
name
:
'return_coin'
},
{
display
:
'操作信息'
,
name
:
'operateInfo'
,
render
:
function
(
item
)
{
}
},
{
display
:
'VIP价'
,
name
:
'vip_price'
},
{
display
:
'白金'
,
name
:
'vip3_price'
},
{
display
:
'金卡'
,
name
:
'vip2_price'
},
{
display
:
'银卡'
,
name
:
'vip1_price'
},
{
display
:
'返币金额'
,
name
:
'return_coin'
},
{
display
:
'操作信息'
,
name
:
'operateInfo'
,
render
:
function
(
item
)
{
var
html
=
''
;
if
(
item
.
founder_name
)
{
html
+=
'<p>'
+
item
.
founder_name
+
'</p>'
;
...
...
@@ -75,11 +121,13 @@ var g = new common.grid({
html
+=
'<p>'
+
item
.
updateTime
+
'</p>'
;
}
return
html
;
}},
{
display
:
'操作'
,
render
:
function
(
item
){
}
},
{
display
:
'操作'
,
render
:
function
(
item
)
{
return
'<a href="javascript:;" class="btn btn-info btn-xs modify-btn" data-skn="'
+
item
.
product_skn
+
'">修改</a>'
}}
]
}
}]
});
g
.
init
(
$
(
"#gridurl"
).
val
());
...
...
@@ -153,7 +201,7 @@ $('#basicTable').on('click', '.modify-btn', function() {
}
}
vipPrice
();
$select
.
on
(
'change'
,
function
()
{
vipPrice
();
...
...
@@ -168,10 +216,8 @@ $('#basicTable').on('click', '.modify-btn', function() {
});
$submitBtn
.
on
(
'click'
,
function
()
{
$
.
ajax
({
type
:
'POST'
,
common
.
util
.
__ajax
({
url
:
'/goods/updatePrice'
,
dataType
:
'json'
,
data
:
{
product_skn
:
skn
,
sales_price
:
$price
.
val
(),
...
...
@@ -182,34 +228,18 @@ $('#basicTable').on('click', '.modify-btn', function() {
vip2_price
:
$vip2Price
.
val
(),
vip3_price
:
$vip3Price
.
val
()
}
}).
then
(
function
(
res
)
{
if
(
res
.
data
.
code
==
200
)
{
prompt
(
'修改成功'
,
'success'
,
function
()
{
g
.
reload
();
});
}
else
{
prompt
(
res
.
data
.
message
,
'danger'
);
},
function
(
res
)
{
if
(
res
.
code
==
200
)
{
g
.
reload
();
}
})
;
})
});
});
});
function
prompt
(
msg
,
type
,
callback
)
{
$
.
gritter
.
add
({
title
:
msg
,
class_name
:
'growl-'
+
type
,
sticky
:
false
,
time
:
'1000'
,
after_open
:
function
()
{
callback
&&
callback
();
}
});
}
//筛选
$
(
"#filter-btn"
).
click
(
function
(){
$
(
"#filter-btn"
).
click
(
function
()
{
g
.
reload
(
1
);
});
...
...
@@ -224,19 +254,25 @@ $('#skn').on('keyup', function(event) {
$
(
'#import-btn'
).
on
(
'click'
,
function
()
{
if
(
$
(
'#basicTable'
).
css
(
'display'
)
==
'none'
)
{
g
.
reload
();
}
}
$
(
'#basicTable, .bulk-import'
).
toggle
();
});
//upload-input
var
successList
=
null
,
$error
=
$
(
'#error-msg'
);
common
.
edit
.
ajaxfileupload
(
"#upload-input"
,{
params
:{
type
:
"price"
,
__type
:
"batch-import"
},
$
(
'#upload-input'
).
after
(
'<div class="file-name btn btn-default">请选择文件</div>'
);
common
.
edit
.
ajaxfileupload
(
"#upload-input"
,
{
params
:
{
type
:
"price"
,
__type
:
"batch-import"
},
onStart
:
function
()
{
$
(
'.load-modal'
).
show
();
$
(
'.file-name'
).
text
(
$
(
'#upload-input'
).
val
().
replace
(
"C:\\fakepath\\"
,
""
));
},
onComplete
:
function
(
response
)
{
onComplete
:
function
(
response
)
{
console
.
log
(
response
);
$
(
'.load-modal'
).
hide
();
if
(
response
.
code
==
200
)
{
...
...
@@ -252,7 +288,7 @@ common.edit.ajaxfileupload("#upload-input",{
$error
.
empty
().
html
(
li
);
p
.
init
(
successList
);
}
else
{
alert
(
response
.
message
);
common
.
util
.
__tip
(
response
.
message
,
'danger'
);
}
}
});
...
...
@@ -262,15 +298,20 @@ common.edit.ajaxfileupload("#upload-input",{
var
isFirst
=
false
,
tableHtml
=
''
;
var
p
=
new
common
.
grid
({
el
:
"#priceTable"
,
columns
:[
{
display
:
'SKN'
,
render
:
function
(
item
)
{
el
:
"#priceTable"
,
columns
:
[{
display
:
'SKN'
,
render
:
function
(
item
)
{
return
item
.
newProductPriceBo
.
product_skn
;
}},
{
display
:
'吊牌价'
,
render
:
function
(
item
)
{
}
},
{
display
:
'吊牌价'
,
render
:
function
(
item
)
{
return
item
.
newProductPriceBo
.
retail_price
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
retail_price
+
'</p>'
;
}},
{
display
:
'销售价'
,
render
:
function
(
item
)
{
}
},
{
display
:
'销售价'
,
render
:
function
(
item
)
{
var
newPrice
=
item
.
newProductPriceBo
,
newPriceHtml
=
newPrice
.
sales_price
;
...
...
@@ -279,12 +320,16 @@ var p = new common.grid({
}
return
newPriceHtml
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
sales_price
+
'</p>'
;
}},
{
display
:
'VIP折扣类型'
,
render
:
function
(
item
)
{
return
ENUM
.
vipType
[
item
.
newProductPriceBo
.
vip_discount_type
]
+
}
},
{
display
:
'VIP折扣类型'
,
render
:
function
(
item
)
{
return
ENUM
.
vipType
[
item
.
newProductPriceBo
.
vip_discount_type
]
+
'<p style="color: #ccc;">'
+
ENUM
.
vipType
[
item
.
oldProductPriceBo
.
vip_discount_type
]
+
'</p>'
;
}},
{
display
:
'VIP价'
,
render
:
function
(
item
)
{
}
},
{
display
:
'VIP价'
,
render
:
function
(
item
)
{
var
newPrice
=
item
.
newProductPriceBo
,
newPriceHtml
=
''
;
...
...
@@ -298,8 +343,10 @@ var p = new common.grid({
newPriceHtml
=
'-'
}
return
newPriceHtml
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
vip_price
+
'</p>'
;
}},
{
display
:
'白金价'
,
render
:
function
(
item
)
{
}
},
{
display
:
'白金价'
,
render
:
function
(
item
)
{
var
newPrice
=
item
.
newProductPriceBo
,
newPriceHtml
=
newPrice
.
vip3_price
;
...
...
@@ -308,8 +355,10 @@ var p = new common.grid({
}
return
newPriceHtml
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
vip3_price
+
'</p>'
;
}},
{
display
:
'金卡价'
,
render
:
function
(
item
)
{
}
},
{
display
:
'金卡价'
,
render
:
function
(
item
)
{
var
newPrice
=
item
.
newProductPriceBo
,
newPriceHtml
=
newPrice
.
vip2_price
;
...
...
@@ -318,8 +367,10 @@ var p = new common.grid({
}
return
newPriceHtml
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
vip2_price
+
'</p>'
;
}},
{
display
:
'银卡价'
,
render
:
function
(
item
)
{
}
},
{
display
:
'银卡价'
,
render
:
function
(
item
)
{
var
newPrice
=
item
.
newProductPriceBo
,
newPriceHtml
=
newPrice
.
vip1_price
;
...
...
@@ -328,26 +379,31 @@ var p = new common.grid({
}
return
newPriceHtml
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
vip2_price
+
'</p>'
;
}},
{
display
:
'返币金额'
,
render
:
function
(
item
)
{
}
},
{
display
:
'返币金额'
,
render
:
function
(
item
)
{
return
item
.
newProductPriceBo
.
return_coin
+
'<p style="color: #ccc;">'
+
item
.
oldProductPriceBo
.
return_coin
+
'</p>'
;
}},
{
display
:
'操作'
,
render
:
function
(
item
)
{
}
},
{
display
:
'操作'
,
render
:
function
(
item
)
{
return
'<a class="btn btn-info delete-btn" data-index="'
+
item
.
__index
+
'" href="javascript:;">删除</a>'
;
}}
]
}
}]
});
$
(
'#delete-all'
).
on
(
'click'
,
function
()
{
$
(
'#priceTable'
).
empty
();
$error
.
empty
();
successList
.
length
=
0
;
})
//批量变价列表单个删除
$
(
'#priceTable'
).
on
(
'click'
,
'.delete-btn'
,
function
()
{
//var index = p.rows[$(this).data('index')];
successList
.
splice
(
$
(
this
).
data
(
'index'
),
1
);
successList
.
splice
(
$
(
this
).
data
(
'index'
),
1
);
p
.
reload
();
// console.log(p.rows);
...
...
@@ -367,15 +423,15 @@ $('#sure-change').on('click', function() {
$
.
each
(
successList
,
function
(
i
,
value
)
{
arr
.
push
(
value
.
newProductPriceBo
);
});
data
=
JSON
.
stringify
(
arr
);
common
.
util
.
__ajax
({
url
:
'/goods/batchUpdatePrice'
,
data
:{
url
:
'/goods/batchUpdatePrice'
,
data
:
{
batchList
:
data
}
},
function
(
res
)
{
},
function
(
res
)
{
console
.
log
(
res
);
$
(
'#priceTable'
).
hide
();
$
(
'.success-wrap'
).
show
();
...
...
@@ -396,5 +452,4 @@ $('#download-btn').on('click', function() {
//$('#download-btn').attr('href', )
});*/
location
.
href
=
$
(
this
).
data
(
'domain'
)
+
'/batch/download?path='
+
path
;
});
});
\ No newline at end of file
...
...
client/sass/module/_product.scss
View file @
59c73d4
...
...
@@ -123,14 +123,34 @@
display
:
none
;
}
#upload-input
{
display
:
inline-block
;
position
:
static
;
opacity
:
1
;
width
:
auto
;
height
:
auto
;
}
.excel-upload-wrap
{
display
:inline-block
;
position
:
relative
;
.excel-upload
{
display
:
inline-block
;
position
:
static
;
opacity
:
1
;
width
:
auto
;
height
:
auto
;
}
#upload-input
{
position
:
absolute
;
top
:
0
;
right
:
0
;
z-index
:
2
;
opacity
:
0
;
}
.file-name
{
display
:
inline-block
;
width
:
302px
;
height
:
38px
;
}
}
.excel-model
{
display
:
inline-block
;
width
:
110px
;
...
...
server/stub/service/upload.js
View file @
59c73d4
...
...
@@ -9,13 +9,13 @@ exports.uploadFile=function(req,res){
// TODO 代理上传
// 方法1
if
(
env
===
"development"
)
{
if
(
env
===
"development"
)
{
res
.
json
({
"code"
:
200
,
"data"
:
"https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1444256491,538988776&fm=80"
,
"message"
:
"success"
"code"
:
200
,
"data"
:
"https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1444256491,538988776&fm=80"
,
"message"
:
"success"
});
}
else
{
}
else
{
if
(
req
.
is
(
"multipart/form-data"
)){
req
.
body
.
file
=
fs
.
createReadStream
(
req
.
files
[
req
.
body
.
filename
].
path
);
if
(
req
.
body
.
__type
==
"batch-import"
){
...
...
server/views/pages/goods/index.html
View file @
59c73d4
...
...
@@ -165,9 +165,9 @@
{{# bulkImport}}
<div
class=
"panel bulk-import"
>
<div
class=
"import-hd"
>
<span>
<span
class=
"excel-upload-wrap"
>
<label>
选择文件
</label>
<input
id=
"upload-input"
name=
"file"
class=
"btn btn-default"
type=
"file"
>
<input
id=
"upload-input"
name=
"file"
class=
"btn btn-default
excel-upload
"
type=
"file"
>
</span>
<a
class=
"excel-model"
href=
"{{domain}}{{download}}"
>
表头下载
</a>
...
...
Please
register
or
login
to post a comment