edit.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. {include file='common/_js_css'}
  2. <div class="container-fluid p-t-15">
  3. <div class="row">
  4. <div class="col-lg-12">
  5. <div class="card">
  6. <ul class="nav nav-tabs page-tabs">
  7. <li class="active"> <a href="{:url('admin/product/edit')}?id={$product.id}">{:lang("Base")}</a> </li>
  8. <li> <a href="#">{:lang("Rest")}</a> </li>
  9. <div class="tab-content">
  10. <div class="tab-pane active">
  11. <form class="layui-form">
  12. <input name="id" value="{$product.id}" hidden>
  13. <div class="layui-form-item">
  14. <label class="layui-form-label">{:lang("Bar code")}</label>
  15. <div class="layui-input-block">
  16. <input type="text" name="bar_code" value="{$product.bar_code}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  17. </div>
  18. </div>
  19. <div class="layui-form-item">
  20. <label class="layui-form-label">{:lang("Name")}</label>
  21. <div class="layui-input-block">
  22. <input type="text" name="name" value="{$product.name}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  23. </div>
  24. </div>
  25. <div class="layui-form-item">
  26. <label class="layui-form-label">{:lang("Image")}</label>
  27. <div class="layui-input-block">
  28. <button type="button" class="layui-btn" id="upload_img">
  29. <i class="layui-icon">&#xe67c;</i>{:lang("Upload")}
  30. </button>
  31. <div style="margin-top: 5px">
  32. <input class="image_input" name="image" value="{$product.image}" hidden>
  33. <img class="img_view" src={$product.image} style="height: 200px;width: 250px" {if !:is_null($product.image)} hidden {/if}>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="layui-form-item">
  38. <label class="layui-form-label">{:lang("Is Serve")}</label>
  39. <div class="layui-input-block">
  40. <input type="radio" name="is_serve" value="0" title="{:lang('Product')}" {if $product.is_serve == 0} checked {/if} >
  41. <div class="layui-unselect layui-form-radio layui-form-radioed">
  42. <i class="layui-anim layui-icon"></i>
  43. </div>
  44. <input type="radio" name="is_serve" value="1" title={:lang('Serve')} {if $product.is_serve == 1} checked {/if} >
  45. <div class="layui-unselect layui-form-radio">
  46. <i class="layui-anim layui-icon"></i>
  47. </div>
  48. </div>
  49. </div>
  50. <div class="layui-form-item">
  51. <label class="layui-form-label">{:lang('Category')}</label>
  52. <div class="layui-input-block">
  53. <select name="category_id" lay-filter="required">
  54. {volist name="all_category" id='item'}
  55. <option value="{$item.id}" {if $product.category_id == $item.id} selected {/if} >{$item.name}</option>
  56. {volist name='$item.children' id='tree_vo'}
  57. <option value="{$tree_vo.id}" {if $product.category_id == $tree_vo.id} selected {/if} >&nbsp;&nbsp;| --&nbsp;{$tree_vo.name}</option>
  58. {volist name='$tree_vo.children' id='tree_one_vo'}
  59. <option value="{$tree_one_vo.id}" {if $product.category_id == tree_one_vo.id} selected {/if} >&nbsp;&nbsp;| --&nbsp;&nbsp;| --&nbsp;{$tree_one_vo.name}</option>
  60. {/volist}
  61. {/volist}
  62. {/volist}
  63. </select>
  64. </div>
  65. </div>
  66. <div class="layui-form-item">
  67. <label class="layui-form-label">{:lang("Purchase price")}</label>
  68. <div class="layui-input-block">
  69. <input type="number" name="purchase_price" value="{$product.purchase_price ?? 0}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  70. </div>
  71. </div>
  72. <div class="layui-form-item">
  73. <label class="layui-form-label">{:lang("Selling price")}</label>
  74. <div class="layui-input-block">
  75. <input type="number" name="selling_price" value="{$product.selling_price ?? 0}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  76. </div>
  77. </div>
  78. <div class="layui-form-item">
  79. <label class="layui-form-label">{:lang("Now total stock")}</label>
  80. <div class="layui-input-block">
  81. <input type="number" disabled value="{$product.now_total_stock ?? 0}" class="layui-input">
  82. </div>
  83. </div>
  84. <div class="layui-form-item">
  85. <div class="layui-input-block">
  86. <button type="submit" class="layui-btn" lay-submit="" lay-filter="caviar_submit_btn">{:lang('Submit')}</button>
  87. <button type="reset" class="layui-btn layui-btn-primary">{:lang("Reset")}</button>
  88. </div>
  89. </div>
  90. </form>
  91. </div>
  92. </div>
  93. </ul>
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <script>
  99. //当你在iframe页面关闭自身时
  100. // var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  101. // parent.layer.close(index); //再执行关闭
  102. layui.use(['laydate','form','upload'], () => {
  103. const laydate = layui.laydate;
  104. const form = layui.form;
  105. const upload = layui.upload;
  106. //执行实例
  107. upload.render({
  108. elem: '#upload_img' //绑定元素
  109. ,url: '/admin/product/upload'
  110. ,done: function(res){
  111. console.log(res);
  112. if(res.code === 200) {
  113. $(".image_input").attr("value", res.data);
  114. $(".img_view").attr('src', res.data)
  115. $('.img_view').css('display','block');
  116. } else {
  117. layer.message(res.message, {icon: 5});
  118. }
  119. return false;
  120. }
  121. ,error: function(){
  122. //请求异常回调
  123. }
  124. });
  125. form.on('submit(caviar_submit_btn)', (data) =>{
  126. console.log(data.field);
  127. const response = request('/admin/product/edit',data.field)
  128. response.then((res) => {
  129. res.code === 200 ? layer.msg("{:lang('Succeed')}", {icon: 1,time:500},() => {
  130. parent.location.reload();
  131. }) : layer.msg(res.message,{icon: 5})
  132. })
  133. return false;
  134. });
  135. laydate.render({
  136. elem: '#sun_calendar',
  137. type: 'datetime'
  138. });
  139. laydate.render({
  140. elem: '#lunar_calendar',
  141. type: 'datetime'
  142. });
  143. });
  144. </script>