edit_service.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <tr>
  2. <td class="layui-td-gray" colspan="6" style="text-align:left; color:#666"><strong>服务信息</strong> <span class="layui-btn layui-btn-sm" type="button" id="serviceAdd">+ 添加服务</span></td>
  3. </tr>
  4. <tr>
  5. <td colspan="6">
  6. <table id="serviceTable" class="layui-table layui-table-min" style="margin:0">
  7. <tr>
  8. <th width="200">服务名称</th>
  9. <th width="200">服务周期</th>
  10. <th width="100">服务单价</th>
  11. <th width="100">服务次数</th>
  12. <th width="100">小计</th>
  13. <th>备注信息</th>
  14. <th width="60">操作</th>
  15. </tr>
  16. {empty name="$detail.content_array"}
  17. <tr class="service-tr">
  18. <td><input type="text" name="service_title[]" value="" class="layui-input" lay-verify="required" lay-reqText="请输入服务名称"></td>
  19. <td><input type="text" name="service_date[]" value="" class="layui-input layui-input-readonly tool-time" data-range="到" lay-verify="required" lay-reqText="请选择服务周期" readonly></td>
  20. <td><input type="text" name="service_price[]" value="0.00" class="layui-input input-num" lay-verify="required|number" lay-reqText="请输入服务单价"></td>
  21. <td><input type="text" name="service_num[]" value="1" class="layui-input input-num" lay-verify="required|number" lay-reqText="请输入服务次数"></td>
  22. <td><input type="text" name="service_subtotal[]" value="0.00" class="layui-input layui-input-readonly" readonly></td>
  23. <td><input type="text" name="service_remark[]" value="" class="layui-input"></td>
  24. <td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></td>
  25. </tr>
  26. {else/}
  27. {volist name="$detail.content_array" id="vo"}
  28. <tr class="service-tr">
  29. <td><input type="text" name="service_title[]" value="{$vo.service_title|default=''}" class="layui-input" lay-verify="required" lay-reqText="请输入服务名称"></td>
  30. <td><input type="text" name="service_date[]" value="{$vo.service_date|default=''}" class="layui-input layui-input-readonly tool-time" data-range="到" lay-verify="required" lay-reqText="请选择服务周期" readonly></td>
  31. <td><input type="text" name="service_price[]" value="{$vo.service_price|default='0.00'}" class="layui-input input-num" lay-verify="required|number" lay-reqText="请输入服务单价"></td>
  32. <td><input type="text" name="service_num[]" value="{$vo.service_num|default=0}" class="layui-input input-num" lay-verify="required|number" lay-reqText="请输入服务次数"></td>
  33. <td><input type="text" name="service_subtotal[]" value="{$vo.service_subtotal|default='0.00'}" class="layui-input layui-input-readonly" readonly></td>
  34. <td><input type="text" name="service_remark[]" value="{$vo.service_remark|default=''}" class="layui-input"></td>
  35. <td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></td>
  36. </tr>
  37. {/volist}
  38. {/empty}
  39. </table>
  40. </td>
  41. </tr>
  42. <script>
  43. function service_fun(layui){
  44. let form = layui.form;
  45. //添加服务信息表格
  46. $('#serviceAdd').on('click',function(){
  47. var html = '';
  48. html += '<tr class="service-tr">\
  49. <td><input type="text" name="service_title[]" value="" class="layui-input" lay-verify="required" lay-reqText="请输入服务名称"></td>\
  50. <td><input type="text" name="service_date[]" value="" class="layui-input layui-input-readonly tool-time" data-range="到" lay-verify="required" lay-reqText="请选择服务周期" readonly></td>\
  51. <td><input type="text" name="service_price[]" value="0.00" class="layui-input input-num" lay-verify="required|number" lay-reqText="请输入服务单价"></td>\
  52. <td><input type="text" name="service_num[]" value="1" class="layui-input input-num" lay-verify="required|number" lay-reqText="请输入服务次数"></td>\
  53. <td><input type="text" name="service_subtotal[]" value="0.00" class="layui-input layui-input-readonly" readonly></td>\
  54. <td><input type="text" name="service_remark[]" value="" class="layui-input"></td>\
  55. <td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></td>\
  56. </tr>';
  57. $('#serviceTable').append(html).find('.tr-none').remove();
  58. form.render();
  59. });
  60. $('#serviceTable').on('click', '[lay-event="del"]', function() {
  61. if($('.service-tr').length<2){
  62. layer.msg('至少保留一个服务选项');
  63. return false;
  64. }
  65. $(this).parents('.service-tr').remove();
  66. count_cost();
  67. });
  68. //计算价格
  69. $('#serviceTable').on('input', '.input-num', function() {
  70. var inputs = $(this).parents('.service-tr').find("input");
  71. var service_price = inputs.eq(2).val();
  72. var service_num = inputs.eq(3).val();
  73. var service_amount = (service_price*service_num).toFixed(2);
  74. if(isNaN(service_amount)){
  75. service_amount = 0.00;
  76. }
  77. inputs.eq(4).val(service_amount);
  78. count_cost();
  79. });
  80. //计算总价
  81. function count_cost(){
  82. var service_subtotal = $('#serviceTable').find('[name="service_subtotal[]"]');
  83. var total = 0;
  84. for (var m = 0; m < service_subtotal.length; m++) {
  85. total+=$(service_subtotal[m]).val()*1000;
  86. }
  87. if(isNaN(total)){
  88. total = 0;
  89. }
  90. $('[name="cost"]').val((total/1000).toFixed(2));
  91. }
  92. }
  93. </script>