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
1f050572784b7a6f391d0e8e2d8286e7df78b93b
1 parent
81edd9a4
master
...
feature/feature_v4.5_20160525
feature/feature_v4.6_20160525
yohobuy_portal_dev_v4.4_20160525
yohobuy_portal_dev_v4.5_20160601
yohobuy_portal_dev_v4.6_20160601
yohobuy_portal_dev_v4.7_20160616
4.4.0_20160531
4.3.6_20160517
4.3.3_20160512
4.3.2_20160511
4.3.1_20160509
1.5
yohobuy_portal_dev_v4.6_20160622
fixed_gray_import
delAuthValidate
changeClientVersion
网销
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
375 additions
and
366 deletions
client/js/common/util.js
client/js/goods/netsale-edit.js
client/js/goods/partials/basic-info.js
client/js/goods/partials/data.js
client/js/product/limit.js
server/views/pages/goods/netsale-edit.html
server/views/partials/netsale/search-key.html
server/views/partials/netsale/video.html
client/js/common/util.js
View file @
1f05057
var
$
=
require
(
'jquery'
);
var
util
=
{
__ajax
:
function
(
options
,
callback
,
notip
){
if
(
typeof
options
.
data
==
"string"
){
util
.
__tip
(
options
.
data
,
"warning"
);
return
false
;
}
else
{
$
.
ajax
({
type
:
options
.
type
||
'POST'
,
url
:
options
.
url
,
async
:
options
.
async
,
dataType
:
'json'
,
data
:
options
.
data
||
{},
success
:
function
(
res
)
{
res
=
res
.
data
;
if
((
""
+
res
.
code
)
===
"200"
)
{
notip
?(
callback
&&
callback
.
bind
(
this
,
res
)()):
util
.
__tip
(
res
.
message
,
"success"
,
callback
&&
callback
.
bind
(
this
,
res
)());
return
true
;
}
else
{
var
$
=
require
(
'jquery'
);
var
util
=
{
__ajax
:
function
(
options
,
callback
,
notip
)
{
if
(
typeof
options
.
data
==
"string"
)
{
util
.
__tip
(
options
.
data
,
"warning"
);
return
false
;
}
else
{
$
.
ajax
({
type
:
options
.
type
||
'POST'
,
url
:
options
.
url
,
async
:
options
.
async
,
dataType
:
'json'
,
data
:
options
.
data
||
{},
success
:
function
(
res
)
{
res
=
res
.
data
;
if
((
""
+
res
.
code
)
===
"200"
)
{
notip
?
(
callback
&&
callback
.
bind
(
this
,
res
)())
:
util
.
__tip
(
res
.
message
,
"success"
,
callback
&&
callback
.
bind
(
this
,
res
)());
return
true
;
}
else
{
(
!
notip
)
&&
util
.
__tip
(
res
.
message
,
"danger"
);
return
false
;
}
},
error
:
function
(
err
){
console
.
log
(
"ajax.ERROR"
,
err
);
return
false
;
}
});
}
},
__ajax2
:
function
(
options
,
callback
){
if
(
typeof
options
.
data
==
"string"
){
util
.
__tip
(
options
.
data
,
"warning"
);
}
else
{
$
.
ajax
({
type
:
'POST'
,
url
:
options
.
url
,
async
:
options
.
async
,
dataType
:
'json'
,
data
:
options
.
data
||
{},
success
:
function
(
res
)
{
res
=
res
.
data
;
if
(
res
.
code
!=
200
)
{
util
.
__tip
(
res
.
message
,
"danger"
);
}
else
{
return
callback
.
bind
(
this
,
res
)();
}
}
});
}
},
__tip
:
function
(
message
,
callback
){
//danger
var
options
=
{};
options
.
class_name
=
"growl-danger"
;
options
.
title
=
arguments
[
0
];
if
(
arguments
.
length
>
1
)
{
if
(
typeof
(
arguments
[
1
])
===
"string"
)
{
options
.
class_name
=
"growl-"
+
arguments
[
1
];
}
else
{
options
.
class_name
=
"growl-success"
;
},
error
:
function
(
err
)
{
console
.
log
(
"ajax.ERROR"
,
err
);
return
false
;
}
var
lastargs
=
Array
.
prototype
.
slice
.
call
(
arguments
,
arguments
.
length
-
1
);
lastargs
=
lastargs
[
0
];
if
(
typeof
lastargs
===
"function"
){
options
.
after_open
=
setTimeout
(
function
()
{
lastargs
&&
lastargs
();
},
600
);
});
}
},
__ajax2
:
function
(
options
,
callback
)
{
if
(
typeof
options
.
data
==
"string"
)
{
util
.
__tip
(
options
.
data
,
"warning"
);
}
else
{
$
.
ajax
({
type
:
'POST'
,
url
:
options
.
url
,
async
:
options
.
async
,
dataType
:
'json'
,
data
:
options
.
data
||
{},
success
:
function
(
res
)
{
res
=
res
.
data
;
if
(
res
.
code
!=
200
)
{
util
.
__tip
(
res
.
message
,
"danger"
);
}
else
{
return
callback
.
bind
(
this
,
res
)();
}
}
}
options
.
sticky
=
false
;
options
.
time
=
1000
;
});
}
},
__tip
:
function
(
message
,
callback
)
{
//danger
var
options
=
{};
options
.
class_name
=
"growl-danger"
;
options
.
title
=
arguments
[
0
];
if
(
arguments
.
length
>
1
)
{
if
(
typeof
(
arguments
[
1
])
===
"string"
)
{
options
.
class_name
=
"growl-"
+
arguments
[
1
];
}
else
{
options
.
class_name
=
"growl-success"
;
}
var
lastargs
=
Array
.
prototype
.
slice
.
call
(
arguments
,
arguments
.
length
-
1
);
lastargs
=
lastargs
[
0
];
if
(
typeof
lastargs
===
"function"
)
{
options
.
after_open
=
setTimeout
(
function
()
{
lastargs
&&
lastargs
();
},
600
);
}
}
options
.
sticky
=
false
;
options
.
time
=
1000
;
$
.
gritter
.
add
(
options
);
},
__template
:
function
()
{
var
args
=
arguments
,
result
;
if
(
args
.
length
>
0
)
{
if
(
typeof
args
[
0
]
===
"string"
)
{
result
=
args
[
0
];
if
(
args
.
length
==
2
&&
typeof
args
[
1
]
==
"object"
)
{
for
(
var
key
in
args
[
1
])
{
if
(
args
[
1
][
key
]
!=
undefined
)
{
var
regkey
=
((
+
key
)
==
(
+
key
))?
"["
+
key
+
"]"
:
key
;
var
reg
=
new
RegExp
(
"({"
+
regkey
+
"})"
,
"g"
);
result
=
result
.
replace
(
reg
,
args
[
1
][
key
]);
}
$
.
gritter
.
add
(
options
);
},
__template
:
function
()
{
var
args
=
arguments
,
result
;
if
(
args
.
length
>
0
)
{
if
(
typeof
args
[
0
]
===
"string"
)
{
result
=
args
[
0
];
if
(
args
.
length
==
2
&&
typeof
args
[
1
]
==
"object"
)
{
for
(
var
key
in
args
[
1
])
{
if
(
args
[
1
][
key
]
!=
undefined
)
{
var
regkey
=
((
+
key
)
==
(
+
key
))
?
"["
+
key
+
"]"
:
key
;
var
reg
=
new
RegExp
(
"({"
+
regkey
+
"})"
,
"g"
);
result
=
result
.
replace
(
reg
,
args
[
1
][
key
]);
}
}
var
reg
=
new
RegExp
(
"({.*})"
,
"g"
);
result
=
result
.
replace
(
reg
,
''
);
}
}
var
reg
=
new
RegExp
(
"({.*})"
,
"g"
);
result
=
result
.
replace
(
reg
,
''
);
}
return
result
;
}
return
result
;
},
__template2
:
function
(
str
,
source
)
{
__template2
:
function
(
str
,
source
)
{
// console.log(str);
var
result
=
""
;
var
script
=
[];
script
.
push
(
'var each=function(obj,fn){'
);
script
.
push
(
' var that=this;'
);
script
.
push
(
' if({}.toString.call(obj)=="[object Array]"){'
);
script
.
push
(
' for(var i=0;i<obj.length;i++){'
);
script
.
push
(
' fn.call(i,i,obj[i]);'
);
script
.
push
(
' }'
);
script
.
push
(
' return;'
);
script
.
push
(
' }'
);
script
.
push
(
' if(typeof obj=="function"||typeof obj=="object"&&!!obj){'
);
script
.
push
(
' for(var i in obj){'
);
script
.
push
(
' fn.call(i,i,obj[i]);'
);
script
.
push
(
' }'
);
script
.
push
(
' return;'
);
script
.
push
(
' }'
);
script
.
push
(
'}'
);
result
=
script
.
join
(
''
)
+
";\n"
;
var
result
=
""
;
var
script
=
[];
script
.
push
(
'var each=function(obj,fn){'
);
script
.
push
(
' var that=this;'
);
script
.
push
(
' if({}.toString.call(obj)=="[object Array]"){'
);
script
.
push
(
' for(var i=0;i<obj.length;i++){'
);
script
.
push
(
' fn.call(i,i,obj[i]);'
);
script
.
push
(
' }'
);
script
.
push
(
' return;'
);
script
.
push
(
' }'
);
script
.
push
(
' if(typeof obj=="function"||typeof obj=="object"&&!!obj){'
);
script
.
push
(
' for(var i in obj){'
);
script
.
push
(
' fn.call(i,i,obj[i]);'
);
script
.
push
(
' }'
);
script
.
push
(
' return;'
);
script
.
push
(
' }'
);
script
.
push
(
'}'
);
result
=
script
.
join
(
''
)
+
";\n"
;
var
formstr
=
function
(
code
)
{
var
formstr
=
function
(
code
)
{
return
"'"
+
code
.
replace
(
/
(
'|
\\)
/g
,
'\\$1'
)
.
replace
(
/
\r
/g
,
'\\r'
)
.
replace
(
/
\n
/g
,
'\\n'
)
+
"'"
;
.
replace
(
/
(
'|
\\)
/g
,
'\\$1'
)
.
replace
(
/
\r
/g
,
'\\r'
)
.
replace
(
/
\n
/g
,
'\\n'
)
+
"'"
;
}
//获取参数
//获取参数
var
params
=
[];
var
html
=
""
;
html
=
str
.
replace
(
/
\[\[(
.*
?)\]\]
/igm
,
function
(
name
,
$1
){
var
trim
=
$1
.
replace
(
/^
\s
+|
\s
+$/
,
''
);
if
(
/^each/
.
test
(
trim
))
{
trim
=
trim
.
replace
(
/^each
\s
+
([
a-zA-Z0-1.
]
+
)\s
+as
\s
+
(\w
+
)\s
+
(\w
+
)
/
,
function
(
$0
,
$1
,
$2
,
$3
){
params
.
push
(
$1
);
return
'each\( '
+
$1
+
',function('
+
$3
+
','
+
$2
+
'){'
;
});
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^
\/
each/
.
test
(
trim
)){
trim
=
trim
.
replace
(
/^
\/
each/
,
'});'
)
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^if/
.
test
(
trim
)){
trim
=
trim
.
replace
(
/^if
(
.+
)
/
,
function
(
$0
,
$1
){
params
.
push
(
$1
);
return
'if('
+
$1
+
'){'
;
});
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^
\/
if/
.
test
(
trim
)){
trim
=
trim
.
replace
(
/^
\/
if/
,
'};'
)
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^else$/
.
test
(
trim
)){
trim
=
trim
.
replace
(
/else/
,
'}else{'
);
return
"[["
+
trim
+
"]]"
;
}
else
{
params
.
push
(
trim
);
return
"[[+"
+
trim
+
"+]]"
;
}
});
console
.
log
(
params
);
//.match(/(\w+)+/g)
for
(
var
i
in
params
){
var
aps
=
params
[
i
].
split
(
/
\+
|
\-
|
\*
|
\/
|
\=
|
\!
|
\~
/g
);
for
(
var
j
in
aps
){
var
ap
=
aps
[
j
].
replace
(
/^
\s
+|
\s
+$/
,
''
);
if
(
!
/^
[
0-9
]
+$/
.
test
(
ap
)
&&!
/^
\s
*$/
.
test
(
ap
)
&&!
/
\.
/g
.
test
(
ap
)){
if
(
!
source
.
hasOwnProperty
(
ap
)){
source
[
ap
]
=
""
;
var
params
=
[];
var
html
=
""
;
html
=
str
.
replace
(
/
\[\[(
.*
?)\]\]
/igm
,
function
(
name
,
$1
)
{
var
trim
=
$1
.
replace
(
/^
\s
+|
\s
+$/
,
''
);
if
(
/^each/
.
test
(
trim
))
{
trim
=
trim
.
replace
(
/^each
\s
+
([
a-zA-Z0-1.
]
+
)\s
+as
\s
+
(\w
+
)\s
+
(\w
+
)
/
,
function
(
$0
,
$1
,
$2
,
$3
)
{
params
.
push
(
$1
);
return
'each\( '
+
$1
+
',function('
+
$3
+
','
+
$2
+
'){'
;
});
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^
\/
each/
.
test
(
trim
))
{
trim
=
trim
.
replace
(
/^
\/
each/
,
'});'
)
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^if/
.
test
(
trim
))
{
trim
=
trim
.
replace
(
/^if
(
.+
)
/
,
function
(
$0
,
$1
)
{
params
.
push
(
$1
);
return
'if('
+
$1
+
'){'
;
});
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^
\/
if/
.
test
(
trim
))
{
trim
=
trim
.
replace
(
/^
\/
if/
,
'};'
)
return
"[["
+
trim
+
"]]"
;
}
else
if
(
/^else$/
.
test
(
trim
))
{
trim
=
trim
.
replace
(
/else/
,
'}else{'
);
return
"[["
+
trim
+
"]]"
;
}
else
{
params
.
push
(
trim
);
return
"[[+"
+
trim
+
"+]]"
;
}
});
// console.log(params);
//.match(/(\w+)+/g)
for
(
var
i
in
params
)
{
var
aps
=
params
[
i
].
split
(
/
\+
|
\-
|
\*
|
\/
|
\=
|
\!
|
\~
|'|"/g
);
for
(
var
j
in
aps
)
{
var
ap
=
aps
[
j
].
replace
(
/^
\s
+|
\s
+$/
,
''
);
if
(
!
/^
[
0-9
]
+$/
.
test
(
ap
)
&&
!
/^
\s
*$/
.
test
(
ap
)
&&
!
/
\.
/g
.
test
(
ap
))
{
if
(
!
source
.
hasOwnProperty
(
ap
))
{
source
[
ap
]
=
""
;
}
}
}
}
}
var
keys
=
[];
for
(
var
key
in
source
){
if
(
typeof
source
[
key
]
==
"boolean"
){
keys
.
push
(
key
+
"="
+
source
[
key
]);
}
else
{
keys
.
push
(
key
+
"="
+
JSON
.
stringify
(
source
[
key
]));
var
keys
=
[];
for
(
var
key
in
source
)
{
if
(
typeof
source
[
key
]
==
"boolean"
)
{
keys
.
push
(
key
+
"="
+
source
[
key
]);
}
else
{
keys
.
push
(
key
+
"="
+
JSON
.
stringify
(
source
[
key
]));
}
}
}
var
header
=
"var "
+
keys
.
join
(
','
)
+
";"
;
var
header
=
"var "
+
keys
.
join
(
','
)
+
";"
;
html
=
html
.
replace
(
/
(
^|
\]\])(
.*
?)(\[\[
|$
)
/igm
,
function
(
name
,
$1
,
$2
){
var
trim
=
$2
.
replace
(
/^
\s
+|
\s
+$/
,
''
);
return
trim
?
formstr
(
$2
):
''
;
});
// var result="var result='';result+=";
var
arr
=
html
.
split
(
/
\n
+/igm
);
result
+=
"var p=[];\n"
;
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
){
if
(
/^'/
.
test
(
arr
[
i
])){
result
+=
"p.push("
+
(
arr
[
i
])
+
");\n"
;
}
else
{
result
+=
(
arr
[
i
]);
html
=
html
.
replace
(
/
(
^|
\]\])(
.*
?)(\[\[
|$
)
/igm
,
function
(
name
,
$1
,
$2
)
{
var
trim
=
$2
.
replace
(
/^
\s
+|
\s
+$/
,
''
);
return
trim
?
formstr
(
$2
)
:
''
;
});
// var result="var result='';result+=";
var
arr
=
html
.
split
(
/
\n
+/igm
);
result
+=
"var p=[];\n"
;
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
/^'/
.
test
(
arr
[
i
]))
{
result
+=
"p.push("
+
(
arr
[
i
])
+
");\n"
;
}
else
{
result
+=
(
arr
[
i
]);
}
}
}
result
+=
"return p.join('');\n"
;
result
+=
"return p.join('');\n"
;
var
fn
=
new
Function
(
header
+
result
);
var
b
=
fn
.
call
(
source
);
return
b
;
var
fn
=
new
Function
(
header
+
result
);
var
b
=
fn
.
call
(
source
);
return
b
;
},
__input
:
function
(
id
){
return
!!~
$
.
trim
(
$
(
'#'
+
id
).
val
())?
$
(
'#'
+
id
).
val
():
""
__input
:
function
(
id
)
{
return
!!~
$
.
trim
(
$
(
'#'
+
id
).
val
())
?
$
(
'#'
+
id
).
val
()
:
""
}
}
module
.
exports
=
util
;
\ No newline at end of file
module
.
exports
=
util
;
\ No newline at end of file
...
...
client/js/goods/netsale-edit.js
View file @
1f05057
...
...
@@ -7,9 +7,10 @@ require('../util/custom.js');
*/
window
.
NETSALEDATA
=
require
(
'./partials/data.js'
);
//
console.log(NETSALEDATA);
console
.
log
(
NETSALEDATA
);
/*加载其他模块*/
require
(
'./partials/basic-info'
);
require
(
'./partials/editor_recommend'
);
require
(
'./partials/model'
);
require
(
'./partials/search-key.js'
);
...
...
@@ -18,74 +19,6 @@ require('./partials/goods-sort.js')
var
basicInfohtml
=
''
,
convertObj
=
{
ageLevel
:
{
'1'
:
'成人'
,
'2'
:
'大童'
,
'3'
:
'小童'
},
gender
:
{
1
:
'男'
,
2
:
'女'
,
3
:
'通用'
},
grade
:
{
'1'
:
'是'
,
'null'
:
'否'
},
isOutLets
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isLimited
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isPromotionalGifts
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isAdvance
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isLimitbuy
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
attribute
:
{
1
:
'普通'
,
2
:
'赠品'
}
}
console
.
log
(
NETSALEDATA
.
baseProductInfo
.
baseProduct
);
/*
* 基本信息value值转换
* @param: basicInfo(请求的要渲染的数据), obj(转换的对象)
*/
function
convert
(
basicInfo
,
obj
)
{
$
.
each
(
basicInfo
,
function
(
key
,
value
)
{
if
(
convertObj
[
key
])
{
basicInfo
[
key
]
=
convertObj
[
key
][
value
];
}
});
return
basicInfo
;
}
var
basicInfoData
=
convert
(
NETSALEDATA
.
baseProductInfo
.
baseProduct
,
convertObj
);
basicInfoData
.
renderType
=
$
(
'#basicInfoForm'
).
data
(
'type'
);
basicInfohtml
=
common
.
util
.
__template2
(
$
(
'#basicInfo'
).
html
(),
basicInfoData
);
$
(
'#basic-info'
).
html
(
basicInfohtml
);
// var e = new common.edit('#basicForm');
// e.init();
...
...
client/js/goods/partials/basic-info.js
0 → 100644
View file @
1f05057
var
$
=
require
(
'jquery'
),
common
=
require
(
'../../common/common'
);
var
basicInfohtml
=
''
,
convertObj
=
{
ageLevel
:
{
'1'
:
'成人'
,
'2'
:
'大童'
,
'3'
:
'小童'
},
gender
:
{
1
:
'男'
,
2
:
'女'
,
3
:
'通用'
},
grade
:
{
'1'
:
'是'
,
'null'
:
'否'
},
isOutLets
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isLimited
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isPromotionalGifts
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isAdvance
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
isLimitbuy
:
{
'Y'
:
'是'
,
'N'
:
'否'
},
attribute
:
{
1
:
'普通'
,
2
:
'赠品'
}
};
/*
* 基本信息value值转换
* @param: basicInfo(请求的要渲染的数据), obj(转换的对象)
*/
function
convert
(
basicInfo
,
obj
)
{
$
.
each
(
basicInfo
,
function
(
key
,
value
)
{
if
(
convertObj
[
key
])
{
basicInfo
[
key
]
=
convertObj
[
key
][
value
];
}
});
return
basicInfo
;
}
var
basicInfoData
=
convert
(
NETSALEDATA
.
baseProductInfo
.
baseProduct
,
convertObj
);
basicInfoData
.
renderType
=
$
(
'#basicInfoForm'
).
data
(
'type'
);
basicInfohtml
=
common
.
util
.
__template2
(
$
(
'#basicInfo'
).
html
(),
basicInfoData
);
$
(
'#basic-info'
).
html
(
basicInfohtml
);
$
(
'#goods-table'
).
html
(
common
.
util
.
__template2
(
$
(
'#goodsList'
).
html
(),
{
goodsList
:
NETSALEDATA
.
goodsList
}));
\ No newline at end of file
...
...
client/js/goods/partials/data.js
View file @
1f05057
...
...
@@ -2,16 +2,16 @@
var
$
=
require
(
'jquery'
),
common
=
require
(
'../../common/common'
);
var
ENUM
=
null
;
var
param
=
location
.
href
.
match
(
/edit
\/(\d
+
)
/
)[
1
];
var
ENUM
=
null
;
var
param
=
location
.
href
.
match
(
/edit|info
\/(\d
+
)
/
)[
1
];
common
.
util
.
__ajax
({
url
:
'/goods/netsale/getdata'
,
async
:
false
,
data
:{
param
:
param
url
:
'/goods/netsale/getdata'
,
async
:
false
,
data
:
{
param
:
param
}
},
function
(
res
){
ENUM
=
res
.
data
;
},
true
);
},
function
(
res
)
{
ENUM
=
res
.
data
;
},
true
);
module
.
exports
=
ENUM
;
module
.
exports
=
ENUM
;
\ No newline at end of file
...
...
client/js/product/limit.js
View file @
1f05057
...
...
@@ -76,28 +76,29 @@ var tableGird = new common.grid({
return
obj
;
},
columns
:
[{
display
:
""
,
type
:
'checkbox'
},
{
display
:
"名称"
,
name
:
"productName"
},
{
display
:
"限购商品code"
,
name
:
"limitProductCode"
},
{
display
:
"排序"
,
render
:
function
(
item
)
{
return
(
'<input class="order-input width50" data-id="'
+
item
.
id
+
'" data-type="orderBy" type="text" value="'
+
item
.
orderBy
+
'"/>'
);
}
},{
display
:
""
,
type
:
'checkbox'
},
{
display
:
"名称"
,
name
:
"productName"
},
{
display
:
"限购商品code"
,
name
:
"limitProductCode"
},
{
display
:
"排序"
,
render
:
function
(
item
)
{
return
(
'<input class="order-input width50" data-id="'
+
item
.
id
+
'" data-type="orderBy" type="text" value="'
+
item
.
orderBy
+
'"/>'
);
}
},
{
display
:
"封面图"
,
render
:
function
(
item
)
{
return
(
'<img class="cover-img" src="'
+
item
.
attachUrl
+
'" />'
);
}
},
{
display
:
"SKN"
,
name
:
"productSkn"
,
render
:
function
(
item
){
return
item
.
productSkn
||
'待定'
;
name
:
"productSkn"
,
render
:
function
(
item
)
{
return
item
.
productSkn
||
'待定'
;
}
},
{
display
:
"发售日期"
,
...
...
@@ -109,59 +110,58 @@ var tableGird = new common.grid({
return
item
.
saleTimeStr
.
slice
(
0
,
7
);
}
}
},{
display
:
"是否发售"
,
name
:
"saleFlag"
,
render
:
function
(
item
)
{
if
(
item
.
saleFlag
==
1
)
{
return
'是'
;
}
else
{
return
'否'
;
}
},
{
display
:
"是否发售"
,
name
:
"saleFlag"
,
render
:
function
(
item
)
{
if
(
item
.
saleFlag
==
1
)
{
return
'是'
;
}
else
{
return
'否'
;
}
},
{
display
:
"是否热门"
,
name
:
"hotFlag"
,
render
:
function
(
items
)
{
if
(
items
.
hotFlag
)
{
return
'是'
;
}
else
{
return
'否'
;
}
}
},
{
display
:
"是否热门"
,
name
:
"hotFlag"
,
render
:
function
(
items
)
{
if
(
items
.
hotFlag
)
{
return
'是'
;
}
else
{
return
'否'
;
}
},
{
display
:
"是否开启"
,
name
:
"showFlag"
,
render
:
function
(
items
)
{
if
(
items
.
showFlag
)
{
return
'是'
;
}
else
{
return
'否'
;
}
}
},
{
display
:
"是否开启"
,
name
:
"showFlag"
,
render
:
function
(
items
)
{
if
(
items
.
showFlag
)
{
return
'是'
;
}
else
{
return
'否'
;
}
},
{
display
:
"操作"
,
render
:
function
(
items
)
{
var
HtmArr
=
[];
if
(
items
.
showFlag
)
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-info btn-xs close-btn">关闭</a>'
);
}
else
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-info btn-xs open-btn">开启</a>'
);
}
if
(
items
.
hotFlag
)
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-warning btn-xs hot-cancel">取消热门</a>'
);
}
else
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-warning btn-xs hot-btn">设为热门</a>'
);
}
HtmArr
.
push
(
'<a href="/limit/edit/'
+
items
.
id
+
'" data-id="'
+
items
.
id
+
'" class="btn btn-info btn-xs">编辑</a>'
);
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-danger btn-xs delete-btn">删除</a>'
);
return
HtmArr
.
join
(
''
);
}
},
{
display
:
"操作"
,
render
:
function
(
items
)
{
var
HtmArr
=
[];
if
(
items
.
showFlag
)
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-info btn-xs close-btn">关闭</a>'
);
}
else
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-info btn-xs open-btn">开启</a>'
);
}
if
(
items
.
hotFlag
)
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-warning btn-xs hot-cancel">取消热门</a>'
);
}
else
{
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-warning btn-xs hot-btn">设为热门</a>'
);
}
HtmArr
.
push
(
'<a href="/limit/edit/'
+
items
.
id
+
'" data-id="'
+
items
.
id
+
'" class="btn btn-info btn-xs">编辑</a>'
);
HtmArr
.
push
(
'<a href="javascript:;" data-id="'
+
items
.
id
+
'" class="btn btn-danger btn-xs delete-btn">删除</a>'
);
return
HtmArr
.
join
(
''
);
}
]
}
]
});
tableGird
.
init
(
'/limit/product/page'
);
...
...
@@ -195,17 +195,17 @@ $('#export-btn').on('click', function() {
var
selectedArr
=
tableGird
.
selected
,
len
=
selectedArr
.
length
,
queryConf
=
''
;
/*
if (len <= 0) {
if
(
len
<=
0
)
{
common
.
util
.
__tip
(
'请选择要导出的商品'
,
'warning'
);
return
;
}
*/
}
$
.
each
(
selectedArr
,
function
(
i
,
value
)
{
queryConf
+=
value
[
'limitProductCode'
];
if
(
i
<
len
-
1
)
{
queryConf
+=
'|'
;
}
});
window
.
open
(
"/ajax/down?queryConf="
+
queryConf
+
"&type=limitProductReminder"
);
window
.
open
(
"/ajax/down?queryConf="
+
queryConf
+
"&type=limitProductReminder"
);
// common.util.__ajax({
// url: '/ajax/down',
// type:'GET',
...
...
server/views/pages/goods/netsale-edit.html
View file @
1f05057
...
...
@@ -37,30 +37,9 @@
<h2
class=
"panel-title"
>
基本信息
</h2>
</div>
<div
class=
"panel-body nopadding"
>
<div
id=
"basic-info"
>
</div>
<div
class=
"form-group"
>
<h4>
能否补货:
</h4>
<table
class=
"table table-bordered"
>
<thead>
<tr>
<th>
SKC(厂家颜色)
</th>
<th>
SKU(尺码)
</th>
<th>
能否补货
</th>
</tr>
</thead>
<tbody>
{{# goodsList}}
<tr>
<td>
{{productSkc}}({{goodsName}})
</td>
<td>
{{# goodsSizeList}}{{productSku}}({{sizeName}})
<br>
{{/ goodsSizeList}}
</td>
<td>
{{# goodsSizeList}}{{isSuppled}}
</br>
{{/ goodsSizeList}}
</td>
</tr>
{{/ goodsList}}
</tbody>
</table>
</div>
<div
id=
"basic-info"
></div>
<div
id=
"goods-table"
></div>
<div
class=
"form-group"
>
<blockquote>
上架必填:
</blockquote>
...
...
@@ -254,4 +233,36 @@
<
div
class
=
"col-sm-3"
>
预计上架时间:
[[
expectShelfTime
]]
<
/div
>
<
/div
>
</script>
<script
type=
"text/template"
id=
"goodsList"
>
<
div
class
=
"form-group"
>
<
h4
>
能否补货:
<
/h4
>
<
table
class
=
"table table-bordered"
>
<
thead
>
<
tr
>
<
th
>
SKC
(
厂家颜色
)
<
/th
>
<
th
>
SKU
(
尺码
)
<
/th
>
<
th
>
能否补货
<
/th
>
<
/tr
>
<
/thead
>
<
tbody
>
[[
each
goodsList
as
item
index
]]
<
tr
>
<
td
>
[[
item
.
productSkc
]]
(
[[
item
.
goodsName
]]
)
<
/td
>
<
td
>
[[
each
item
.
goodsSizeList
as
b
index
]]
<
p
>
[[
b
.
productSku
]]
(
[[
b
.
sizeName
]]
)
<
br
><
/p
>
[[
/each]
]
<
/td
>
<
td
>
[[
each
item
.
goodsSizeList
as
b
index
]]
<
p
>
[[
b
.
isSuppled
]]
<
/br></
p
>
[[
/each]
]
<
/td
>
<
/tr
>
[[
/each]
]
<
/tbody
>
<
/table
>
<
/div
>
</script>
\ No newline at end of file
...
...
server/views/partials/netsale/search-key.html
View file @
1f05057
...
...
@@ -22,8 +22,6 @@
</div>
</div>
</div>
</div>
</div>
<div
class=
"panel-footer"
>
<button
class=
"btn btn-primary"
>
保存
</button>
</div>
...
...
server/views/partials/netsale/video.html
View file @
1f05057
...
...
@@ -6,15 +6,17 @@
</div>
<h2
class=
"panel-title"
>
视频
</h2>
</div>
<div
class=
"panel-body nopadding"
>
<div
class=
"video-file-wrap"
>
<span>
请上传视频
</span>
<input
id=
"videofile"
name=
"videofile"
type=
"file"
extend=
"mp4,rmvb,avi,mov"
class=
"btn btn-primary ml10"
>
<form
class=
"form-horizontal form-bordered"
>
<div
class=
"panel-body nopadding"
>
<div
class=
"video-file-wrap"
>
<span>
请上传视频
</span>
<input
id=
"videofile"
name=
"videofile"
type=
"file"
extend=
"mp4,rmvb,avi,mov"
class=
"btn btn-primary ml10"
>
</div>
</div>
</div>
<div
class=
"panel-footer"
>
<button
class=
"btn btn-primary"
>
保存
</button>
</div>
<div
class=
"panel-footer"
>
<button
class=
"btn btn-primary"
>
保存
</button>
</div>
</form>
</form>
</div>
\ No newline at end of file
...
...
Please
register
or
login
to post a comment