actInfoForm.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. var id=web.getUrlVars("id");
  2. var flag = true;
  3. layui.define(['laydate','layer', 'form' ,'element','table'], function (exports) {
  4. var $ = layui.jquery,layer = layui.layer,form = layui.form,laydate = layui.laydate,element = layui.element,table = layui.table;
  5. web.daterange(laydate,"start_date","end_date");
  6. web.imageUploader('list2','picker2',function(json){
  7. $('#subscribe_img').val(json.data.file_path);
  8. },{pick : {
  9. id : '#picker2',
  10. multiple : false
  11. }},'folder=act');
  12. web.imageUploader('list3','picker3',function(json){
  13. $('#act_img').val(json.data.file_path);
  14. },{pick : {
  15. id : '#picker3',
  16. multiple : false
  17. }},'folder=act');
  18. $("#merchant_name").on('click', function () {
  19. top.web.popWin(base+"/web/merchant/merchantWin.jsp","选择商户",600,432,function(res){
  20. $("#merchant_id").val(res.id);
  21. $("#merchant_name").val(res.merchant_name);
  22. });
  23. return false;
  24. });
  25. $("#dateTable").on('click',".product_name", function () {
  26. var obj = this;
  27. top.web.popWin(base+"/web/product/productWin.jsp","选择商品",600,432,function(res){
  28. $(obj).siblings(".product_id").val(res.id);
  29. $(obj).val(res.product_name);
  30. });
  31. return false;
  32. });
  33. element.on('tab(tabBar)', function(){
  34. if(flag&&$(this).index()==2){
  35. flag=false;
  36. web.imageUploader('list1','picker1',function(json){
  37. $('#share_img').val(json.data.file_path);
  38. },{pick : {
  39. id : '#picker1',
  40. multiple : false
  41. }},'folder=act');
  42. }
  43. });
  44. var ue1 = UE.getEditor('editor1');
  45. if(id){
  46. getById();
  47. }else{
  48. var html=[];
  49. for(var i=0;i<5;i++){
  50. html.push('<tr>');
  51. html.push('<td>'+web.getDictVal("prize_no",i+1)+'</td>');
  52. html.push('<td><input type="text" autocomplete="off" placeholder="请输入奖品名称" ');
  53. html.push('class="layui-input prize_name"></td>');
  54. html.push('<td><select class="prize_type"><option value="10">商品</option><option value="20">卡券</option></select></td>');
  55. html.push('<td><input type="number" autocomplete="off" placeholder="请输入奖品数量"');
  56. html.push('class="layui-input prize_num"></td>');
  57. html.push('<td><input type="number" autocomplete="off" placeholder="请输入中奖限制次数"');
  58. html.push('class="layui-input limit_num"></td>');
  59. html.push('<td><input type="number" autocomplete="off" placeholder="请输入中奖概率"');
  60. html.push('class="layui-input prize_chance" onkeyup="web.num(this)" style="display:inline-block;width:90%">%</td>');
  61. html.push('<td class="product-div"><input type="text" autocomplete="off" placeholder="关联商品" class="layui-input product_name popup">');
  62. html.push('<input type="hidden" class="layui-input product_id"></td>');
  63. html.push('</tr>');
  64. };
  65. $("#dateTable tbody").html(html.join(""));
  66. form.render('select');
  67. }
  68. function getById(){
  69. web.ajaxPost(base+"/actInfo/getById",{id:id},function(json){
  70. web.toForm(form,json.data);
  71. web.loadImage('list3',imgUrl+json.data.act_img,'','',true);
  72. web.loadImage('list2',imgUrl+json.data.subscribe_img,'','',true);
  73. web.loadImage('list1',imgUrl+json.data.share_img,'','',true);
  74. ue1.ready(function(){
  75. ue1.execCommand('insertHtml', json.data.act_desc);
  76. });
  77. var html=[];
  78. $.each(json.data.prize,function(id,item){
  79. html.push('<tr>');
  80. html.push('<td>'+web.getDictVal("prize_no",item.prize_no)+'</td>');
  81. html.push('<td><input type="text" autocomplete="off" placeholder="请输入奖品名称" ');
  82. html.push('class="layui-input prize_name" value="'+item.prize_name+'"></td>');
  83. if(item.prize_type=="10"){
  84. html.push('<td><select class="prize_type"><option value="10" selected>商品</option><option value="20">卡券</option></select></td>');
  85. }else{
  86. html.push('<td><select class="prize_type"><option value="10">商品</option><option value="20" selected>卡券</option></select></td>');
  87. }
  88. html.push('<td><input type="number" autocomplete="off" placeholder="请输入奖品数量"');
  89. html.push('class="layui-input prize_num" value="'+item.prize_num+'"></td>');
  90. html.push('<td><input type="number" autocomplete="off" placeholder="请输入中奖限制次数"');
  91. html.push('class="layui-input limit_num" value="'+item.limit_num+'"></td>');
  92. html.push('<td><input type="number" autocomplete="off" placeholder="请输入中奖概率"');
  93. html.push('class="layui-input prize_chance" onkeyup="web.num(this)" value="'+item.prize_chance+'" style="display:inline-block;width:90%">%</td>');
  94. html.push('<td class="product-div"><input type="text" autocomplete="off" value="'+web.nullToSpace(item.product_name)+'" placeholder="关联商品" class="layui-input product_name popup">');
  95. html.push('<input type="hidden" class="layui-input product_id" value="'+web.nullToSpace(item.product_id)+'"></td>');
  96. html.push('</tr>');
  97. });
  98. $("#dateTable tbody").html(html.join(""));
  99. form.render('select');
  100. if (json.data.act_type=="20"){
  101. $("#merchant-div").show();
  102. }else{
  103. $(".product-div").show();
  104. }
  105. });
  106. }
  107. //提交
  108. form.on('submit(form-add)', function(data){
  109. var param = data.field;
  110. var text = UE.getEditor('editor1').getPlainTxt();
  111. if($.trim(text)==""){
  112. layer.msg("请输入活动说明");
  113. return false;
  114. }
  115. if ($("#act_type").val()=="10"){
  116. param.merchant_id=null;
  117. param.merchant_name="";
  118. }else{
  119. if ($("#merchant_id").val()==""){
  120. layer.msg("请选择商户");
  121. return false;
  122. }
  123. }
  124. var prizeList=[];
  125. var total=0;
  126. $("#dateTable tbody tr").each(function(){
  127. var prize={};
  128. prize.prize_no=$(this).index()+1;
  129. prize.prize_name=$(this).find(".prize_name").val();
  130. prize.prize_type=$(this).find(".prize_type").val();
  131. prize.prize_num=$(this).find(".prize_num").val();
  132. prize.limit_num=$(this).find(".limit_num").val();
  133. prize.prize_chance=$(this).find(".prize_chance").val();
  134. prize.product_id=$(this).find(".product_id").val();
  135. prize.product_name=$(this).find(".product_name").val();
  136. if(prize.prize_name&&prize.prize_num&&prize.limit_num&&prize.prize_chance){
  137. prizeList.push(prize);
  138. total+=parseFloat($(this).find(".prize_chance").val());
  139. }
  140. });
  141. if(prizeList.length!=5){
  142. layer.msg('请将活动奖品填写完整');
  143. return false;
  144. }
  145. if(total>100){
  146. layer.msg('中奖概率总和不能大于100');
  147. return false;
  148. }
  149. if($("#share_title").val()==""||$("#share_content").val()==""||$("#share_img").val()==""){
  150. layer.msg('请将分享信息填写完整');
  151. return false;
  152. }
  153. delete param.file;
  154. delete param.editorValue;
  155. if(id){
  156. param.id=id;
  157. }
  158. param.act_desc=UE.getEditor('editor1').getContent();
  159. param.prize=JSON.stringify(prizeList);
  160. web.ajaxPost(base+"/actInfo/save",param,function(json){
  161. if(json.success){
  162. parent.layer.msg('保存成功');
  163. var index = parent.layer.getFrameIndex(window.name);
  164. parent.$('#btn-query').click();
  165. parent.layer.close(index);
  166. }else{
  167. layer.msg(json.msg);
  168. }
  169. });
  170. return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  171. });
  172. //关闭窗口
  173. $('#btn-close').on('click',function(){
  174. var index = parent.layer.getFrameIndex(window.name);
  175. parent.layer.close(index);
  176. return false;
  177. });
  178. $("#act_type").on("change", function () {
  179. debugger;
  180. if ($("#act_type").val()=="20"){
  181. }else{
  182. }
  183. });
  184. form.on('select(act_type)', function(data){
  185. if(data.value=="20"){
  186. $("#merchant-div").show();
  187. $(".product-div").hide();
  188. }else{
  189. $("#merchant-div").hide();
  190. $(".product-div").show();
  191. }
  192. });
  193. exports('actInfoForm', {});
  194. });