Authored by 姜敏

拍摄管理和测量管理功能(基本完成)

@@ -9,6 +9,11 @@ var param = location.href.match(/(info)\/(\d+)/); @@ -9,6 +9,11 @@ var param = location.href.match(/(info)\/(\d+)/);
9 //尺码列表 9 //尺码列表
10 var modelLists = []; 10 var modelLists = [];
11 common.util.__ajax({url: '/meterManage/tryInfo/info1', data: {productSkn: param[2]}}, function (data) { 11 common.util.__ajax({url: '/meterManage/tryInfo/info1', data: {productSkn: param[2]}}, function (data) {
  12 + var feelIds = {
  13 + 1: "合适",
  14 + 2: "偏大",
  15 + 3: "偏小"
  16 + };
12 var infoLists = data.data || {}; 17 var infoLists = data.data || {};
13 modelLists = infoLists.tryModelList || []; 18 modelLists = infoLists.tryModelList || [];
14 //如果存在试穿信息 19 //如果存在试穿信息
@@ -17,13 +22,12 @@ common.util.__ajax({url: '/meterManage/tryInfo/info1', data: {productSkn: param[ @@ -17,13 +22,12 @@ common.util.__ajax({url: '/meterManage/tryInfo/info1', data: {productSkn: param[
17 for (var i = 0; i < modelLists.length; i++) { 22 for (var i = 0; i < modelLists.length; i++) {
18 if (tryInfo[modelLists[i].id]) { 23 if (tryInfo[modelLists[i].id]) {
19 modelLists[i].tryInfo = {}; 24 modelLists[i].tryInfo = {};
20 - tryInfo[modelLists[i].id].feel_id = [tryInfo[modelLists[i].id].feel_id];  
21 modelLists[i].tryInfo = tryInfo[modelLists[i].id]; 25 modelLists[i].tryInfo = tryInfo[modelLists[i].id];
  26 + modelLists[i].tryInfo.fell_name = feelIds[tryInfo[modelLists[i].id].feel_id];
22 } 27 }
23 else { 28 else {
24 modelLists[i].tryInfo = {}; 29 modelLists[i].tryInfo = {};
25 modelLists[i].tryInfo.fit_size = ""; 30 modelLists[i].tryInfo.fit_size = "";
26 - modelLists[i].tryInfo.feel_id = "";  
27 modelLists[i].tryInfo.fit_remark = ""; 31 modelLists[i].tryInfo.fit_remark = "";
28 } 32 }
29 } 33 }
@@ -48,22 +52,22 @@ $(document).on("change", ".tryInfo1", function () { @@ -48,22 +52,22 @@ $(document).on("change", ".tryInfo1", function () {
48 var name = $(this).data('name'); 52 var name = $(this).data('name');
49 item[name] = $(this).val(); 53 item[name] = $(this).val();
50 }); 54 });
  55 +//保存试穿信息
51 $(document).on("click", "#addInfo", function () { 56 $(document).on("click", "#addInfo", function () {
52 var newList = []; 57 var newList = [];
53 for (var i = 0; i < modelLists.length; i++) { 58 for (var i = 0; i < modelLists.length; i++) {
54 - newList[i]={}; 59 + newList[i] = {};
55 newList[i].model_id = modelLists[i].id; 60 newList[i].model_id = modelLists[i].id;
56 - if(modelLists[i].tryInfo){ 61 + if (modelLists[i].tryInfo) {
57 newList[i].feel_id = modelLists[i].tryInfo.feel_id; 62 newList[i].feel_id = modelLists[i].tryInfo.feel_id;
58 newList[i].fit_size = modelLists[i].tryInfo.fit_size; 63 newList[i].fit_size = modelLists[i].tryInfo.fit_size;
59 newList[i].fit_remark = modelLists[i].tryInfo.fit_remark; 64 newList[i].fit_remark = modelLists[i].tryInfo.fit_remark;
60 } 65 }
61 - else{  
62 - newList[i].feel_id =""; 66 + else {
  67 + newList[i].feel_id = "";
63 newList[i].fit_size = ""; 68 newList[i].fit_size = "";
64 - newList[i].fit_remark =""; 69 + newList[i].fit_remark = "";
65 } 70 }
66 -  
67 } 71 }
68 common.util.__ajax({ 72 common.util.__ajax({
69 url: '/meterManage/tryInfo/add', 73 url: '/meterManage/tryInfo/add',
@@ -71,10 +75,20 @@ $(document).on("click", "#addInfo", function () { @@ -71,10 +75,20 @@ $(document).on("click", "#addInfo", function () {
71 productSkn: param[2], 75 productSkn: param[2],
72 productModelTry: JSON.stringify(newList) 76 productModelTry: JSON.stringify(newList)
73 } 77 }
74 - }, function () {  
75 - console.log("成功") 78 + }, function (res) {
  79 + if (res.code == '200') {
  80 + window.location.href = "/meterManage/tryInfo/index"
  81 + }
  82 + else {
  83 +
  84 + }
76 }); 85 });
77 }); 86 });
  87 +//返回
  88 +$(document).on("click", ".back", function () {
  89 + window.location.href = "/meterManage/tryInfo/index"
  90 +});
  91 +
78 92
79 93
80 94
@@ -17,7 +17,7 @@ var g = new common.grid({ @@ -17,7 +17,7 @@ var g = new common.grid({
17 modelName: common.util.__input('content-filter1'), 17 modelName: common.util.__input('content-filter1'),
18 englishName: common.util.__input('content-filter2'), 18 englishName: common.util.__input('content-filter2'),
19 status: common.util.__input('status-filter'), 19 status: common.util.__input('status-filter'),
20 - modelType: $("#aa").val() 20 + modelType: parseInt($("#aa").val())
21 }; 21 };
22 }, 22 },
23 23
@@ -61,27 +61,50 @@ var g = new common.grid({ @@ -61,27 +61,50 @@ var g = new common.grid({
61 ] 61 ]
62 }); 62 });
63 g.init("/shotManage/proPhoto/index2"); 63 g.init("/shotManage/proPhoto/index2");
64 -var pictureBoList = []; 64 +
  65 +
65 var Bll = { 66 var Bll = {
66 - toast: function (url, item, hint) {  
67 - var a = common.dialog.confirm(hint,  
68 - common.util.__template2($("#template1").html(), item),  
69 - function () { 67 + pictureBoList: [],
  68 + selectedBoId: [],
  69 + //重新渲染图片列表
  70 + rendBoList: function (pictureBoList) {
  71 + $(".image-list").html('');
  72 + $("#addPic").append(common.util.__template2($("#template2").html(),
  73 + {
  74 + pictureBoList: pictureBoList
  75 + }
  76 + ));
  77 + },
  78 + toast: function (url, item, datacall) {
  79 + Bll.pictureBoList = item.pictureBoList || [];
  80 + Bll.selectedBoId = [];
  81 + var a = new common.dialog({
  82 + title: "图片",
  83 + width: '80%',
  84 + content: common.util.__template2($("#template1").html(), item),
  85 + button: [
  86 + {
  87 + value: "提交", callback: function () {
  88 + var data = datacall && datacall(Bll.pictureBoList, Bll.selectedBoId);
70 common.util.__ajax({ 89 common.util.__ajax({
71 url: url, 90 url: url,
72 - data: {  
73 - productSku: parseInt($("#Sku").val()),  
74 - productPhotoAddStrList: JSON.stringify(pictureBoList)  
75 - } 91 + data: data
76 }, function (res) { 92 }, function (res) {
77 if (res.code == '200') { 93 if (res.code == '200') {
78 g.reload(); 94 g.reload();
79 a.close(); 95 a.close();
80 - pictureBoList = [];  
81 } 96 }
82 }); 97 });
83 return false; 98 return false;
  99 + }, css: "btn-primary"
  100 + },
  101 + {
  102 + "value":"取消",
  103 + css: "btn-info"
  104 + }
  105 + ]
84 }); 106 });
  107 + Bll.rendBoList(Bll.pictureBoList);
85 common.edit.ajaxfileupload(".picfile", { 108 common.edit.ajaxfileupload(".picfile", {
86 params: { 109 params: {
87 __type: "upload", 110 __type: "upload",
@@ -90,17 +113,13 @@ var Bll = { @@ -90,17 +113,13 @@ var Bll = {
90 valid_extensions: ['png', 'jpg', 'jpeg'], 113 valid_extensions: ['png', 'jpg', 'jpeg'],
91 onComplete: function (response) { 114 onComplete: function (response) {
92 if (response.status && response.code == 200) { 115 if (response.status && response.code == 200) {
93 - //console.log("response",response); 116 + console.log("response", response);
94 var data = { 117 var data = {
95 "fileName": response.data, 118 "fileName": response.data,
96 "originalName": "1035027.jpg" 119 "originalName": "1035027.jpg"
97 }; 120 };
98 - pictureBoList.push(data);  
99 - $("#addPic").html(common.util.__template2($("#template2").html(),  
100 - {  
101 - pictureBoList: pictureBoList  
102 - }  
103 - )); 121 + Bll.pictureBoList.push(data);
  122 + Bll.rendBoList(Bll.pictureBoList);
104 } 123 }
105 else { 124 else {
106 common.util.__tip(response.message, 'warning'); 125 common.util.__tip(response.message, 'warning');
@@ -112,55 +131,39 @@ var Bll = { @@ -112,55 +131,39 @@ var Bll = {
112 }; 131 };
113 //上传图片--点击事件 132 //上传图片--点击事件
114 $('#upload-btn').on('click', function () { 133 $('#upload-btn').on('click', function () {
115 - var item = {};  
116 - Bll.toast('/shotManage/proPhoto/add', item, "上传图片"); 134 + var item = {
  135 + __state: "add"
  136 + };
  137 + Bll.toast('/shotManage/proPhoto/add', item, function (pictureBoList, selectedBoId) {
  138 + return {
  139 + productSku: parseInt($("#Sku").val()),
  140 + productPhotoAddStrList: JSON.stringify(pictureBoList)
  141 + }
  142 + });
117 }); 143 });
118 -//上传图片时 删除单张图片 144 +//删除单张图片
119 $(document).on('click', '.remove1', function () { 145 $(document).on('click', '.remove1', function () {
120 - var index = $(this).parents(".cover-image-item").index();  
121 - //界面删除  
122 - $(this).parents('.cover-image-item').remove();  
123 - //数组中删除  
124 - pictureBoList.splice(index, 1);  
125 - //console.log("pictureBoList", pictureBoList); 146 + var index = $(this).data("index");
  147 + Bll.selectedBoId.push(Bll.pictureBoList[index].id);
  148 + Bll.pictureBoList.splice(index, 1);
  149 + Bll.rendBoList(Bll.pictureBoList);
126 }); 150 });
127 151
128 -//查询按钮--点击事件  
129 -$(document).on('click', '#filter-btn', function () {  
130 - g.reload(1);  
131 -});  
132 -var ids = [];  
133 //编辑 152 //编辑
134 $(document).on('click', '.update', function () { 153 $(document).on('click', '.update', function () {
135 var item = g.rows[$(this).data("index")]; 154 var item = g.rows[$(this).data("index")];
136 - var pics = item.pictureBoList || [];  
137 - console.log("pics",pics);  
138 - $(document).on('click', '.remove2', function () {  
139 - var index = $(this).parents(".cover-image-item").index();  
140 - //界面删除  
141 - $(this).parents('.cover-image-item').remove();  
142 - console.log(pics[index]);  
143 - console.log("pics[index].id",pics[index].id);  
144 - ids.push(pics[index].id);  
145 - pics.splice(index, 1);  
146 - });  
147 - var b = common.dialog.confirm("编辑", common.util.__template2($("#template3").html(), item),  
148 - function () {  
149 - common.util.__ajax({  
150 - url: "/shotManage/proPhoto/update",  
151 - data: { 155 + item.__state = "update";
  156 + Bll.toast('/shotManage/proPhoto/update', item, function (pictureBoList, selectedBoId) {
  157 + return {
152 productSkn: item.productSkn, 158 productSkn: item.productSkn,
153 - ids: JSON.stringify(ids)  
154 - }  
155 - }, function (res) {  
156 - //console.log("res",res);  
157 - if (res.code == '200') {  
158 - g.reload();  
159 - ids = []; 159 + ids: JSON.stringify(selectedBoId)
160 } 160 }
161 }); 161 });
162 - })  
163 }); 162 });
164 163
  164 +//查询按钮--点击事件
  165 +$(document).on('click', '#filter-btn', function () {
  166 + g.reload(1);
  167 +});
165 168
166 169
@@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
3 * 模特管理 3 * 模特管理
4 */ 4 */
5 //exports.domain = require('../config/common.js').domain; 5 //exports.domain = require('../config/common.js').domain;
6 -exports.domain = 'http://172.16.6.162:8088/platform'; //李建  
7 -//exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 6 +//exports.domain = 'http://172.16.6.162:8088/platform'; //李建
  7 +exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境
8 8
9 exports.res = [ 9 exports.res = [
10 //主界面 10 //主界面
@@ -34,8 +34,8 @@ exports.res = [ @@ -34,8 +34,8 @@ exports.res = [
34 view: 'pages/meterManage/info', 34 view: 'pages/meterManage/info',
35 src: '/meterManage/info' 35 src: '/meterManage/info'
36 }, 36 },
37 - {  
38 // 获取商品详情数据 37 // 获取商品详情数据
  38 + {
39 route: '/meterManage/tryInfo/info1', 39 route: '/meterManage/tryInfo/info1',
40 method: 'POST', 40 method: 'POST',
41 url: '/productExtraInfo/queryProdExtraInfo', 41 url: '/productExtraInfo/queryProdExtraInfo',
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 * 试穿模特管理 3 * 试穿模特管理
4 */ 4 */
5 //exports.domain = require('../config/common.js').domain; 5 //exports.domain = require('../config/common.js').domain;
6 -//exports.domain = 'http://172.16.6.162:8080/platform'; //李建 6 +//exports.domain = 'http://172.16.6.162:8088/platform'; //李建
7 exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 7 exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境
8 8
9 exports.res = [ 9 exports.res = [
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 </div> 20 </div>
21 <div class="col-sm-4"> 21 <div class="col-sm-4">
22 <a class="btn btn-info addInfo" id="addInfo">保存</a> 22 <a class="btn btn-info addInfo" id="addInfo">保存</a>
23 - <!--<a class="btn btn-primary back" >返回</a>--> 23 + <a class="btn btn-primary back" >返回</a>
24 </div> 24 </div>
25 </div> 25 </div>
26 26
@@ -41,13 +41,18 @@ @@ -41,13 +41,18 @@
41 </select> 41 </select>
42 </th> 42 </th>
43 <th> 43 <th>
44 - <select name="status" value="[[item.tryInfo.feel_id]]" data-name="feel_id" data-index="[[index]]" title="" class="form-controller tryInfo1"> 44 + [[if item.tryInfo.feel_id]]
  45 + <select name="status" data-name="feel_id" data-index="[[index]]" title="" class="form-controller col-sm-8 tryInfo1">
  46 + <option value="[[item.tryInfo.feel_id]]">[[item.tryInfo.fell_name]]</option>
  47 + </select>
  48 + [[else]]
  49 + <select name="status" data-name="feel_id" data-index="[[index]]" title="" class="form-controller col-sm-8 tryInfo1">
45 <option value="-1">[['请选择试穿描述']]</option> 50 <option value="-1">[['请选择试穿描述']]</option>
46 <option value="1">[['合适']]</option> 51 <option value="1">[['合适']]</option>
47 <option value="2">[['偏大']]</option> 52 <option value="2">[['偏大']]</option>
48 <option value="3">[['偏小']]</option> 53 <option value="3">[['偏小']]</option>
49 -  
50 </select> 54 </select>
  55 + [[/if]]
51 </th> 56 </th>
52 <th> 57 <th>
53 <input type="text" data-name="fit_remark" data-index="[[index]]" value="[[item.tryInfo.fit_remark]]" name="fit_remark" id="fit_remark" class="tryInfo1 " 58 <input type="text" data-name="fit_remark" data-index="[[index]]" value="[[item.tryInfo.fit_remark]]" name="fit_remark" id="fit_remark" class="tryInfo1 "
@@ -42,7 +42,6 @@ @@ -42,7 +42,6 @@
42 <option value="1">启用</option> 42 <option value="1">启用</option>
43 </select> 43 </select>
44 </div> 44 </div>
45 - <input id="route" type="hidden" value="/operation/terms/searchWordsList">  
46 <a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a> 45 <a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a>
47 </div> 46 </div>
48 </div> 47 </div>
@@ -58,7 +57,7 @@ @@ -58,7 +57,7 @@
58 <input type="hidden" value="[[id]]" id="id"/> 57 <input type="hidden" value="[[id]]" id="id"/>
59 58
60 <div class="col-sm-6"> 59 <div class="col-sm-6">
61 - <input type="file" value="[[avatar]]" class="form-control avatar" id="avatar" name="avatar" /> 60 + <input type="file" value="[[avatar]]" class="form-control avatar" id="avatar" name="avatar" required="required"/>
62 </div> 61 </div>
63 </div> 62 </div>
64 <div class="form-group"> 63 <div class="form-group">
@@ -130,7 +129,7 @@ @@ -130,7 +129,7 @@
130 <label class="col-sm-2 control-label" for="modelCard">模特卡</label> 129 <label class="col-sm-2 control-label" for="modelCard">模特卡</label>
131 130
132 <div class="col-sm-10"> 131 <div class="col-sm-10">
133 - <input type="file" value="[[modelCard]]" class="form-control modelCard" id="modelCard" name="modelCard"/> 132 + <input type="file" value="[[modelCard]]" class="form-control modelCard" id="modelCard" name="modelCard" required="required"/>
134 </div> 133 </div>
135 </div> 134 </div>
136 </div> 135 </div>
@@ -23,14 +23,14 @@ @@ -23,14 +23,14 @@
23 <div class="panel panel-default" style="..."> 23 <div class="panel panel-default" style="...">
24 <div class="panel-body"> 24 <div class="panel-body">
25 <div class="row"> 25 <div class="row">
26 - <div class="panel-col2">  
27 - <input type="text" id="starttime" class="form-control panel-input hasDatepicker" name="start_time"  
28 - placeholder="开始时间" value="">  
29 - </div>  
30 - <div class="panel-col2">  
31 - <input type="text" id="endtime" class="form-control panel-input hasDatepicker" name="end_time"  
32 - placeholder="结束时间" value="">  
33 - </div> 26 + <!--<div class="panel-col2">-->
  27 + <!--<input type="text" id="starttime" class="form-control panel-input hasDatepicker" name="start_time"-->
  28 + <!--placeholder="开始时间" value="">-->
  29 + <!--</div>-->
  30 + <!--<div class="panel-col2">-->
  31 + <!--<input type="text" id="endtime" class="form-control panel-input hasDatepicker" name="end_time"-->
  32 + <!--placeholder="结束时间" value="">-->
  33 + <!--</div>-->
34 <div class="panel-col"> 34 <div class="panel-col">
35 <input type="text" value="" name="productSkn" id="content-filter1" placeholder="skn" 35 <input type="text" value="" name="productSkn" id="content-filter1" placeholder="skn"
36 class="form-control"> 36 class="form-control">
@@ -47,7 +47,6 @@ @@ -47,7 +47,6 @@
47 <a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a> 47 <a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a>
48 <a id="upload-btn" href="javascript:;" class="btn btn-info">上传图片</a> 48 <a id="upload-btn" href="javascript:;" class="btn btn-info">上传图片</a>
49 </div> 49 </div>
50 -  
51 </div> 50 </div>
52 </div> 51 </div>
53 </div> 52 </div>
@@ -57,6 +56,7 @@ @@ -57,6 +56,7 @@
57 <!--上传图片--> 56 <!--上传图片-->
58 <script type="text/template" id="template1"> 57 <script type="text/template" id="template1">
59 <div class="rows" style="height: 400px;overflow: auto"> 58 <div class="rows" style="height: 400px;overflow: auto">
  59 + [[if __state=='add']]
60 <div class="form-group"> 60 <div class="form-group">
61 <label class="col-sm-2 control-label" for="Sku">SKU</label> 61 <label class="col-sm-2 control-label" for="Sku">SKU</label>
62 62
@@ -64,68 +64,44 @@ @@ -64,68 +64,44 @@
64 <input type="text" value="[[productSku]]" class="form-control" id="Sku"/> 64 <input type="text" value="[[productSku]]" class="form-control" id="Sku"/>
65 </div> 65 </div>
66 </div> 66 </div>
  67 + [[else]]
67 <div class="form-group"> 68 <div class="form-group">
68 - <label class="col-sm-2 control-label">图片</label> 69 + <label class="col-sm-2">SKN</label>
69 70
70 - <div class="cover-image-list col-sm-10" id="addPic"> 71 + <div class="col-sm-6">
  72 + <input type="text" value=[[productSkn]] class="form-control" disabled="disabled">
71 </div> 73 </div>
72 </div> 74 </div>
  75 + [[/if]]
73 <div class="form-group"> 76 <div class="form-group">
74 - <label class="col-sm-2 control-label"></label>  
75 - <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> 77 + <label class="col-sm-2 control-label">图片</label>
  78 + <div class="cover-image-list col-sm-10">
  79 + <!-- 用于修改 -->
  80 + <ul class="cover-image-list col-sm-10" id="addPic" style="padding: 0;margin: 0;">
  81 + <!-- 修改时不存在 -->
  82 + [[if __state=='add']]
76 <li class="cover-image-item fileinput-button"> 83 <li class="cover-image-item fileinput-button">
77 <div class="goods-img"> 84 <div class="goods-img">
78 <a class="fileinput-button-icon" href="javascript:void(0);">+</a> 85 <a class="fileinput-button-icon" href="javascript:void(0);">+</a>
79 <input type="file" class="goods-img-upload picfile" name="picfile"> 86 <input type="file" class="goods-img-upload picfile" name="picfile">
80 </div> 87 </div>
81 </li> 88 </li>
  89 + [[/if]]
82 </ul> 90 </ul>
83 </div> 91 </div>
84 </div> 92 </div>
85 -</script>  
86 -  
87 -<script type="text/template" id="template2">  
88 - <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;">  
89 - [[each pictureBoList as _item _index]]  
90 - <li class="cover-image-item" data-index=[[_index]]>  
91 - <div class="goods-img">  
92 - <a class="fileinput-button-icon" href="javascript:void(0);">  
93 - <img src="[[_item.fileName]]">  
94 - </a>  
95 - <i class="remove-item-btn remove1 glyphicon glyphicon-remove-circle"></i>  
96 </div> 93 </div>
97 - </li>  
98 - [[/each]]  
99 - </ul>  
100 </script> 94 </script>
101 -  
102 -<script type="text/template" id="template3">  
103 - <div class="row" style="height: 400px;overflow: auto">  
104 - <div class="form-group">  
105 - <label class="col-sm-2">SKN</label>  
106 -  
107 - <div class="col-sm-6">  
108 - <input type="text" value=[[productSkn]] disabled="disabled">  
109 - </div>  
110 -  
111 - </div>  
112 - <div class="form-group">  
113 - <label class="col-sm-2">图片</label>  
114 -  
115 - <div class="col-sm-10">  
116 - <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> 95 +<!--图片列表-->
  96 +<script type="text/template" id="template2">
117 [[each pictureBoList as _item _index]] 97 [[each pictureBoList as _item _index]]
118 - <li class="cover-image-item" data-index=[[_index]]> 98 + <li class="cover-image-item image-list" data-index=[[_index]]>
119 <div class="goods-img"> 99 <div class="goods-img">
120 <a class="fileinput-button-icon" href="javascript:void(0);"> 100 <a class="fileinput-button-icon" href="javascript:void(0);">
121 <img src="[[_item.fileName]]"> 101 <img src="[[_item.fileName]]">
122 </a> 102 </a>
123 - <i class="remove-item-btn remove2 glyphicon glyphicon-remove-circle"></i> 103 + <i class="remove-item-btn remove1 glyphicon glyphicon-remove-circle" data-index="[[_index]]"></i>
124 </div> 104 </div>
125 </li> 105 </li>
126 [[/each]] 106 [[/each]]
127 - </ul>  
128 - </div>  
129 - </div>  
130 - </div>  
131 </script> 107 </script>