edit.html 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>添加/修改商品</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  11. <link rel="stylesheet" type="text/css" href="../../layuiadmin/style/formSelects-v4.css"/>
  12. <link rel="stylesheet" type="text/css" href="../../layuiadmin/layui/ueditor/themes/default/css/umeditor.css"/>
  13. <script type="text/javascript" src="../../layuiadmin/layui/ueditor/third-party/jquery.min.js"></script>
  14. <script type="text/javascript" charset="utf-8" src="../../layuiadmin/layui/ueditor/umeditor.config.js"></script>
  15. <script type="text/javascript" charset="utf-8" src="../../layuiadmin/layui/ueditor/umeditor.js"></script>
  16. <script type="text/javascript" src="../../layuiadmin/layui/ueditor/lang/zh-cn/zh-cn.js"></script>
  17. </head>
  18. <style>
  19. </style>
  20. <body>
  21. <div class="layui-fluid">
  22. <div class="layui-card">
  23. <div class="layui-card-body" pad15>
  24. <form class="layui-form" action="" lay-filter="component-form-element">
  25. <div class="layui-row layui-col-space10 layui-form-item">
  26. <div>
  27. <label class="layui-form-label"><font color='red' size="4">*</font>类别:</label>
  28. <div class="layui-input-block">
  29. <select id="id_category" name="category" lay-verify="required">
  30. </select>
  31. </div>
  32. </div>
  33. <div>
  34. <label class="layui-form-label"><font color='red' size="4">*</font>名称:</label>
  35. <div class="layui-input-block">
  36. <input type="text" name="name" lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input">
  37. </div>
  38. </div>
  39. <div>
  40. <label class="layui-form-label"><font color='red' size="4">*</font>价格:</label>
  41. <div class="layui-input-block">
  42. <input type="text" name="price_f" lay-verify="required|numberGtZ" placeholder="请输入价格" autocomplete="off" class="layui-input">
  43. </div>
  44. </div>
  45. <div >
  46. <label class="layui-form-label">在用:</label>
  47. <div class="layui-input-block">
  48. <input type="checkbox" name="enabled" lay-skin="switch" lay-text="是|否" checked="" value="1">
  49. </div>
  50. </div>
  51. <div>
  52. <label class="layui-form-label">简介:</label>
  53. <div class="layui-input-block">
  54. <input type="text" name="describe" placeholder="请输入简介" autocomplete="off" class="layui-input">
  55. </div>
  56. </div>
  57. <div>
  58. <label class="layui-form-label">备注:</label>
  59. <div class="layui-input-block">
  60. <input type="text" name="notes" placeholder="请输入备注" autocomplete="off" class="layui-input">
  61. </div>
  62. </div>
  63. <div>
  64. <label class="layui-form-label"><font color='red' size="4">*</font>封面图:</label>
  65. <div class="layui-input-block">
  66. <button type="button" class="layui-btn-sm" id="test1">上传图片</button><br><br>
  67. <img class="layui-upload-img" id="demo1" style="max-height: 250px;max-width: 300px;">
  68. </div>
  69. </div>
  70. <button class="layui-btn" id="id_save" lay-submit lay-filter="component-form-element" style="display: none">保存</button>
  71. <button class="layui-btn" type="button" id="upload_image" style="display: none"></button>
  72. </div>
  73. </form>
  74. </div>
  75. </div>
  76. </div>
  77. <script src="../../layuiadmin/layui/layui.js"></script>
  78. <script type="text/javascript">
  79. layui.config({
  80. base: '../../../layuiadmin/' //静态资源所在路径
  81. }).extend({
  82. index: 'lib/index',
  83. formSelects: 'formSelects-v4'
  84. }).use(['index', 'form', 'utils', 'upload'], function(){
  85. var $ = layui.$
  86. ,admin = layui.admin
  87. ,upload = layui.upload
  88. ,form = layui.form;
  89. var id = layui.view.getParameterByName('id');
  90. admin.req({
  91. url: '/foundation/option/?type=2',
  92. done: function (res) {
  93. var categorys = res.data;
  94. var category_node = $('#id_category');
  95. for (var i in categorys) {
  96. var pid = categorys[i].id;
  97. var value = categorys[i].name;
  98. category_node.append("<option value='" + pid + "'>" + value + "</option>");
  99. }
  100. form.render();
  101. loadData()
  102. }
  103. });
  104. var loadData = function () {
  105. if(id){
  106. var editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
  107. form.val("component-form-element", editdata);
  108. if(editdata.cover_url){
  109. $('#demo1').attr('src', editdata.cover_url);
  110. }
  111. }
  112. };
  113. form.render(null, 'component-form-element');
  114. var form_data = {field:{}};
  115. if (id){
  116. var url = '/product/' +id + '/update_obj/';
  117. }else{
  118. url = '/product/';
  119. }
  120. upload.render({
  121. elem: '#test1',
  122. url: url,
  123. auto: false,
  124. field: 'image',
  125. bindAction: '#upload_image',
  126. choose: function(obj) {
  127. obj.preview(
  128. function(index, file, result) {
  129. $('#demo1').attr('src', result);
  130. }
  131. );
  132. },
  133. data:{
  134. category: function() {return form_data.field.category},
  135. name: function(){return form_data.field.name;},
  136. price: function(){return form_data.field.price_f;},
  137. enabled: function(){
  138. if (form_data.field.enabled){
  139. return form_data.field.enabled;
  140. }else{
  141. return '0';
  142. }
  143. },
  144. describe: function(){return form_data.field.describe;},
  145. notes: function(){return form_data.field.notes;}
  146. },
  147. done: function (res) {
  148. if (res.code !== 0) {
  149. layer.msg(res.msg);
  150. }else {
  151. parent.layui.onSubmitChild(res.data);
  152. }
  153. },
  154. error: function () {
  155. layer.msg('保存失败');
  156. }
  157. });
  158. form.on('submit(component-form-element)', function (data) {
  159. if (!id && !data.field.image) {
  160. layer.msg('商品封面图片是必填项',{icon: 5});
  161. return false;
  162. }
  163. if (data.field.image){
  164. form_data = data;
  165. $('#upload_image').click();
  166. } else {
  167. var save_data = data.field;
  168. save_data['price'] = data.field.price_f;
  169. admin.req({
  170. url: url
  171. ,data: save_data
  172. ,type: 'post'
  173. ,done: function(res){
  174. parent.layui.onSubmitChild(res.data);
  175. }
  176. });
  177. }
  178. return false;
  179. });
  180. parent.layui.submitChild = function () {
  181. $("#id_save").click();
  182. };
  183. });
  184. </script>
  185. </body>
  186. </html>