add.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <form class="layui-form p-4">
  5. <h3 class="pb-1">新增产品</h3>
  6. <table class="layui-table">
  7. <tr>
  8. <td class="layui-td-gray">产品名称<font>*</font></td>
  9. <td colspan="3"><input type="text" name="title" autocomplete="off" placeholder="请输入产品名称" lay-verify="required" lay-reqText="请输入产品名称" class="layui-input"></td>
  10. <td class="layui-td-gray">产品分类<font>*</font></td>
  11. <td>
  12. <select name="cate_id" lay-verify="required" lay-reqText="请选择分类">
  13. <option value="">请选择分类</option>
  14. {volist name=":set_recursion(get_base_data('ProductCate'))" id="v"}
  15. <option value="{$v.id}">{$v.title}</option>
  16. {/volist}
  17. </select>
  18. </td>
  19. <td class="layui-td-gray" rowspan="4">缩略图</td>
  20. <td rowspan="4" style="width: 150px; vertical-align:top:">
  21. <div class="layui-upload">
  22. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="test1">缩略图(尺寸:240x136)</button>
  23. <div class="layui-upload-list" id="demo1" style="width: 150px; height:80px; overflow: hidden;">
  24. <img src="" style="max-width: 100%; height:80px;" />
  25. <input type="hidden" name="thumb" value="">
  26. </div>
  27. </div>
  28. </td>
  29. </tr>
  30. <tr>
  31. <td class="layui-td-gray">产品编码<font>*</font></td>
  32. <td><input type="text" name="code" autocomplete="off" value="{:get_codeno('PR')}" readonly class="layui-input" lay-verify="required" lay-reqText="请输入产品编码"></td>
  33. <td class="layui-td-gray">产品单位<font>*</font></td>
  34. <td><input type="text" name="unit" autocomplete="off" value="" class="layui-input" lay-verify="required" lay-reqText="请输入产品单位"></td>
  35. <td class="layui-td-gray">产品规格</td>
  36. <td><input type="text" name="specs" autocomplete="off" placeholder="请输入产品规格" class="layui-input"></td>
  37. </tr>
  38. <tr>
  39. <td class="layui-td-gray">销售价(元)<font>*</font></td>
  40. <td><input type="text" name="sale_price" autocomplete="off" placeholder="请输入产品销售价" lay-verify="required|number" lay-reqText="请输入产品销售价" class="layui-input"></td>
  41. <td class="layui-td-gray">成本价(元)</td>
  42. <td><input type="text" name="base_price" autocomplete="off" placeholder="请输入产品成本价" class="layui-input" lay-verify="number"></td>
  43. <td class="layui-td-gray">采购价(元)</td>
  44. <td><input type="text" name="purchase_price" autocomplete="off" placeholder="请输入产品采购价" class="layui-input" lay-verify="number"></td>
  45. </tr>
  46. <tr>
  47. <td class="layui-td-gray">是否实物<font>*</font></td>
  48. <td colspan="7">
  49. <input type="radio" name="is_object" value="1" title="是" checked>
  50. <input type="radio" name="is_object" value="2" title="否" >
  51. </td>
  52. </tr>
  53. <tr>
  54. <td class="layui-td-gray-2">
  55. <div class="layui-input-inline">产品附件</div>
  56. <div class="layui-input-inline">
  57. <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
  58. </div>
  59. </td>
  60. <td colspan="7">
  61. <div class="layui-row" id="uploadBox">
  62. <input type="hidden" id="fileBoxInput" data-type="file" name="file_ids" value="">
  63. </div>
  64. </td>
  65. </tr>
  66. <tr>
  67. <td class="layui-td-gray" style="vertical-align:top;">产品描述<font>*</font></td>
  68. <td colspan="7">
  69. <textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" style="border:0;padding:0"></textarea>
  70. </td>
  71. </tr>
  72. </table>
  73. <div class="pt-1">
  74. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
  75. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  76. </div>
  77. </form>
  78. {/block}
  79. <!-- /主体 -->
  80. <!-- 脚本 -->
  81. {block name="script"}
  82. <script>
  83. const moduleInit = ['tool','tinymce','uploadPlus'];
  84. function gouguInit() {
  85. var form = layui.form,tool=layui.tool,upload = layui.upload,uploadPlus = layui.uploadPlus;
  86. //封面上传
  87. var uploadInst = upload.render({
  88. elem: '#test1'
  89. , url: "/api/index/upload"
  90. , done: function (res) {
  91. layer.msg(res.msg);
  92. if (res.code == 0) {
  93. //上传成功
  94. $('#demo1 input').attr('value', res.data.id);
  95. $('#demo1 img').attr('src', res.data.filepath);
  96. }
  97. }
  98. });
  99. //编辑器初始化
  100. var editor = layui.tinymce;
  101. var edit = editor.render({
  102. selector: "#container",
  103. images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口
  104. height: 500
  105. });
  106. //附件上传
  107. var attachment = new uploadPlus({
  108. "target":'uploadBtn',
  109. "targetBox":'uploadBox'
  110. });
  111. //监听提交
  112. form.on('submit(webform)', function(data){
  113. data.field.content = tinyMCE.editors['container'].getContent();
  114. if (data.field.content == '') {
  115. layer.msg('请先完善产品的描述内容');
  116. return false;
  117. }
  118. let callback = function (e) {
  119. layer.msg(e.msg);
  120. if (e.code == 0) {
  121. tool.sideClose(1000);
  122. }
  123. }
  124. let clickbtn = $(this);
  125. tool.post("/contract/product/add", data.field, callback,clickbtn);
  126. return false;
  127. });
  128. }
  129. </script>
  130. {/block}
  131. <!-- /脚本 -->