运营管理 -> 优惠券活动、Top100、公告管理、销售类目、app版本升级提醒
Showing
30 changed files
with
1742 additions
and
14 deletions
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * 优惠券活动 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports=function(app) { | ||
7 | + | ||
8 | + /*优惠券活动主界面*/ | ||
9 | + app.get("/couponActivity/index","operations.couponActivity.Index", function () { | ||
10 | + this.$extend = { | ||
11 | + moduleName: "优惠券活动管理", | ||
12 | + pageName: "活动列表" | ||
13 | + } | ||
14 | + }); | ||
15 | + | ||
16 | + /*优惠券活动编辑界面*/ | ||
17 | + app.get("/couponActivity/index/update/:id","operations.couponActivity.Edit", function () { | ||
18 | + this.$extend = { | ||
19 | + moduleName: "优惠券活动管理", | ||
20 | + pageName: "编辑活动" | ||
21 | + } | ||
22 | + }); | ||
23 | + | ||
24 | + /*优惠券活动添加界面*/ | ||
25 | + app.get("/couponActivity/index/add","operations.couponActivity.Add", function () { | ||
26 | + this.$extend = { | ||
27 | + moduleName: "优惠券活动管理", | ||
28 | + pageName: "添加活动" | ||
29 | + } | ||
30 | + }); | ||
31 | + | ||
32 | + /*api请求数据*/ | ||
33 | + app.post("/couponActivity/queryList","couponActivity_queryList"); | ||
34 | + | ||
35 | + /*修改优惠券活动*/ | ||
36 | + app.post("/couponActivity/update","couponActivity_update"); | ||
37 | + | ||
38 | + /*单个优惠券活动查询*/ | ||
39 | + app.post("/couponActivity/queryById","couponActivity_queryById"); | ||
40 | + | ||
41 | + /*新增优惠券活动*/ | ||
42 | + app.post("/couponActivity/add","couponActivity_add"); | ||
43 | +} |
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * Top100标签 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports=function(app) { | ||
7 | + | ||
8 | + /*公告管理首页*/ | ||
9 | + app.get("/hotRankTag/index","operations.hotRankTag.Index", function () { | ||
10 | + this.$extend = { | ||
11 | + moduleName: "运营管理", | ||
12 | + pageName: "Top 100标签" | ||
13 | + } | ||
14 | + }); | ||
15 | + | ||
16 | + /*搜索词列表*/ | ||
17 | + app.post("/hotRankTag/selectTagList","hotRankTag_selectTagList"); | ||
18 | + | ||
19 | + /*添加搜索词*/ | ||
20 | + app.post("/hotRankTag/addTag","hotRankTag_addTag"); | ||
21 | + | ||
22 | + /*修改搜索词*/ | ||
23 | + app.post("/hotRankTag/updateTag","hotRankTag_updateTag"); | ||
24 | + | ||
25 | + /*发布搜索词*/ | ||
26 | + app.post("/hotRankTag/publishTag","hotRankTag_publishTag"); | ||
27 | + | ||
28 | + /*关闭搜索词*/ | ||
29 | + app.post("/hotRankTag/closeTag","hotRankTag_closeTag"); | ||
30 | +} |
code/apps/operations/controllers/notice.js
0 → 100644
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * 公告管理 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports=function(app) { | ||
7 | + | ||
8 | + /*公告管理首页*/ | ||
9 | + app.get("/operations/notice/index","operations.notice.Index", function () { | ||
10 | + this.$extend = { | ||
11 | + moduleName: "公告管理", | ||
12 | + pageName: "公告管理列表" | ||
13 | + } | ||
14 | + }); | ||
15 | + | ||
16 | + /*列表*/ | ||
17 | + app.post("/operations/notice/getList","notice_getList"); | ||
18 | + | ||
19 | + /*添加公告*/ | ||
20 | + app.post("/operations/notice/addNotice","notice_addNotice"); | ||
21 | + | ||
22 | + /*更改公告状态*/ | ||
23 | + app.post("/operations/notice/setStatus","notice_setStatus"); | ||
24 | + | ||
25 | + /*更新公告*/ | ||
26 | + app.post("/operations/notice/updateNotice","notice_updateNotice"); | ||
27 | + | ||
28 | + /*删除公告*/ | ||
29 | + app.post("/operations/notice/delNotice","notice_delNotice"); | ||
30 | +} |
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * 销售类目 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports=function(app) { | ||
7 | + | ||
8 | + /*销售类目主页*/ | ||
9 | + app.get("/sale/category/index","operations.salecategory.Index", function () { | ||
10 | + this.$extend = { | ||
11 | + moduleName: "运营管理", | ||
12 | + pageName: "销售类目管理", | ||
13 | + gridurl: '/sale/salesCategory/querySCList' | ||
14 | + } | ||
15 | + }); | ||
16 | + | ||
17 | + /*标签管理页面*/ | ||
18 | + app.get("/sale/category/tag/:categoryId","operations.salecategory.TagMgmt", "salecategory_querySCById", function () { | ||
19 | + this.$extend = { | ||
20 | + moduleName: "运营管理", | ||
21 | + pageName: "标签管理" | ||
22 | + } | ||
23 | + }); | ||
24 | + | ||
25 | + /*销售类目列表*/ | ||
26 | + app.post("/sale/salesCategory/querySCList","salecategory_querySCList"); | ||
27 | + | ||
28 | + /*根据id获取单个销售类目*/ | ||
29 | + app.post("/sale/salesCategory/querySCById","salecategory_querySCById"); | ||
30 | + | ||
31 | + /*标签管理列表数据接口*/ | ||
32 | + app.post("/sale/salesCategoryLabel/querySCLabelList","salecategory_querySCLabelList"); | ||
33 | + | ||
34 | + /*更新标签接口*/ | ||
35 | + app.post("/sale/salesCategoryLabel/updateSCLabel","salecategory_updateSCLabel"); | ||
36 | + | ||
37 | + /*更新销售类目接口*/ | ||
38 | + app.post("/sale/salesCategory/updateSC","salecategory_updateSC"); | ||
39 | + | ||
40 | + /*添加销售类目接口*/ | ||
41 | + app.post("/sale/salesCategory/addSC","salecategory_addSC"); | ||
42 | + | ||
43 | + /*开关销售类目*/ | ||
44 | + app.post("/sale/salesCategory/updateSCStatus","salecategory_updateSCStatus"); | ||
45 | + | ||
46 | + /*批量添加标签接口*/ | ||
47 | + app.post("/sale/salesCategoryLabel/addSCLabel","salecategory_addSCLabel"); | ||
48 | + | ||
49 | +} |
code/apps/operations/controllers/version.js
0 → 100644
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * APP版本更新管理 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports=function(app) { | ||
7 | + | ||
8 | + /*优惠券活动主界面*/ | ||
9 | + app.get("/operations/version/index","operations.version.Index", function () { | ||
10 | + this.$extend = { | ||
11 | + moduleName: "运营管理", | ||
12 | + pageName: "APP版本更新管理" | ||
13 | + } | ||
14 | + }); | ||
15 | + | ||
16 | + /*APP版本升级提醒列表*/ | ||
17 | + app.post("/operations/version/appVersionList","version_appVersionList"); | ||
18 | + | ||
19 | + /*新增APP版本提醒*/ | ||
20 | + app.post("/operations/version/addAppVersion","version_addAppVersion"); | ||
21 | + | ||
22 | + /*修改APP版本提醒*/ | ||
23 | + app.post("/operations/version/editAppVersion","version_editAppVersion"); | ||
24 | + | ||
25 | + /*改变状态*/ | ||
26 | + app.post("/operations/version/publishAppVersion","version_publishAppVersion"); | ||
27 | +} |
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * 优惠券活动 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports={ | ||
7 | + namespace:"couponActivity", | ||
8 | + apis:{ | ||
9 | + queryList:{ | ||
10 | + title: "优惠券活动列表", | ||
11 | + url: '/couponActivity/queryList', | ||
12 | + params: [ | ||
13 | + {name: 'page', type: 'Number'}, | ||
14 | + {name: 'size', type: 'Number'} | ||
15 | + ] | ||
16 | + }, | ||
17 | + update:{ | ||
18 | + title: "修改优惠券活动", | ||
19 | + url: '/couponActivity/update', | ||
20 | + params: [ | ||
21 | + {name: 'id', type: 'Number'},//主键 | ||
22 | + {name: 'actName', type: 'string'},// | ||
23 | + {name: 'activityType', type: 'Number'},// | ||
24 | + {name: 'actUrl', type: 'string'}, | ||
25 | + {name: 'startTime', type: 'Number'},// | ||
26 | + {name: 'endTime', type: 'Number'},// | ||
27 | + {name: 'bgImageUrl', type: 'string'},// | ||
28 | + {name: 'shareTitle', type: 'string'},// | ||
29 | + {name: 'shareDescribe', type: 'string'},// | ||
30 | + {name: 'sharePic', type: 'string'},// | ||
31 | + {name: 'shareUrl', type: 'string'},// | ||
32 | + {name: 'isVerify', type: 'string'},// | ||
33 | + {name: 'instructions', type: 'string'},// | ||
34 | + {name: 'isNewUser', type: 'Number'},// | ||
35 | + {name: 'couponId', type: 'string'},// | ||
36 | + {name: 'status', type: 'Number'}// | ||
37 | + ] | ||
38 | + }, | ||
39 | + add:{ | ||
40 | + title: "新增优惠券活动", | ||
41 | + url: '/couponActivity/add', | ||
42 | + params: [ | ||
43 | + {name: 'actName', type: 'string'},// | ||
44 | + {name: 'activityType', type: 'Number'},// | ||
45 | + {name: 'actUrl', type: 'string'}, | ||
46 | + {name: 'startTime', type: 'Number'},// | ||
47 | + {name: 'endTime', type: 'Number'},// | ||
48 | + {name: 'bgImageUrl', type: 'string'},// | ||
49 | + {name: 'shareTitle', type: 'string'},// | ||
50 | + {name: 'shareDescribe', type: 'string'},// | ||
51 | + {name: 'sharePic', type: 'string'},// | ||
52 | + {name: 'shareUrl', type: 'string'},// | ||
53 | + {name: 'isVerify', type: 'string'},// | ||
54 | + {name: 'instructions', type: 'string'},// | ||
55 | + {name: 'isNewUser', type: 'Number'},// | ||
56 | + {name: 'couponId', type: 'string'}// | ||
57 | + ] | ||
58 | + }, | ||
59 | + queryById:{ | ||
60 | + title: "单个优惠券活动查询", | ||
61 | + url: '/couponActivity/queryById', | ||
62 | + params: [ | ||
63 | + {name: 'id', type: 'Number'} | ||
64 | + ] | ||
65 | + } | ||
66 | + } | ||
67 | +} |
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * Top100标签 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports={ | ||
7 | + namespace:"hotRankTag", | ||
8 | + apis:{ | ||
9 | + selectTagList:{ | ||
10 | + title: "搜索词列表", | ||
11 | + url: '/hotRankTag/selectTagList', | ||
12 | + params: [ | ||
13 | + {name: 'page', type: 'Number', def: '1'}, | ||
14 | + {name: 'size', type: 'Number', def: '10'}, | ||
15 | + {name: 'platform', type: 'String'},//平台 | ||
16 | + {name: 'channel', type: 'String'},//频道 | ||
17 | + {name: 'status', type: 'Number'} | ||
18 | + ] | ||
19 | + }, | ||
20 | + addTag:{ | ||
21 | + title: "添加搜索词", | ||
22 | + url: '/hotRankTag/addTag', | ||
23 | + params: [ | ||
24 | + {name: 'tagName', type: 'String'}, | ||
25 | + {name: 'categoryId', type: 'String'}, | ||
26 | + {name: 'platform', type: 'String'}, | ||
27 | + {name: 'channel', type: 'String'}, | ||
28 | + {name: 'orderBy', type: 'Number'} | ||
29 | + ] | ||
30 | + }, | ||
31 | + updateTag:{ | ||
32 | + title: "修改搜索词", | ||
33 | + url: '/hotRankTag/updateTag', | ||
34 | + params: [ | ||
35 | + {name: 'id', type: 'Number'}, | ||
36 | + {name: 'tagName', type: 'String'}, | ||
37 | + {name: 'categoryId', type: 'String'}, | ||
38 | + {name: 'platform', type: 'String'}, | ||
39 | + {name: 'channel', type: 'String'}, | ||
40 | + {name: 'orderBy', type: 'Number'} | ||
41 | + | ||
42 | + ] | ||
43 | + }, | ||
44 | + publishTag:{ | ||
45 | + title: "发布搜索词", | ||
46 | + url: '/hotRankTag/publishTag', | ||
47 | + params: [ | ||
48 | + {name: 'id', type: 'Number'} | ||
49 | + ] | ||
50 | + }, | ||
51 | + closeTag:{ | ||
52 | + title: "关闭搜索词", | ||
53 | + url: '/hotRankTag/closeTag', | ||
54 | + params: [ | ||
55 | + {name: 'id', type: 'Number'} | ||
56 | + ] | ||
57 | + } | ||
58 | + } | ||
59 | +} |
code/apps/operations/interfaces/notice.js
0 → 100644
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * 公告管理 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports={ | ||
7 | + namespace:"notice", | ||
8 | + apis:{ | ||
9 | + getList:{ | ||
10 | + title: "获取公告列表", | ||
11 | + url: '/notice/getList', | ||
12 | + params: [ | ||
13 | + {name: 'page', type: 'number'}, | ||
14 | + {name: 'size', type: 'number'}, | ||
15 | + {name: 'title', type: 'string'}, | ||
16 | + {name: 'position', type: 'Number'}, | ||
17 | + {name: 'showChannel', type: 'string'} | ||
18 | + ] | ||
19 | + }, | ||
20 | + addNotice:{ | ||
21 | + title: "添加公告", | ||
22 | + url: '/notice/addNotice', | ||
23 | + params: [ | ||
24 | + {name: 'title', type: 'string'}, | ||
25 | + {name: 'position', type: 'Number'}, | ||
26 | + {name: 'showChannels', type: 'string'}, | ||
27 | + {name: 'url', type: 'string'}, | ||
28 | + {name: 'img', type: 'string'}, | ||
29 | + {name: 'startTime', type: 'Number'}, | ||
30 | + {name: 'endTime', type: 'Number'} | ||
31 | + ] | ||
32 | + }, | ||
33 | + setStatus:{ | ||
34 | + title: "更改公告状态", | ||
35 | + url: '/notice/setStatus', | ||
36 | + params: [ | ||
37 | + {name: 'id', type: 'Number'}, | ||
38 | + {name: 'status', type: 'Number'} | ||
39 | + ] | ||
40 | + }, | ||
41 | + updateNotice:{ | ||
42 | + title: "更新公告", | ||
43 | + url: '/notice/updateNotice', | ||
44 | + params: [ | ||
45 | + {name: 'id', type: 'Number'}, | ||
46 | + {name: 'title', type: 'string'}, | ||
47 | + {name: 'position', type: 'Number'}, | ||
48 | + {name: 'showChannels', type: 'string'}, | ||
49 | + {name: 'url', type: 'string'}, | ||
50 | + {name: 'img', type: 'string'}, | ||
51 | + {name: 'startTime', type: 'Number'}, | ||
52 | + {name: 'endTime', type: 'Number'} | ||
53 | + ] | ||
54 | + }, | ||
55 | + delNotice:{ | ||
56 | + title: "删除公告", | ||
57 | + url: '/notice/delNotice', | ||
58 | + params: [ | ||
59 | + {name: 'id', type: 'Number'} | ||
60 | + ] | ||
61 | + } | ||
62 | + } | ||
63 | +} |
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * 销售类目 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports={ | ||
7 | + namespace:"salecategory", | ||
8 | + apis:{ | ||
9 | + querySCList:{ | ||
10 | + title: "销售类目列表", | ||
11 | + url: '/salesCategory/querySCList', | ||
12 | + params: [ | ||
13 | + {name: 'state', type: 'string'} | ||
14 | + ] | ||
15 | + }, | ||
16 | + querySCById:{ | ||
17 | + title: "根据id获取单个销售类目", | ||
18 | + url: '/salesCategory/querySCById', | ||
19 | + params:[ | ||
20 | + {name: 'categoryId', type: 'number'} | ||
21 | + ] | ||
22 | + }, | ||
23 | + querySCLabelList:{ | ||
24 | + title: "标签管理列表数据接口", | ||
25 | + url: '/salesCategoryLabel/querySCLabelList', | ||
26 | + params: [ | ||
27 | + {name: 'categoryId', type: 'string'}, | ||
28 | + {name: 'status', type: 'string'} | ||
29 | + ] | ||
30 | + }, | ||
31 | + updateSCLabel:{ | ||
32 | + title: "更新标签接口", | ||
33 | + url: '/salesCategoryLabel/updateSCLabel', | ||
34 | + params: [ | ||
35 | + {name: 'labelId', type: 'string'}, | ||
36 | + {name: 'labelName', type: 'string'}, | ||
37 | + {name: 'categoryId', type: 'string'}, | ||
38 | + {name: 'orderBy', type: 'string'}, | ||
39 | + {name: 'status', type: 'string'}, | ||
40 | + {name: 'id', type: 'string'} | ||
41 | + ] | ||
42 | + }, | ||
43 | + addSC:{ | ||
44 | + title: "添加销售类目接口", | ||
45 | + url: '/salesCategory/addSC', | ||
46 | + params: [ | ||
47 | + {name: 'categoryName', type: 'string'}, | ||
48 | + {name: 'relationParameter', type: 'string'}, | ||
49 | + {name: 'relationUrl', type: 'string'}, | ||
50 | + {name: 'parentId', type: 'string'}, | ||
51 | + {name: 'orderBy', type: 'string'}, | ||
52 | + {name: 'icon', type: 'string'} | ||
53 | + ] | ||
54 | + }, | ||
55 | + updateSC:{ | ||
56 | + title: "更新销售类目接口", | ||
57 | + url: '/salesCategory/updateSC', | ||
58 | + params: [ | ||
59 | + {name: 'categoryId', type: 'string'}, | ||
60 | + {name: 'categoryName', type: 'string'}, | ||
61 | + {name: 'relationParameter', type: 'string'}, | ||
62 | + {name: 'relationUrl', type: 'string'}, | ||
63 | + {name: 'parentId', type: 'string'}, | ||
64 | + {name: 'orderBy', type: 'string'}, | ||
65 | + {name: 'icon', type: 'string'}, | ||
66 | + {name: 'state', type: 'string'} | ||
67 | + ] | ||
68 | + }, | ||
69 | + updateSCStatus:{ | ||
70 | + title: "开关销售类目", | ||
71 | + url: '/salesCategory/updateSCStatus', | ||
72 | + params: [ | ||
73 | + {name: 'categoryId', type: 'string'}, | ||
74 | + {name: 'state', type: 'string'} | ||
75 | + ] | ||
76 | + }, | ||
77 | + addSCLabel:{ | ||
78 | + title: "批量添加标签接口", | ||
79 | + url: '/salesCategoryLabel/addSCLabel', | ||
80 | + params: [ | ||
81 | + {name: 'labelName', type: 'string'}, | ||
82 | + {name: 'categoryId', type: 'string'}, | ||
83 | + {name: 'parentId', type: 'string'}, | ||
84 | + {name: 'orderBy', type: 'string'}, | ||
85 | + {name: 'labelLevel', type: 'string'}, | ||
86 | + {name: 'status', type: 'string'} | ||
87 | + ] | ||
88 | + } | ||
89 | + } | ||
90 | +} |
code/apps/operations/interfaces/version.js
0 → 100644
1 | +/** | ||
2 | + * Created by ty on 2016/6/23. | ||
3 | + * APP版本更新管理 | ||
4 | + */ | ||
5 | + | ||
6 | +module.exports={ | ||
7 | + namespace:"version", | ||
8 | + apis:{ | ||
9 | + appVersionList:{ | ||
10 | + title: "APP版本升级提醒列表", | ||
11 | + url: '/version/appVersionList', | ||
12 | + params: [ | ||
13 | + {name: "page", type: "number"} | ||
14 | + ] | ||
15 | + }, | ||
16 | + addAppVersion:{ | ||
17 | + title: "新增APP版本提醒", | ||
18 | + url: '/version/addAppVersion', | ||
19 | + params: [ | ||
20 | + {name: "version", type: "string"}, | ||
21 | + {name: "clientType", type: "string"}, | ||
22 | + {name: "content", type: "string"}, | ||
23 | + {name: "url", type: "string"} | ||
24 | + ] | ||
25 | + }, | ||
26 | + editAppVersion:{ | ||
27 | + title: "修改APP版本提醒", | ||
28 | + url: '/version/editAppVersion', | ||
29 | + params: [ | ||
30 | + {name: "id", type: "number"}, | ||
31 | + {name: "version", type: "string"}, | ||
32 | + {name: "clientType", type: "string"}, | ||
33 | + {name: "content", type: "string"}, | ||
34 | + {name: "url", type: "string"} | ||
35 | + ] | ||
36 | + }, | ||
37 | + publishAppVersion:{ | ||
38 | + title: "改变状态", | ||
39 | + url: '/version/publishAppVersion', | ||
40 | + params: [ | ||
41 | + {name: "id", type: "number"}, | ||
42 | + {name: "status", type: "number"} | ||
43 | + ] | ||
44 | + } | ||
45 | + } | ||
46 | +} |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + <div class="row"> | ||
6 | + <div class="col-md-12"> | ||
7 | + <div id="basicForm" class="form-horizontal form-bordered"> | ||
8 | + | ||
9 | + </div> | ||
10 | + </div> | ||
11 | + </div> | ||
12 | +</div> | ||
13 | +<script type="text/template" id="couponListAdd-template"> | ||
14 | + <div class="panel panel-default"> | ||
15 | + <div class="panel-heading"> | ||
16 | + <h4 class="panel-title">添加活动</h4> | ||
17 | + </div> | ||
18 | + <div class="panel-body"> | ||
19 | + <div class="row"> | ||
20 | + <div class="form-group"> | ||
21 | + <label class="col-sm-2 control-label">活动名称 <span class="red">*</span></label> | ||
22 | + | ||
23 | + <div class="col-sm-8"> | ||
24 | + <input type="text" placeholder="活动名称" prompt="活动名称" class="form-control observe" | ||
25 | + data-field="actName" required maxlength="30" value="[[actName]]"> | ||
26 | + </div> | ||
27 | + </div> | ||
28 | + <div class="form-group"> | ||
29 | + <label class="col-sm-2 control-label">活动类型 </label> | ||
30 | + | ||
31 | + <div class="col-sm-8"> | ||
32 | + <select id="filter-activityType" tabindex="-1" class="select2-offscreen brandBtn-group observe" | ||
33 | + value="[[activityType]]" data-field="activityType" > | ||
34 | + <option value="-1">活动类型</option> | ||
35 | + <option value="1">普通活动</option> | ||
36 | + <option value="2">APP活动</option> | ||
37 | + </select> | ||
38 | + </div> | ||
39 | + </div> | ||
40 | + | ||
41 | + <div class="form-group"> | ||
42 | + <label class="col-sm-2 control-label">活动地址</label> | ||
43 | + | ||
44 | + <div class="col-sm-8"> | ||
45 | + <input type="text" placeholder="活动地址" class="form-control observe number" data-field="actUrl" | ||
46 | + value="[[actUrl]]"> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + <div class="form-group"> | ||
50 | + <label class="col-sm-2 control-label">活动时间</label> | ||
51 | + | ||
52 | + <div class="col-sm-6"> | ||
53 | + <div class="col-sm-6"> | ||
54 | + <input type="text" class="form-control observe" data-field="startTime" id="startTime" | ||
55 | + placeholder="开始时间" value="[[startTime]]" readonly > | ||
56 | + </div> | ||
57 | + <div class="col-sm-6"> | ||
58 | + <input type="text" class="form-control observe" data-field="endTime" id="endTime" | ||
59 | + placeholder="结束时间" value="[[endTime]]" readonly > | ||
60 | + </div> | ||
61 | + </div> | ||
62 | + </div> | ||
63 | + <div class="form-group"> | ||
64 | + <label class="col-sm-2 control-label">背景图片</label> | ||
65 | + <div class="col-sm-8"> | ||
66 | + <input type="file" bucket="couponBgImg" placeholder="背景图片" class="form-control" | ||
67 | + data-field="bgImageUrl" value="[[bgImageUrl]]" name="couponBgImg"> | ||
68 | + <p>图片不是必选项 ,活动类型为APP活动时添加</p> | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + <div class="form-group"> | ||
72 | + <label class="col-sm-2 control-label">分享标题</label> | ||
73 | + | ||
74 | + <div class="col-sm-8"> | ||
75 | + <input type="text" placeholder="分享标题" prompt="名称" class="form-control observe" | ||
76 | + data-field="shareTitle" maxlength="30" value="[[shareTitle]]"> | ||
77 | + </div> | ||
78 | + </div> | ||
79 | + <div class="form-group"> | ||
80 | + <label class="col-sm-2 control-label">分享描述</label> | ||
81 | + | ||
82 | + <div class="col-sm-8"> | ||
83 | + <textarea class="form-control observe" prompt="分享描述" data-field="shareDescribe" maxlength="100" | ||
84 | + placeholder="分享描述" style="resize: none">[[shareDescribe]]</textarea> | ||
85 | + </div> | ||
86 | + </div> | ||
87 | + <div class="form-group"> | ||
88 | + <label class="col-sm-2 control-label">分享图片</label> | ||
89 | + <div class="col-sm-8"> | ||
90 | + <input type="file" bucket="couponImage" class="form-control" | ||
91 | + data-field="sharePic" value="[[sharePic]]" name="couponImage"> | ||
92 | + <p>支持jpg/png/gif,建议尺寸:640 x 1038,图片不是必选项</p> | ||
93 | + </div> | ||
94 | + </div> | ||
95 | + <div class="form-group"> | ||
96 | + <label class="col-sm-2 control-label">分享地址</label> | ||
97 | + | ||
98 | + <div class="col-sm-8"> | ||
99 | + <input type="text" placeholder="分享地址" class="form-control observe number" data-field="shareUrl" | ||
100 | + value="[[shareUrl]]"> | ||
101 | + </div> | ||
102 | + </div> | ||
103 | + <div class="form-group"> | ||
104 | + <label class="col-sm-2 control-label">是否授权</label> | ||
105 | + | ||
106 | + <div class="col-sm-8"> | ||
107 | + <label style="cursor: pointer;"><input type="radio" name="isVerify" value="Y" class="observe" data-field="isVerify">是</label> | ||
108 | + <label style="cursor: pointer;"><input type="radio" name="isVerify" value="N" class="observe" data-field="isVerify">否</label> | ||
109 | + </div> | ||
110 | + <input type="hidden" id="isVerify" value="[[isVerify]]" for="radio" data-field="isVerify"> | ||
111 | + </div> | ||
112 | + <div class="form-group"> | ||
113 | + <label class="col-sm-2 control-label">活动说明</label> | ||
114 | + | ||
115 | + <div class="col-sm-8"> | ||
116 | + <textarea class="form-control observe" prompt="分享描述" data-field="instructions" maxlength="100" | ||
117 | + placeholder="分享描述" style="resize: none">[[instructions]]</textarea> | ||
118 | + </div> | ||
119 | + </div> | ||
120 | + <div class="form-group"> | ||
121 | + <label class="col-sm-2 control-label">限制新老客户</label> | ||
122 | + | ||
123 | + <div class="col-sm-8"> | ||
124 | + <label style="cursor: pointer;"><input type="radio" name="isNewUser" value="0" class="observe" data-field="isNewUser">不限制</label> | ||
125 | + <label style="cursor: pointer;"><input type="radio" name="isNewUser" value="1" class="observe" data-field="isNewUser">限制新用户</label> | ||
126 | + </div> | ||
127 | + <input type="hidden" id="isNewUser" value="[[isNewUser]]" for="radio" data-field="isNewUser"> | ||
128 | + </div> | ||
129 | + [[each couponIds as item index]] | ||
130 | + <div class="form-group"> | ||
131 | + <label class="col-sm-2 control-label">优惠券</label> | ||
132 | + <div class="col-sm-2"> | ||
133 | + <input type="text" id="couponId" class="form-control observe" value="[[item.id]]" | ||
134 | + placeholder="ID" data-field="couponIds.[[index]].id"> | ||
135 | + </div> | ||
136 | + <div class="col-sm-2"> | ||
137 | + <a class="col-sm-4 btn btn-primary addBtn" data-index="[[index]]">+</a> | ||
138 | + <a class="col-sm-4 col-sm-offset-2 btn btn-danger delBtn" data-index="[[index]]">-</a> | ||
139 | + </div> | ||
140 | + </div> | ||
141 | + [[/each]] | ||
142 | + </div> | ||
143 | + </div> | ||
144 | + <div class="panel-footer"> | ||
145 | + <div class="row"> | ||
146 | + <div class="col-sm-8 col-sm-offset-2"> | ||
147 | + <a href="javascript:;" onclick="history.go(-1);" class="btn btn-default">取消</a> | ||
148 | + <button id="save_brand" type="button" data-loading-text="保存中..." class="btn btn-primary">保存</button> | ||
149 | + </div> | ||
150 | + </div> | ||
151 | + </div> | ||
152 | + </div> | ||
153 | +</script> | ||
154 | + | ||
155 | + | ||
156 | + |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + <div class="row"> | ||
6 | + <div class="col-md-12"> | ||
7 | + <div id="basicForm" class="form-horizontal form-bordered"> | ||
8 | + | ||
9 | + </div> | ||
10 | + </div> | ||
11 | + </div> | ||
12 | +</div> | ||
13 | +<script type="text/template" id="couponListAdd-template"> | ||
14 | + <div class="panel panel-default"> | ||
15 | + <div class="panel-heading"> | ||
16 | + <h4 class="panel-title">添加活动</h4> | ||
17 | + </div> | ||
18 | + <div class="panel-body"> | ||
19 | + <div class="row"> | ||
20 | + <div class="form-group"> | ||
21 | + <label class="col-sm-2 control-label">活动名称 <span class="red">*</span></label> | ||
22 | + | ||
23 | + <div class="col-sm-8"> | ||
24 | + <input type="text" placeholder="活动名称" prompt="活动名称" class="form-control observe" | ||
25 | + data-field="actName" required maxlength="30" value="[[actName]]"> | ||
26 | + </div> | ||
27 | + </div> | ||
28 | + <div class="form-group"> | ||
29 | + <label class="col-sm-2 control-label">活动类型 </label> | ||
30 | + | ||
31 | + <div class="col-sm-8"> | ||
32 | + <select id="filter-activityType" tabindex="-1" class="select2-offscreen brandBtn-group observe" | ||
33 | + value="[[activityType]]" data-field="activityType" > | ||
34 | + <option value="-1">活动类型</option> | ||
35 | + <option value="1">普通活动</option> | ||
36 | + <option value="2">APP活动</option> | ||
37 | + </select> | ||
38 | + </div> | ||
39 | + </div> | ||
40 | + <div class="form-group"> | ||
41 | + <label class="col-sm-2 control-label">活动地址</label> | ||
42 | + | ||
43 | + <div class="col-sm-8"> | ||
44 | + <input type="text" placeholder="活动地址" class="form-control observe number" data-field="actUrl" | ||
45 | + value="[[actUrl]]"> | ||
46 | + </div> | ||
47 | + </div> | ||
48 | + <div class="form-group"> | ||
49 | + <label class="col-sm-2 control-label">活动时间</label> | ||
50 | + | ||
51 | + <div class="col-sm-6"> | ||
52 | + <div class="col-sm-6"> | ||
53 | + <input type="text" class="form-control observe" data-field="startTime" id="startTime" | ||
54 | + placeholder="开始时间" value="[[startTime]]" readonly > | ||
55 | + </div> | ||
56 | + <div class="col-sm-6"> | ||
57 | + <input type="text" class="form-control observe" data-field="endTime" id="endTime" | ||
58 | + placeholder="结束时间" value="[[endTime]]" readonly > | ||
59 | + </div> | ||
60 | + </div> | ||
61 | + </div> | ||
62 | + <div class="form-group"> | ||
63 | + <label class="col-sm-2 control-label">背景图片</label> | ||
64 | + <div class="col-sm-8"> | ||
65 | + <input type="file" bucket="couponBgImg" placeholder="背景图片" class="form-control observe" | ||
66 | + data-field="bgImageUrl" value="[[bgImageUrl]]" name="couponBgImg"> | ||
67 | + <p>图片不是必选项 ,活动类型为APP活动时添加</p> | ||
68 | + </div> | ||
69 | + </div> | ||
70 | + <div class="form-group"> | ||
71 | + <label class="col-sm-2 control-label">分享标题</label> | ||
72 | + | ||
73 | + <div class="col-sm-8"> | ||
74 | + <input type="text" placeholder="分享标题" prompt="名称" class="form-control observe" | ||
75 | + data-field="shareTitle" maxlength="30" value="[[shareTitle]]"> | ||
76 | + </div> | ||
77 | + </div> | ||
78 | + <div class="form-group"> | ||
79 | + <label class="col-sm-2 control-label">分享描述</label> | ||
80 | + | ||
81 | + <div class="col-sm-8"> | ||
82 | + <textarea class="form-control observe" prompt="分享描述" data-field="shareDescribe" maxlength="100" | ||
83 | + placeholder="分享描述" style="resize: none">[[shareDescribe]]</textarea> | ||
84 | + </div> | ||
85 | + </div> | ||
86 | + <div class="form-group"> | ||
87 | + <label class="col-sm-2 control-label">分享图片</label> | ||
88 | + <div class="col-sm-8"> | ||
89 | + <input type="file" bucket="couponImage" class="form-control observe" | ||
90 | + data-field="sharePic" value="[[sharePic]]" name="couponImage"> | ||
91 | + <p>支持jpg/png/gif,建议尺寸:640 x 1038,图片不是必选项</p> | ||
92 | + </div> | ||
93 | + </div> | ||
94 | + <div class="form-group"> | ||
95 | + <label class="col-sm-2 control-label">分享地址</label> | ||
96 | + | ||
97 | + <div class="col-sm-8"> | ||
98 | + <input type="text" placeholder="分享地址" class="form-control observe number" data-field="shareUrl" | ||
99 | + value="[[shareUrl]]"> | ||
100 | + </div> | ||
101 | + </div> | ||
102 | + <div class="form-group"> | ||
103 | + <label class="col-sm-2 control-label">是否授权</label> | ||
104 | + | ||
105 | + <div class="col-sm-8"> | ||
106 | + <label style="cursor: pointer;"><input type="radio" name="isVerify" value="Y" class="observe" data-field="isVerify">是</label> | ||
107 | + <label style="cursor: pointer;"><input type="radio" name="isVerify" value="N" class="observe" data-field="isVerify">否</label> | ||
108 | + </div> | ||
109 | + <input type="hidden" id="isVerify" value="[[isVerify]]" for="radio" data-field="isVerify"> | ||
110 | + </div> | ||
111 | + <div class="form-group"> | ||
112 | + <label class="col-sm-2 control-label">活动说明</label> | ||
113 | + | ||
114 | + <div class="col-sm-8"> | ||
115 | + <textarea class="form-control observe" prompt="分享描述" data-field="instructions" maxlength="100" | ||
116 | + placeholder="分享描述" style="resize: none">[[instructions]]</textarea> | ||
117 | + </div> | ||
118 | + </div> | ||
119 | + <div class="form-group"> | ||
120 | + <label class="col-sm-2 control-label">限制新老客户</label> | ||
121 | + | ||
122 | + <div class="col-sm-8"> | ||
123 | + <label style="cursor: pointer;"><input type="radio" name="isNewUser" value="0" class="observe" data-field="isNewUser">不限制</label> | ||
124 | + <label style="cursor: pointer;"><input type="radio" name="isNewUser" value="1" class="observe" data-field="isNewUser">限制新用户</label> | ||
125 | + </div> | ||
126 | + <input type="hidden" id="isNewUser" value="[[isNewUser]]" for="radio" data-field="isNewUser"> | ||
127 | + </div> | ||
128 | + [[each couponIds as item index]] | ||
129 | + <div class="form-group"> | ||
130 | + <label class="col-sm-2 control-label">优惠券</label> | ||
131 | + <div class="col-sm-2"> | ||
132 | + <input type="text" id="couponId" class="form-control observe" value="[[item.id]]" | ||
133 | + placeholder="ID" data-field="couponIds.[[index]].id"> | ||
134 | + </div> | ||
135 | + <div class="col-sm-2"> | ||
136 | + <a class="col-sm-4 btn btn-primary addBtn" data-index="[[index]]">+</a> | ||
137 | + <a class="col-sm-4 col-sm-offset-2 btn btn-danger delBtn" data-index="[[index]]">-</a> | ||
138 | + </div> | ||
139 | + </div> | ||
140 | + [[/each]] | ||
141 | + </div> | ||
142 | + </div> | ||
143 | + <div class="panel-footer"> | ||
144 | + <div class="row"> | ||
145 | + <div class="col-sm-8 col-sm-offset-2"> | ||
146 | + <a href="javascript:;" onclick="history.go(-1);" class="btn btn-default">取消</a> | ||
147 | + <button id="save_brand" type="button" data-loading-text="保存中..." class="btn btn-primary">保存</button> | ||
148 | + </div> | ||
149 | + </div> | ||
150 | + </div> | ||
151 | + </div> | ||
152 | +</script> | ||
153 | + | ||
154 | + | ||
155 | + |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + <div class="panel panel-default" style="margin-bottom:10px;"> | ||
6 | + <div class="panel-body"> | ||
7 | + <a id="add-btn" href="/couponActivity/index/add" class="btn btn-info">添加活动</a> | ||
8 | + </div> | ||
9 | + <div id="content-list"> | ||
10 | + | ||
11 | + </div> | ||
12 | + </div> | ||
13 | +</div> |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + <div class="panel panel-default" style="..."> | ||
6 | + <div class="panel-body"> | ||
7 | + <a id="add-btn" href="javascript:;" class="btn btn-info">添加</a> | ||
8 | + </div> | ||
9 | + <div class="panel-body"> | ||
10 | + <div class="row"> | ||
11 | + <div class="panel-col"> | ||
12 | + <select id="status-filter" class="select2-offscreen form-control"> | ||
13 | + <option value="">选择状态</option> | ||
14 | + <option value="0">关闭</option> | ||
15 | + <option value="1">开启</option> | ||
16 | + </select> | ||
17 | + </div> | ||
18 | + <div class="panel-col"> | ||
19 | + <select id="platform-filter" class="select2-offscreen form-control"> | ||
20 | + <option value="">选择平台</option> | ||
21 | + <option value="iphone">IOS手机</option> | ||
22 | + <option value="ipad">IOS Pad</option> | ||
23 | + <option value="android">安卓手机</option> | ||
24 | + <option value="androidpad">安卓Pad</option> | ||
25 | + <option value="h5">手机网站</option> | ||
26 | + <option value="web">网站</option> | ||
27 | + <option value="platform">平台</option> | ||
28 | + </select> | ||
29 | + </div> | ||
30 | + <div class="panel-col"> | ||
31 | + <select id="channel-filter" class="select2-offscreen form-control"> | ||
32 | + <option value="">选择频道</option> | ||
33 | + <option value="1">男生</option> | ||
34 | + <option value="2">女生</option> | ||
35 | + <option value=" 3"> 潮童</option> | ||
36 | + <option value="4">创意家居</option> | ||
37 | + </select> | ||
38 | + </div> | ||
39 | + <div class="panel-col"> | ||
40 | + <a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a> | ||
41 | + <a id="filter-all" href="/hotRankTag/index" class="btn btn-info">全部</a> | ||
42 | + </div> | ||
43 | + </div> | ||
44 | + </div> | ||
45 | + </div> | ||
46 | + <div id="content-list"></div> | ||
47 | +</div> | ||
48 | + | ||
49 | +<!--编辑模态--> | ||
50 | +<script type="text/template" id="template"> | ||
51 | + <div class="rows" id="baseform"> | ||
52 | + <div class="form-group"> | ||
53 | + <label class="col-sm-2 control-label">标签名称<i class="red">*</i></label> | ||
54 | + | ||
55 | + <div class="col-sm-10"> | ||
56 | + <input type="text" value="[[tagName]]" class="form-control observe" data-field="tagName" | ||
57 | + placeholder="标签名称" required="required"/> | ||
58 | + </div> | ||
59 | + </div> | ||
60 | + <div class="form-group"> | ||
61 | + <label class="col-sm-2 control-label">分类ID</label> | ||
62 | + | ||
63 | + <div class="col-sm-10"> | ||
64 | + <input type="text" value="[[categoryId]]" class="form-control observe" data-field="categoryId" | ||
65 | + placeholder="分类ID"/> | ||
66 | + <p class="red">注:多个ID用“,”隔开</p> | ||
67 | + </div> | ||
68 | + </div> | ||
69 | + <div class="form-group"> | ||
70 | + <label class="col-sm-2 control-label">显示平台<i class="red">*</i></label> | ||
71 | + | ||
72 | + <div class="col-sm-10"> | ||
73 | + <input type="checkbox" name="platform" data-field="platform" value="iphone"/>IOS手机 | ||
74 | + <input type="checkbox" name="platform" data-field="platform" value="ipad"/>IOS Pad | ||
75 | + <input type="checkbox" name="platform" data-field="platform" value="android"/>安卓手机 | ||
76 | + <input type="checkbox" name="platform" data-field="platform" value="androidpad"/>安卓Pad | ||
77 | + <input type="checkbox" name="platform" data-field="platform" value="h5"/>手机网站 | ||
78 | + <input type="checkbox" name="platform" data-field="platform" value="web"/>网站 | ||
79 | + <input type="checkbox" name="platform" data-field="platform" value="platform"/>平台 | ||
80 | + </div> | ||
81 | + <input type="hidden" id="platform" class="observe" value="[[platform]]" for="checkbox" data-field="platform" | ||
82 | + placeholder="显示平台"> | ||
83 | + </div> | ||
84 | + <div class="form-group"> | ||
85 | + <label class="col-sm-2 control-label">显示频道<i class="red">*</i></label> | ||
86 | + <div class="col-sm-8 "> | ||
87 | + <input type="radio" name="channel" class="observe" data-field="channel" value="1">男生 | ||
88 | + <input type="radio" name="channel" class="observe" data-field="channel" value="2">女生 | ||
89 | + <input type="radio" name="channel" class="observe" data-field="channel" value="3">潮童 | ||
90 | + <input type="radio" name="channel" class="observe" data-field="channel" value="4">创意家居 | ||
91 | + | ||
92 | + </div> | ||
93 | + <input type="hidden" id="channel" value="[[channel]]" for="radio" class="observe" data-field="channel" | ||
94 | + placeholder="显示频道" required/> | ||
95 | + </div> | ||
96 | + <div class="form-group"> | ||
97 | + <label class="col-sm-2 control-label">排序</label> | ||
98 | + | ||
99 | + <div class="col-sm-10"> | ||
100 | + <input type="text" value="[[orderBy]]" class="form-control observe" data-field="orderBy" | ||
101 | + placeholder="排序" required/> | ||
102 | + </div> | ||
103 | + </div> | ||
104 | + </div> | ||
105 | +</script> | ||
106 | + |
code/apps/operations/views/limit/index.html
0 → 100644
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + <div class="panel panel-default" style="margin-bottom:10px;"> | ||
6 | + <div class="panel-heading"> | ||
7 | + <a href="/limit/product/add" class="btn btn-success "><i class="fa fa-plus"></i> 添加</a> | ||
8 | + </div> | ||
9 | + <div class="panel-body"> | ||
10 | + <div class="row"> | ||
11 | + <div class="panel-col2"> | ||
12 | + <input id="product-name" class="form-control panel-input" type="text" placeholder="请输入名称"> | ||
13 | + </div> | ||
14 | + <div class="panel-col2"> | ||
15 | + <input id="skn" class="form-control panel-input" type="text" placeholder="请输入SKN"> | ||
16 | + </div> | ||
17 | + <div class="panel-col"> | ||
18 | + <label class="control-label pull-left">是否开启:</label> | ||
19 | + <div class="label-leading pull-left"> | ||
20 | + <label class="radio-inline"><input type="radio" name="showFlag" value="1">是</label> | ||
21 | + <label class="radio-inline"><input type="radio" name="showFlag" value="0">否</label> | ||
22 | + </div> | ||
23 | + </div> | ||
24 | + <!-- <div class="panel-col"> | ||
25 | + <label class="control-label pull-left">热门:</label> | ||
26 | + <div class="label-leading pull-left"> | ||
27 | + <label class="radio-inline"><input type="radio" name="hotFlag" value="1">是</label> | ||
28 | + <label class="radio-inline"><input type="radio" name="hotFlag" value="0">否</label> | ||
29 | + </div> | ||
30 | + </div> | ||
31 | + <div class="panel-col"> | ||
32 | + <label class="control-label pull-left">是否发售:</label> | ||
33 | + <div class="label-leading pull-left"> | ||
34 | + <label class="radio-inline"><input type="radio" name="saleFlag" value="1">是</label> | ||
35 | + <label class="radio-inline"><input type="radio" name="saleFlag" value="0">否</label> | ||
36 | + </div> | ||
37 | + </div> --> | ||
38 | + <a id="filter-btn" href="javascript:;" class="btn btn-info">筛选</a> | ||
39 | + <a id="all-btn" href="" class="btn btn-info">全部</a> | ||
40 | + <a id="export-btn" href="javascript:;" class="btn btn-info">导出</a> | ||
41 | + </div> | ||
42 | + </div> | ||
43 | + </div> | ||
44 | + | ||
45 | + <div class="row"> | ||
46 | + <div class="col-md-12 mt20"> | ||
47 | + <div class="dataTab_wrapper" id="basicTab"></div> | ||
48 | + <div id="limit-table-box" class="table-responsive"></div> | ||
49 | + </div> | ||
50 | + </div> | ||
51 | +</div> |
code/apps/operations/views/notice/Index.html
0 → 100644
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="panel panel-default" style="margin-bottom:10px;"> | ||
5 | + <div class="panel-heading"> | ||
6 | + <a class="btn btn-success " id="add-notice"><i class="fa fa-plus"></i> 创建公告</a> | ||
7 | + </div> | ||
8 | + <div class="panel-body"> | ||
9 | + <div class="row"> | ||
10 | + <div class="panel-col"> | ||
11 | + <input type="text" placeholder="公告标题" id="notice-title" class="form-control" /> | ||
12 | + </div> | ||
13 | + <div class="panel-col"> | ||
14 | + <select name="position" id="notice-position" tabindex="-1" title="" class="select2-offscreen brandBtn-group"> | ||
15 | + <option value="" selected="">位置</option> | ||
16 | + <option value="1">首页</option> | ||
17 | + <option value="2">个人中心</option> | ||
18 | + </select> | ||
19 | + </div> | ||
20 | + <a id="filter-btn" href="javascript:;" class="btn btn-info">筛选</a> | ||
21 | + <a id="filter-all" href="/operations/notice/index" class="btn btn-info">全部</a> | ||
22 | + </div> | ||
23 | + </div> | ||
24 | + <div id="notice-list"></div> | ||
25 | +</div> | ||
26 | + | ||
27 | +<script type="text/template" id="template"> | ||
28 | +<div class="rows" id="baseform"> | ||
29 | + <div class="form-group"> | ||
30 | + <label class="col-sm-2 control-label" for="title">公告标题</label> | ||
31 | + <input type="hidden" value="{id}" id="id" /> | ||
32 | + <div class="col-sm-10"> | ||
33 | + <input type="text" value="{title}" class="form-control" id="title" required="required" placeholder="公告标题" required="required" /> | ||
34 | + <p style="color:#999;margin-top: 5px;">注:请控制在15个字之内,多余15个字,5s等手机屏幕前台会显示不全。</p> | ||
35 | + </div> | ||
36 | + </div> | ||
37 | + <div class="form-group"> | ||
38 | + <label class="col-sm-2 control-label" for="position">公告位置</label> | ||
39 | + <div class="col-sm-5"> | ||
40 | + <select name="position" id="position" tabindex="-1" title="" class="select2-offscreen brandBtn-group" value="{position}" required="required"> | ||
41 | + <option value="" selected="">请选择</option> | ||
42 | + <option value="1">首页</option> | ||
43 | + <option value="2">个人中心</option> | ||
44 | + </select> | ||
45 | + </div> | ||
46 | + <div id="showchannel" class="col-sm-5"> | ||
47 | + <label style="cursor: pointer;"><input type="checkbox" name="showChannels" value="1">男首</label> | ||
48 | + <label style="cursor: pointer;"><input type="checkbox" name="showChannels" value="2">女首</label> | ||
49 | + <label style="cursor: pointer;"><input type="checkbox" name="showChannels" value="3">潮童</label> | ||
50 | + <label style="cursor: pointer;"><input type="checkbox" name="showChannels" value="4">创意生活</label> | ||
51 | + </div> | ||
52 | + <input type="hidden" id="showChannels" value="{showChannels}" for="checkbox"> | ||
53 | + </div> | ||
54 | + <div class="form-group"> | ||
55 | + <label class="col-sm-2 control-label">url地址</label> | ||
56 | + <div class="col-sm-4"> | ||
57 | + <select id="intent" name="goTo" class="form-control" > | ||
58 | + <option value="">选择跳转目的</option> | ||
59 | + <option value="brand">品牌列表页</option> | ||
60 | + <option value="productDetail">商品详情页</option> | ||
61 | + <option value="coupon">优惠券页</option> | ||
62 | + <option value="fav">收藏列表页</option> | ||
63 | + <option value="mine">我的页面</option> | ||
64 | + <option value="list">列表或搜索页</option> | ||
65 | + <option value="attention">关注页</option> | ||
66 | + <option value="plus">plus页</option> | ||
67 | + <option value="star">star页</option> | ||
68 | + <option value="new">新品到着页</option> | ||
69 | + <option value="sale">折扣页</option> | ||
70 | + <option value="h5">h5网页</option> | ||
71 | + <option value="guangchannel">逛频道</option> | ||
72 | + <option value="gender">男女首页</option> | ||
73 | + <option value="activity">app活动页</option> | ||
74 | + <option value="home">频道首页</option> | ||
75 | + <option value="yohood">YOHOOD</option> | ||
76 | + <option value="top100">热销排行</option> | ||
77 | + <option value="activitytemplate">活动模板</option> | ||
78 | + <option value="globalpurchase">全球购</option> | ||
79 | + <option value="subchannel">二级频道</option> | ||
80 | + <option value="guangchannel">逛频道或SHOW晒单页</option> | ||
81 | + <option value="showgoods">去晒单</option> | ||
82 | + <option value="limitpurchase">尖货频道</option> | ||
83 | + <option value="vippro">会员商品</option> | ||
84 | + <option value="shortsize">断码页</option> | ||
85 | + <option value="discountmarket">折扣专区</option> | ||
86 | + <option value="discountmarketpro">折扣专区详情页</option> | ||
87 | + </select> | ||
88 | + </div> | ||
89 | + <div class="col-sm-4"> | ||
90 | + <input id="url" value="{url}" class="form-control" placeholder="URL地址" /> | ||
91 | + <p style="color:#999;margin-top: 5px;">注:链接中不能有英文单引号</p> | ||
92 | + </div> | ||
93 | + </div> | ||
94 | + <div class="form-group"> | ||
95 | + <label class="col-sm-2 control-label">图片</label> | ||
96 | + <div class="col-sm-10"> | ||
97 | + <input type="file" id="img" name="img" value="{img}" /> | ||
98 | + </div> | ||
99 | + </div> | ||
100 | + <div class="form-group col-sm-100"> | ||
101 | + <label class="col-sm-2 control-label">活动时间</label> | ||
102 | + <div class="panel-col1 col-sm-4"> | ||
103 | + <input type="text" id="startTime" jsaction="time:end:endTime" readonly class="form-control panel-input hasDatepicker " name="start_time" placeholder="开始时间" value="{startTime}"> | ||
104 | + </div> | ||
105 | + <div class="panel-col1 col-sm-4"> | ||
106 | + <input type="text" id="endTime" jsaction="time:start:startTime" readonly class="form-control panel-input hasDatepicker" name="end_time" placeholder="结束时间" value="{endTime}"> | ||
107 | + </div> | ||
108 | + </div> | ||
109 | +</div> | ||
110 | +</script> |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + | ||
6 | + <div class="panel panel-default"> | ||
7 | + <div class="panel-body nopadding"> | ||
8 | + <div class="state-select" style="position: relative"> | ||
9 | + <strong>状态:</strong> | ||
10 | + <label><input type="radio" name="state" value="">全部</label> | ||
11 | + <label class="current"><input type="radio" name="state" value="1">开启</label> | ||
12 | + <label><input type="radio" name="state" value="0">关闭</label> | ||
13 | + <button type="button" class="btn btn-primary" onclick="location.href='/sale/category/index'" style="position: absolute; top: 2px; right: 20px"> 返回 </button> | ||
14 | + </div> | ||
15 | + </div> | ||
16 | + </div> | ||
17 | + | ||
18 | + <div class="panel"> | ||
19 | + <div class="panel-body nopadding"> | ||
20 | + <div class="dataTables_wrapper no-footer" id="basicTable"></div> | ||
21 | + <%if data%> | ||
22 | + <input id="categoryId" type="hidden" value="<%categoryId%>"> | ||
23 | + <%/if%> | ||
24 | + </div> | ||
25 | + </div> | ||
26 | + | ||
27 | + | ||
28 | +</div> | ||
29 | + | ||
30 | + |
1 | +<div class="pageheader"> | ||
2 | + <div class="media"> | ||
3 | + <div class="pageicon pull-left"> | ||
4 | + <i class="fa fa-th-list"></i> | ||
5 | + </div> | ||
6 | + <div class="media-body"> | ||
7 | + <ul class="breadcrumb"> | ||
8 | + <li><a href="#"><i class="glyphicon glyphicon-home"></i></a></li> | ||
9 | + <li><a href="#">运营管理</a></li> | ||
10 | + <li>销售类目管理</li> | ||
11 | + </ul> | ||
12 | + <h4>销售类目编辑</h4> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | +</div> | ||
16 | +<div class="contentpanel"> | ||
17 | + <div class="panel panel-default"> | ||
18 | + <div class="panel-heading"> | ||
19 | + <h2 class="panel-title">销售类目编辑</h2> | ||
20 | + </div> | ||
21 | + | ||
22 | + <div class="panel-body"> | ||
23 | + <form id="basicForm" role="form" action="{{action}}" class="form-horizontal form-bordered"> | ||
24 | + {{# data}} | ||
25 | + {{#unless addRootCategory}} | ||
26 | + <div class="form-group"> | ||
27 | + <label class="col-sm-2 control-label">父分类</label> | ||
28 | + <div class="col-sm-8 height40">{{# parentSC}}{{categoryName}}{{# items}}-{{categoryName}}{{/ items}}{{/ parentSC}}</div> | ||
29 | + </div> | ||
30 | + {{/unless}} | ||
31 | + | ||
32 | + <div class="form-group"> | ||
33 | + <label class="col-sm-2 control-label">分类名称</label> | ||
34 | + <div class="col-sm-8"><input type="text" id="categoryName" name="categoryName" class="form-control" placeholder="分类名称" value="{{categoryName}}"></div> | ||
35 | + </div> | ||
36 | + <div class="form-group"> | ||
37 | + <label class="col-sm-2 control-label">分类图标</label> | ||
38 | + <div class="col-sm-8"><input type="file" id="icon" name="icon" value="{{icon}}" placeholder="分别图标"></div> | ||
39 | + </div> | ||
40 | + <div class="form-group"> | ||
41 | + <label class="col-sm-2 control-label">物理类目关联</label> | ||
42 | + <div class="col-sm-8 sort-wrap"> | ||
43 | + <div class="row"> | ||
44 | + <div class="col-sm-4"> | ||
45 | + <div class="sortTree"></div> | ||
46 | + </div> | ||
47 | + <div class="col-sm-2 height40"> | ||
48 | + <a class="btn btn-danger btn-xs del-sort-btn" style="display: none;" href="javascript:;">-</a> | ||
49 | + <a class="btn btn-info btn-xs add-sort-btn" href="javascript:;">+</a> | ||
50 | + </div> | ||
51 | + </div> | ||
52 | + </div> | ||
53 | + </div> | ||
54 | + <input id="parentId" type="hidden" value="{{parentId}}"> | ||
55 | + {{/ data}} | ||
56 | + </form> | ||
57 | + </div> | ||
58 | + | ||
59 | + <div class="panel-footer"> | ||
60 | + <div class="col-sm-8 col-sm-offset-2"> | ||
61 | + <a id="save_brand" data-loading-text="保存中..." class="btn btn-primary" href="javascript:;">保存</a> | ||
62 | + <a href="javascript:;" onclick="history.go(-1);" class="btn btn-danger">取消</a> | ||
63 | + | ||
64 | + </div> | ||
65 | + </div> | ||
66 | + </div> | ||
67 | +</div> | ||
68 | + | ||
69 | + | ||
70 | +<script type="text/template" id="sortWrap"> | ||
71 | +<div class="row"> | ||
72 | + <div class="col-sm-6"> | ||
73 | + <div class="sortTree"></div> | ||
74 | + </div> | ||
75 | + <div class="col-sm-2 height40"> | ||
76 | + <a class="btn btn-danger btn-xs del-sort-btn" href="javascript:;">-</a> | ||
77 | + <a class="btn btn-info btn-xs add-sort-btn" href="javascript:;">+</a> | ||
78 | + </div> | ||
79 | +</div> | ||
80 | +</script> |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="contentpanel"> | ||
5 | + | ||
6 | + <div class="panel panel-default" style="margin:10px 0; display: none"> | ||
7 | + <div class="panel-body nopadding"> | ||
8 | + <div class="state-select"> | ||
9 | + <strong>状态:</strong> | ||
10 | + <label><input type="radio" name="state" value="">全部</label> | ||
11 | + <label class="current"><input type="radio" name="state" value="1">开启</label> | ||
12 | + <label><input type="radio" name="state" value="0">关闭</label> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | + </div> | ||
16 | + | ||
17 | + <a href="javascript:;" id="add-root-category" class="btn btn-success" style="margin:10px 0;"><i class="fa fa-plus"></i> 添加根分类</a> | ||
18 | + | ||
19 | + <div class="panel"> | ||
20 | + <div class="panel-body nopadding"> | ||
21 | + | ||
22 | + <div class="sale-category-table dataTables_wrapper no-footer" id="basicTable"></div> | ||
23 | + </div> | ||
24 | + </div> | ||
25 | + | ||
26 | + | ||
27 | +</div> | ||
28 | + | ||
29 | +<input type="hidden" id="gridurl" value="<%gridurl%>"> | ||
30 | + | ||
31 | +<script type="text/template" id="editTemp"> | ||
32 | + <div class="panel"> | ||
33 | + <div class="panel-body nopadding"> | ||
34 | + <form id="basicForm" role="form" action="[[action]]" class="form-horizontal form-bordered"> | ||
35 | + <div class="form-group" style="padding-top: 0"> | ||
36 | + <label class="col-sm-2 control-label">父分类:</label> | ||
37 | + <div class="col-sm-8 height40">[[parentName]]</div> | ||
38 | + </div> | ||
39 | + <div class="form-group"> | ||
40 | + <label class="col-sm-2 control-label">分类名称:</label> | ||
41 | + <div class="col-sm-8"> | ||
42 | + <div class="form-inline"> | ||
43 | + <input type="text" id="categoryName" name="categoryName" class="form-control" placeholder="分类名称" value="[[categoryName]]" style="width: 450px"> | ||
44 | + <label style="color: #ff0000; line-height: 40px; margin-left: 15px"> * 必填</label> | ||
45 | + </div> | ||
46 | + </div> | ||
47 | + </div> | ||
48 | + <div class="form-group"> | ||
49 | + <label class="col-sm-2 control-label">分类图标:</label> | ||
50 | + <div class="col-sm-8"><input type="file" id="icon" name="icon" value="[[icon]]" placeholder="分别图标"></div> | ||
51 | + </div> | ||
52 | + <div class="form-group" style="margin-bottom: 40px"> | ||
53 | + <label class="col-sm-2 control-label">物理类目关联:</label> | ||
54 | + <div class="col-sm-8 sort-wrap"> | ||
55 | + <div class="row"> | ||
56 | + <div class="col-sm-10"> | ||
57 | + <div class="sortTree"></div> | ||
58 | + </div> | ||
59 | + <div class="col-sm-2 height40"> | ||
60 | + <a class="btn btn-danger btn-xs del-sort-btn" href="javascript:;">-</a> | ||
61 | + <a class="btn btn-info btn-xs add-sort-btn" href="javascript:;">+</a> | ||
62 | + </div> | ||
63 | + </div> | ||
64 | + </div> | ||
65 | + </div> | ||
66 | + <input id="categoryId" type="hidden" value="[[categoryId]]"> | ||
67 | + <input id="parentId" type="hidden" value="[[parentId]]"> | ||
68 | + <input id="orderBy" type="hidden" value="[[orderBy]]"> | ||
69 | + </form> | ||
70 | + </div> | ||
71 | + </div> | ||
72 | +</script> | ||
73 | + | ||
74 | +<script type="text/template" id="sortWrap"> | ||
75 | + <div class="row"> | ||
76 | + <div class="col-sm-10"> | ||
77 | + <div class="sortTree"></div> | ||
78 | + </div> | ||
79 | + <div class="col-sm-2 height40"> | ||
80 | + <a class="btn btn-danger btn-xs del-sort-btn" href="javascript:;">-</a> | ||
81 | + <a class="btn btn-info btn-xs add-sort-btn" href="javascript:;">+</a> | ||
82 | + </div> | ||
83 | + </div> | ||
84 | +</script> | ||
85 | + | ||
86 | +<script type="text/template" id="tableHdTemp"> | ||
87 | + <div class="level-hd clearfix"> | ||
88 | + <span class="folder"></span> | ||
89 | + <span style="width: 5%">ID</span> | ||
90 | + <span style="width: 20%">品类名称</span> | ||
91 | + <span>所属分类</span> | ||
92 | + <span>分类图标</span> | ||
93 | + <span class="orderby">排序</span> | ||
94 | + <span class="status">状态</span> | ||
95 | + <span class="operate">操作</span> | ||
96 | + </div> | ||
97 | +</script> | ||
98 | +<script type="text/template" id="tableTemp"> | ||
99 | + | ||
100 | + <div class="level-1-wrap"> | ||
101 | + <div class="level-wrap clearfix"> | ||
102 | + <span class="folder"></span> | ||
103 | + <span>[[categoryId]]</span> | ||
104 | + <span>[[categoryName]]</span> | ||
105 | + <span>一级分类</span> | ||
106 | + <span><img src="[[icon]]" alt=""></span> | ||
107 | + <span class="orderby"> <input type="text" class="form-control saleCategoryNumInput" value="[[orderBy]]" categoryId="[[categoryId]]" /></span> | ||
108 | + <span class="status"> | ||
109 | + [[if state=="1"]] | ||
110 | + 开启 | ||
111 | + [[/if]] | ||
112 | + [[if state=="0"]] | ||
113 | + 关闭 | ||
114 | + [[/if]] | ||
115 | + </span> | ||
116 | + <span class="operate" data-id="[[categoryId]]" data-name="[[categoryName]]"> | ||
117 | + <a class="btn btn-info btn-xs edit-btn" href="javascript:;">编辑</a> | ||
118 | + <a class="btn btn-success btn-xs tagmgmt-btn" href="/sale/category/tag/[[categoryId]]">标签管理</a> | ||
119 | + <a class="btn btn-info btn-xs add-sub-category" href="javascript:;">添加子分类</a> | ||
120 | + [[if state=="1"]] | ||
121 | + <a class="btn btn-danger btn-xs close-category" href="javascript:;">关闭</a> | ||
122 | + [[/if]] | ||
123 | + [[if state=="0"]] | ||
124 | + <a class="btn btn-warning btn-xs open-category" href="javascript:;">开启</a> | ||
125 | + [[/if]] | ||
126 | + </span> | ||
127 | + [[if items]] | ||
128 | + <div class="level-2-wrap"> | ||
129 | + [[each items as a index]] | ||
130 | + <div class="level-wrap clearfix"> | ||
131 | + <span class="folder"></span> | ||
132 | + <span>[[a.categoryId]]</span> | ||
133 | + <span>[[a.categoryName]]</span> | ||
134 | + <span>二级分类</span> | ||
135 | + <span><img src="[[a.icon]]" alt=""></span> | ||
136 | + <span class="orderby"><input type="text" class="form-control saleCategoryNumInput" value="[[a.orderBy]]" categoryId="[[a.categoryId]]" /></span> | ||
137 | + <span class="status"> | ||
138 | + [[if a.state=="1"]] | ||
139 | + 开启 | ||
140 | + [[/if]] | ||
141 | + [[if a.state=="0"]] | ||
142 | + 关闭 | ||
143 | + [[/if]] | ||
144 | + </span> | ||
145 | + <span class="operate" data-id="[[a.categoryId]]" data-name="[[a.categoryName]]"> | ||
146 | + <a class="btn btn-info btn-xs edit-btn" href="javascript:;">编辑</a> | ||
147 | + <a class="btn btn-success btn-xs tagmgmt-btn" href="/sale/category/tag/[[a.categoryId]]">标签管理</a> | ||
148 | + <a class="btn btn-info btn-xs add-sub-category" href="javascript:;">添加子分类</a> | ||
149 | + [[if a.state=="1"]] | ||
150 | + <a class="btn btn-danger btn-xs close-category" href="javascript:;">关闭</a> | ||
151 | + [[/if]] | ||
152 | + [[if a.state=="0"]] | ||
153 | + <a class="btn btn-warning btn-xs open-category" href="javascript:;">开启</a> | ||
154 | + [[/if]] | ||
155 | + </span> | ||
156 | + [[if a.items]] | ||
157 | + <div class="level-3-wrap"> | ||
158 | + [[each a.items as b index]] | ||
159 | + <div class="level-wrap clearfix"> | ||
160 | + <span class="folder"></span> | ||
161 | + <span>[[b.categoryId]]</span> | ||
162 | + <span>[[b.categoryName]]</span> | ||
163 | + <span>三级分类</span> | ||
164 | + <span><img src="[[b.icon]]" alt=""></span> | ||
165 | + <span class="orderby"><input type="text" class="form-control saleCategoryNumInput" value="[[b.orderBy]]" categoryId="[[b.categoryId]]" /></span> | ||
166 | + <span class="status"> | ||
167 | + [[if b.state=="1"]] | ||
168 | + 开启 | ||
169 | + [[/if]] | ||
170 | + [[if b.state=="0"]] | ||
171 | + 关闭 | ||
172 | + [[/if]] | ||
173 | + </span> | ||
174 | + <span class="operate" data-id="[[b.categoryId]]" data-name="[[b.categoryName]]"> | ||
175 | + <a class="btn btn-info btn-xs edit-btn" href="javascript:;">编辑</a> | ||
176 | + <a class="btn btn-success btn-xs tagmgmt-btn" href="/sale/category/tag/[[b.categoryId]]">标签管理</a> | ||
177 | + <a class="btn btn-info btn-xs add-sub-category" href="javascript:;">添加子分类</a> | ||
178 | + [[if b.state=="1"]] | ||
179 | + <a class="btn btn-danger btn-xs close-category" href="javascript:;">关闭</a> | ||
180 | + [[/if]] | ||
181 | + [[if b.state=="0"]] | ||
182 | + <a class="btn btn-warning btn-xs open-category" href="javascript:;">开启</a> | ||
183 | + [[/if]] | ||
184 | + </span> | ||
185 | + </div> | ||
186 | + [[/each]] | ||
187 | + </div> | ||
188 | + [[/if]] | ||
189 | + </div> | ||
190 | + | ||
191 | + [[/each]] | ||
192 | + </div> | ||
193 | + [[/if]] | ||
194 | + </div> | ||
195 | + | ||
196 | + </div> | ||
197 | +</script> | ||
198 | + | ||
199 | +<script type="text/template" id="tableTemp2"> | ||
200 | + <span class="folder"></span> | ||
201 | + <span style="width: 5%">[[categoryId]]</span> | ||
202 | + <span style="width: 20%">[[categoryName]]</span> | ||
203 | + <span>[[levelNumber]]级分类</span> | ||
204 | + <span><img src="[[icon]]" alt=""></span> | ||
205 | + <span class="orderby"> <input type="text" class="form-control saleCategoryNumInput" value="[[orderBy]]" categoryId="[[categoryId]]" /></span> | ||
206 | + <span class="status">[[if state=="1"]]<b style="color: #449d44">开启</b>[[/if]][[if state=="0"]]<b style="color: #d9534f">关闭</b>[[/if]]</span> | ||
207 | + <span class="operate" data-id="[[categoryId]]" data-name="[[categoryName]]"> | ||
208 | + <a class="btn btn-info btn-xs edit-btn" href="javascript:;">编辑</a> | ||
209 | + <a class="btn btn-success btn-xs tagmgmt-btn" href="/sale/category/tag/[[categoryId]]">标签管理</a> | ||
210 | + <a class="btn btn-primary btn-xs add-sub-category" href="javascript:;">添加子分类</a> | ||
211 | + <b class="openAndClose" data-id="[[categoryId]]" data-name="[[categoryName]]"> | ||
212 | + [[if state=="1"]]<a class="btn btn-danger btn-xs close-category" href="javascript:;">关闭</a>[[/if]] | ||
213 | + [[if state=="0"]]<a class="btn btn-warning btn-xs open-category" href="javascript:;">开启</a>[[/if]] | ||
214 | + </b> | ||
215 | + </span> | ||
216 | +</script> |
1 | +<%include '../../../common/views/__ui/header'%> | ||
2 | +<%include '../../../common/views/__partail/ListHeader'%> | ||
3 | + | ||
4 | +<div class="panel panel-default" style="margin-bottom:10px;"> | ||
5 | + <div class="panel-heading"> | ||
6 | + <a class="btn btn-success " id="addAppVersion"><i class="fa fa-plus"></i> 添加</a> | ||
7 | + </div> | ||
8 | + <div id="appVersionList"></div> | ||
9 | +</div> | ||
10 | + | ||
11 | +<script type="text/template" id="template"> | ||
12 | + <div class="row" id="base-form"> | ||
13 | + <div class="form-group"> | ||
14 | + <label class="col-sm-2 control-label">版本号</label> | ||
15 | + <div class="col-sm-8"> | ||
16 | + <input type="text" id="version" value="[[version]]" class="form-control"> | ||
17 | + <input type="hidden" id="id" value="[[id]]" class="form-control"> | ||
18 | + </div> | ||
19 | + </div><!-- form-group --> | ||
20 | + | ||
21 | + <div class="form-group"> | ||
22 | + <label class="col-sm-2 control-label">提醒内容</label> | ||
23 | + <div class="col-sm-8"> | ||
24 | + <textarea id="content" name="content" class="form-control">[[content]]</textarea> | ||
25 | + </div> | ||
26 | + </div><!-- form-group --> | ||
27 | + <div class="form-group"> | ||
28 | + <label class="col-sm-2 control-label">链接</label> | ||
29 | + <div class="col-sm-8"> | ||
30 | + <input type="text" id="url" class="form-control" value="[[url]]" required="required"> | ||
31 | + </div> | ||
32 | + </div><!-- form-group --> | ||
33 | + <div class="form-group"> | ||
34 | + <label class="col-sm-2 control-label">客户端类型</label> | ||
35 | + <div class="col-sm-8"> | ||
36 | + <label style="cursor: pointer;"><input type="checkbox" name="clientType" value="iphone">IOS手机</label> | ||
37 | + <label style="cursor: pointer;"><input type="checkbox" name="clientType" value="ipad">IOS Pad</label> | ||
38 | + <label style="cursor: pointer;"><input type="checkbox" name="clientType" value="android">安卓手机</label> | ||
39 | + <label style="cursor: pointer;"><input type="checkbox" name="clientType" value="androidpad">安卓Pad</label> | ||
40 | + </div> | ||
41 | + <input type="hidden" id="clientType" value="[[clientType]]" for="checkbox" /> | ||
42 | + </div><!-- form-group --> | ||
43 | + </div> | ||
44 | +</script> |
@@ -4,8 +4,8 @@ | @@ -4,8 +4,8 @@ | ||
4 | */ | 4 | */ |
5 | 5 | ||
6 | var $ = require('jquery'); | 6 | var $ = require('jquery'); |
7 | -common = require('../common/common'); | ||
8 | -var activity = require('./partials/activity'); | 7 | +common = require('../../../common/common'); |
8 | +var activity = require('./../partials/activity'); | ||
9 | var startTimeObj; | 9 | var startTimeObj; |
10 | var endTimeObj; | 10 | var endTimeObj; |
11 | 11 |
1 | +/** | ||
2 | + * Created by jiangmin on 16/5/26. | ||
3 | + * 品牌发券管理 | ||
4 | + */ | ||
5 | +var $ = require('jquery'); | ||
6 | +common = require('../../../common/common'); | ||
7 | +var e1 = new common.edit2("#basicForm"); | ||
8 | +var activity = {}; | ||
9 | +var activityId = location.href.substring(location.href.lastIndexOf("/") + 1); | ||
10 | + | ||
11 | +/** | ||
12 | + * 监听输入值的变化 | ||
13 | + */ | ||
14 | +$(document).on("change", ".observe", function () { | ||
15 | + var $this = $(this); | ||
16 | + var name = $this.data("field"); | ||
17 | + activity = common.util.__buildobj(name, '.', activity, function (obj, name) { | ||
18 | + obj[name] = $this.val(); | ||
19 | + }); | ||
20 | +}); | ||
21 | +//通用对象 | ||
22 | +var Bll = { | ||
23 | + //获取数据,并转换相应格式 | ||
24 | + getData: function () { | ||
25 | + common.util.__ajax({ | ||
26 | + url: "/couponActivity/queryById", | ||
27 | + data: {id: activityId}, | ||
28 | + async: false | ||
29 | + }, function (res) { | ||
30 | + activity = res.data; | ||
31 | + }, true); | ||
32 | + var ids=[]; | ||
33 | + activity.couponIds=[]; | ||
34 | + if(activity.couponId){ | ||
35 | + ids = activity.couponId.split(","); | ||
36 | + } | ||
37 | + if(ids.length==0){ | ||
38 | + activity.couponIds.push({id: ""}); | ||
39 | + }else{ | ||
40 | + for (var i = 0; i < ids.length; i++) { | ||
41 | + activity.couponIds.push({id: ids[i]}); | ||
42 | + } | ||
43 | + } | ||
44 | + if(activity.startTime){ | ||
45 | + activity.startTime=Bll.getTime(activity.startTime); | ||
46 | + } | ||
47 | + if(activity.endTime){ | ||
48 | + activity.endTime=Bll.getTime(activity.endTime); | ||
49 | + } | ||
50 | + }, | ||
51 | + //渲染界面 | ||
52 | + render: function () { | ||
53 | + console.log("activity",activity); | ||
54 | + $("#basicForm").html(common.util.__template2($("#couponListAdd-template").html(), activity)); | ||
55 | + Bll.__editRender(); | ||
56 | + }, | ||
57 | + //转换时间格式 | ||
58 | + getTime: function (time) { | ||
59 | + var t = new Date(time * 1000); | ||
60 | + return common.util.__dateFormat(t, "yyyy-MM-dd hh:mm:ss"); | ||
61 | + }, | ||
62 | + //验证 | ||
63 | + __editRender: function () { | ||
64 | + e1.init(); | ||
65 | + new common.dropDown({ | ||
66 | + el: "#filter-activityType" | ||
67 | + }); | ||
68 | + startTimeObj = $("#startTime").fdatepicker({ | ||
69 | + format: 'yyyy-mm-dd hh:ii:ss', | ||
70 | + pickTime: true | ||
71 | + }).data("datepicker"); | ||
72 | + endTimeObj = $("#endTime").fdatepicker({ | ||
73 | + format: 'yyyy-mm-dd hh:ii:ss', | ||
74 | + pickTime: true | ||
75 | + }).data("datepicker"); | ||
76 | + e1.on("file_onComplete", function (obj) { | ||
77 | + var names = obj.field; | ||
78 | + activity = common.util.__buildobj(names, '.', activity, function (o, name) { | ||
79 | + o[name] = obj.data; | ||
80 | + }); | ||
81 | + }); | ||
82 | + } | ||
83 | +}; | ||
84 | +Bll.getData(); | ||
85 | +Bll.render(); | ||
86 | + | ||
87 | +/*添加一行*/ | ||
88 | +$(document).on("click", ".addBtn", function () { | ||
89 | + activity.couponIds.push({ | ||
90 | + "id": "" | ||
91 | + }); | ||
92 | + Bll.render(); | ||
93 | +}); | ||
94 | +/** | ||
95 | + * 删除行 | ||
96 | + */ | ||
97 | +$(document).on("click", ".delBtn", function () { | ||
98 | + var index = $(this).data("index"); | ||
99 | + if (activity.couponIds.length <= 1) { | ||
100 | + common.util.__tip("至少有一张优惠券", "warning") | ||
101 | + } | ||
102 | + else { | ||
103 | + activity.couponIds.splice(index, 1); | ||
104 | + Bll.render(); | ||
105 | + } | ||
106 | +}); | ||
107 | +/** | ||
108 | + * 保存 | ||
109 | + */ | ||
110 | +$(document).on('click', "#save_brand", function () { | ||
111 | + var ids = []; | ||
112 | + if (activity.couponIds.length > 0) { | ||
113 | + for (var index in activity.couponIds) { | ||
114 | + ids.push(activity.couponIds[index].id) | ||
115 | + } | ||
116 | + } | ||
117 | + if (ids.length > 0) { | ||
118 | + activity.couponId = ids.join(","); | ||
119 | + } | ||
120 | + activity.startTime=((new Date(activity.startTime).getTime()))/1000||""; | ||
121 | + activity.endTime=((new Date(activity.endTime).getTime()))/1000||""; | ||
122 | + if(e1.validate()){ | ||
123 | + common.util.__ajax({ | ||
124 | + url:"/couponActivity/update", | ||
125 | + data:activity | ||
126 | + }, function (){ | ||
127 | + location.href = "/couponActivity/index"; | ||
128 | + } ) | ||
129 | + } | ||
130 | +}); | ||
131 | + |
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | */ | 4 | */ |
5 | 5 | ||
6 | var $ = require('jquery'); | 6 | var $ = require('jquery'); |
7 | -common = require('../common/common'); | 7 | +common = require('../../../common/common'); |
8 | var activityTypes = ["普通活动", "APP活动"]; | 8 | var activityTypes = ["普通活动", "APP活动"]; |
9 | var status=["关闭","开启"]; | 9 | var status=["关闭","开启"]; |
10 | var Bll={ | 10 | var Bll={ |
@@ -146,7 +146,7 @@ $(document).on('click', '.change-status', function() { | @@ -146,7 +146,7 @@ $(document).on('click', '.change-status', function() { | ||
146 | $(document).on('click', '#add-entry', function() { | 146 | $(document).on('click', '#add-entry', function() { |
147 | module = {}; | 147 | module = {}; |
148 | module.platform = 1; | 148 | module.platform = 1; |
149 | - module.platform = "1,3"; | 149 | + module.gender = "1,3"; |
150 | Bll.toast("/operations/entrance/insertEntrance", module, "添加入口信息"); | 150 | Bll.toast("/operations/entrance/insertEntrance", module, "添加入口信息"); |
151 | }); | 151 | }); |
152 | 152 |
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | * Created by yoho on 2016/6/17. | 2 | * Created by yoho on 2016/6/17. |
3 | */ | 3 | */ |
4 | var $ = require('jquery'); | 4 | var $ = require('jquery'); |
5 | -common = require('../common/common'); | 5 | +common = require('../../../common/common'); |
6 | var list = []; | 6 | var list = []; |
7 | var status = ["关闭", "开启"]; | 7 | var status = ["关闭", "开启"]; |
8 | new common.dropDown({el: "#platform-filter"}); | 8 | new common.dropDown({el: "#platform-filter"}); |
1 | +'use strict'; | ||
2 | +var $ = require('jquery'), | ||
3 | + common = require('../../../common/common'); | ||
4 | + | ||
5 | +var EMUN = { | ||
6 | + status: { | ||
7 | + 0: '关闭', | ||
8 | + 1: '开启' | ||
9 | + } | ||
10 | +} | ||
11 | + | ||
12 | +var g = new common.grid({ | ||
13 | + el: "#basicTable", | ||
14 | + parms: function() { | ||
15 | + return { | ||
16 | + categoryId: $('#categoryId').val(), | ||
17 | + status: $('.state-select').find('.current').find('input').val() | ||
18 | + } | ||
19 | + }, | ||
20 | + columns: [{ | ||
21 | + display: '标签名', | ||
22 | + name: 'labelName' | ||
23 | + }, { | ||
24 | + display: '状态', | ||
25 | + name: 'status', | ||
26 | + render: function(item) { | ||
27 | + return EMUN.status[item.status]; | ||
28 | + } | ||
29 | + }, { | ||
30 | + display: '排序', | ||
31 | + name: 'position', | ||
32 | + render: function(item) { | ||
33 | + return "<input class='form-control saleCategoryNumInput' type=text name='position' value='"+ item.orderBy +"' _id='"+ item.id +"' />"; | ||
34 | + } | ||
35 | + }, { | ||
36 | + display: '操作', | ||
37 | + name: '', | ||
38 | + render: function(item) { | ||
39 | + if (item.status == 1) { | ||
40 | + return '<a class="btn btn-xs btn-danger close-btn" data-title="' + item.labelName + '" _id="' + item.id + '" href="javascript:;">关闭</a>'; | ||
41 | + } else { | ||
42 | + return '<a class="btn btn-xs btn-warning open-btn" data-title="' + item.labelName + '" _id="' + item.id + '" href="javascript:;">开启</a>'; | ||
43 | + } | ||
44 | + } | ||
45 | + }] | ||
46 | +}); | ||
47 | + | ||
48 | + | ||
49 | +g.init('/sale/salesCategoryLabel/querySCLabelList'); | ||
50 | + | ||
51 | +//编辑排序 | ||
52 | +$(document).on('change', '.saleCategoryNumInput', function() { | ||
53 | + if(checkNumInput($(this))){ | ||
54 | + $(this).removeClass("errorNumInput"); | ||
55 | + var id = $(this).attr("_id"); | ||
56 | + var orderBy = $(this).val(); | ||
57 | + savePosition(id,orderBy); | ||
58 | + } | ||
59 | +}); | ||
60 | +//排序框校验 | ||
61 | +function checkNumInput(inputObj){ | ||
62 | + if(inputObj.val()){ | ||
63 | + if(!isNaN(inputObj.val())){ | ||
64 | + if(inputObj.val() < 0){ | ||
65 | + inputObj.focus().select().addClass("errorNumInput"); | ||
66 | + common.util.__tip("排序数字请大于等于0!"); | ||
67 | + return false; | ||
68 | + } | ||
69 | + }else{ | ||
70 | + inputObj.focus().select().addClass("errorNumInput"); | ||
71 | + common.util.__tip("排序必须为数字!"); | ||
72 | + return false; | ||
73 | + } | ||
74 | + }else{ | ||
75 | + inputObj.focus().addClass("errorNumInput"); | ||
76 | + common.util.__tip("排序不能为空!"); | ||
77 | + return false; | ||
78 | + } | ||
79 | + return true; | ||
80 | +} | ||
81 | +//排序实时保存 | ||
82 | +function savePosition(id, orderBy){ | ||
83 | + common.util.__ajax({ | ||
84 | + url:'/sale/salesCategoryLabel/updateSCLabel', | ||
85 | + data: { | ||
86 | + "id": id, | ||
87 | + "orderBy": orderBy | ||
88 | + } | ||
89 | + },function(rs){ | ||
90 | + common.util.__tip("排序保存成功!","success"); | ||
91 | + },true); | ||
92 | +} | ||
93 | + | ||
94 | +$('input[name="state"]').on('change', function() { | ||
95 | + $(this).parent().addClass('current').siblings().removeClass('current'); | ||
96 | + g.reload(); | ||
97 | +}); | ||
98 | + | ||
99 | +$(document).on('click', '.close-btn', function() { | ||
100 | + var id = $(this).attr('_id'); | ||
101 | + common.dialog.confirm("温馨提示", "确定  <b><font color='#ff0000'>关闭 </font>【" + $(this).data('title') + "】</b> 标签吗?", function() { | ||
102 | + common.util.__ajax({ | ||
103 | + url: '/sale/salesCategoryLabel/updateSCLabel', | ||
104 | + data: { | ||
105 | + id: id, | ||
106 | + status: 0 | ||
107 | + } | ||
108 | + }, function(res){ | ||
109 | + if (res.code == 200) { | ||
110 | + g.reload(); | ||
111 | + } | ||
112 | + }) | ||
113 | + }); | ||
114 | +}); | ||
115 | +$(document).on('click', '.open-btn', function() { | ||
116 | + var id = $(this).attr('_id'); | ||
117 | + common.dialog.confirm("温馨提示", "确定  <b><font color='#449d44'>开启 </font>【" + $(this).data('title') + "】</b> 标签吗?", function() { | ||
118 | + common.util.__ajax({ | ||
119 | + url: '/sale/salesCategoryLabel/updateSCLabel', | ||
120 | + data: { | ||
121 | + id: id, | ||
122 | + status: 1 | ||
123 | + } | ||
124 | + }, function(res){ | ||
125 | + if (res.code == 200) { | ||
126 | + g.reload(); | ||
127 | + } | ||
128 | + }) | ||
129 | + }); | ||
130 | + | ||
131 | +}); | ||
132 | + |
1 | 'use strict'; | 1 | 'use strict'; |
2 | var $ = require('jquery'), | 2 | var $ = require('jquery'), |
3 | - common = require('../common/common'); | 3 | + common = require('../../../common/common'); |
4 | 4 | ||
5 | var e = new common.edit('#basicForm', { | 5 | var e = new common.edit('#basicForm', { |
6 | bucket: 'taobaocms' | 6 | bucket: 'taobaocms' |
@@ -4,8 +4,8 @@ | @@ -4,8 +4,8 @@ | ||
4 | */ | 4 | */ |
5 | 5 | ||
6 | var $ = require('jquery'), | 6 | var $ = require('jquery'), |
7 | - common = require('../common/common'), | ||
8 | - util = require('../common/util'); | 7 | + common = require('../../../common/common'), |
8 | + util = require('../../../common/util'); | ||
9 | 9 | ||
10 | var g = new common.grid({ | 10 | var g = new common.grid({ |
11 | el: "#appVersionList", | 11 | el: "#appVersionList", |
@@ -58,15 +58,15 @@ var Bll = { | @@ -58,15 +58,15 @@ var Bll = { | ||
58 | e.submit(url, function (option) { | 58 | e.submit(url, function (option) { |
59 | option.data.clientType = option.data.clientType.replace(/\|/g, ","); | 59 | option.data.clientType = option.data.clientType.replace(/\|/g, ","); |
60 | option.success=function(res) { | 60 | option.success=function(res) { |
61 | - if(res.data.code == 200) { | ||
62 | - util.__tip(res.data.message, "success"); | 61 | + if(res.code == 200) { |
62 | + util.__tip(res.message, "success"); | ||
63 | } else { | 63 | } else { |
64 | - util.__tip(res.data.message); | 64 | + util.__tip(res.message); |
65 | } | 65 | } |
66 | g.reload(); | 66 | g.reload(); |
67 | }; | 67 | }; |
68 | option.error=function(res){ | 68 | option.error=function(res){ |
69 | - util.__tip(res.data.message); | 69 | + util.__tip(res.message); |
70 | }; | 70 | }; |
71 | }); | 71 | }); |
72 | }); | 72 | }); |
-
Please register or login to post a comment