edit.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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('Company')}</label>
  68. <div class="layui-input-block">
  69. <select name="company_id" lay-filter="required">
  70. {volist name="all_company" id="item"}
  71. <option value="{$item.id}" {if $product.company_id == $item.id} selected {/if} >{$item.name}</option>
  72. {/volist}
  73. </select>
  74. </div>
  75. </div>
  76. <div class="layui-form-item">
  77. <label class="layui-form-label">{:lang("Purchase price")}</label>
  78. <div class="layui-input-block">
  79. <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">
  80. </div>
  81. </div>
  82. <div class="layui-form-item">
  83. <label class="layui-form-label">{:lang("Real price")}</label>
  84. <div class="layui-input-block">
  85. <input type="number" name="real_price" value="{$product.real_price ?? 0}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  86. </div>
  87. </div>
  88. <div class="layui-form-item">
  89. <label class="layui-form-label">{:lang("Lineate price")}</label>
  90. <div class="layui-input-block">
  91. <input type="number" value="{$product.lineate_price}" name="lineate_price" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  92. </div>
  93. </div>
  94. <div class="layui-form-item">
  95. <label class="layui-form-label">{:lang("Tax rate")}</label>
  96. <div class="layui-input-block">
  97. <input type="number" value="{$product.sales_tax_rate}" name="sales_tax_rate" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  98. </div>
  99. </div>
  100. <div class="layui-form-item">
  101. <label class="layui-form-label">{:lang("Is upload numerology")}</label>
  102. <div class="layui-input-block">
  103. <input type="radio" name="is_upload_numerology" value="0" title="{:lang('No')}" {if $product.is_upload_numerology == 0} checked {/}>
  104. <input type="radio" name="is_upload_numerology" value="1" title="{:lang('Yes')}" {if $product.is_upload_numerology == 1} checked {/}>
  105. </div>
  106. </div>
  107. <div class="layui-form-item">
  108. <label class="layui-form-label">{:lang("Is gather annuity")}</label>
  109. <div class="layui-input-block">
  110. <input type="radio" name="is_gather_annuity" value="0" title="{:lang('No')}" {if $product.is_gather_annuity == 0} checked {/}>
  111. <input type="radio" name="is_gather_annuity" value="1" title="{:lang('Yes')}" {if $product.is_gather_annuity == 0} checked {/}>
  112. </div>
  113. </div>
  114. <div class="layui-form-item">
  115. <label class="layui-form-label">{:lang("Annuity")}</label>
  116. <div class="layui-input-block">
  117. <input type="number" name="annuity" value="{$product.annuity}" lay-verify="required" lay-reqtext="{:lang('Please fill in')}" autocomplete="off" class="layui-input">
  118. </div>
  119. </div>
  120. <div class="layui-form-item">
  121. <div class="layui-input-block">
  122. <button type="submit" class="layui-btn" lay-submit="" lay-filter="caviar_submit_btn">{:lang('Submit')}</button>
  123. <button type="reset" class="layui-btn layui-btn-primary">{:lang("Reset")}</button>
  124. </div>
  125. </div>
  126. </form>
  127. </div>
  128. </div>
  129. </ul>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. <script>
  135. //当你在iframe页面关闭自身时
  136. // var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  137. // parent.layer.close(index); //再执行关闭
  138. layui.use(['laydate','form','upload'], () => {
  139. const laydate = layui.laydate;
  140. const form = layui.form;
  141. const upload = layui.upload;
  142. //执行实例
  143. upload.render({
  144. elem: '#upload_img' //绑定元素
  145. ,url: '/admin/product/upload'
  146. ,done: function(res){
  147. console.log(res);
  148. if(res.code === 200) {
  149. $(".image_input").attr("value", res.data);
  150. $(".img_view").attr('src', res.data)
  151. $('.img_view').css('display','block');
  152. } else {
  153. layer.message(res.message, {icon: 5});
  154. }
  155. return false;
  156. }
  157. ,error: function(){
  158. //请求异常回调
  159. }
  160. });
  161. form.on('submit(caviar_submit_btn)', (data) =>{
  162. console.log(data.field);
  163. const response = request('/admin/product/edit',data.field)
  164. response.then((res) => {
  165. res.code === 200 ? layer.msg("{:lang('Succeed')}", {icon: 1,time:500},() => {
  166. parent.location.reload();
  167. }) : layer.msg(res.message,{icon: 5})
  168. })
  169. return false;
  170. });
  171. laydate.render({
  172. elem: '#sun_calendar',
  173. type: 'datetime'
  174. });
  175. laydate.render({
  176. elem: '#lunar_calendar',
  177. type: 'datetime'
  178. });
  179. });
  180. </script>