海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.5 KiB

4 years ago
4 years ago
  1. $(function () {
  2. var template = $('template.spec-tpl').html();
  3. $('input[name="product_id"]').change(function () {
  4. $.ajax({
  5. url: '`{{url}`}',
  6. method: 'POST',
  7. data: {product_id: $(this).val(), _form_: '`{{class}}`'},
  8. success: function (res) {
  9. var fields = {
  10. supplier_name: 'name',
  11. supplier_date: 'date',
  12. supplier_price: 'price',
  13. supplier_stock: 'stock',
  14. price: 'price',
  15. stock: 'stock',
  16. original_price: 'original_price',
  17. product_spec_id: 'id'
  18. };
  19. var data = res.data;
  20. var forms = $('.has-many-spec-forms');
  21. //如果是原来数据库已经保存有id,调用click,提交的时候会同时删除数据库,否则直接remove掉,减小HTML体积
  22. forms.children().each(function () {
  23. if ($(this).find('.field_id').val()) {
  24. $(this).find('.remove.btn').click();
  25. } else {
  26. $(this).remove();
  27. }
  28. });
  29. for (var key in data) {
  30. var row = $(template.replace(/new___LA_KEY__/g, key));
  31. for(var key2 in fields) {
  32. var value = fields[key2], insert_value;
  33. if (key2 === 'original_price') {
  34. insert_value = (data[key][value] * 2).toFixed(2);
  35. } else if (key2 === 'price') {
  36. insert_value = (data[key][value] * (1 + `{{profit}}`)).toFixed(2);
  37. } else {
  38. insert_value = data[key][value];
  39. }
  40. row.find('input.field_' + key2).val(insert_value);
  41. }
  42. forms.append(row);
  43. }
  44. },
  45. error: function () {
  46. Dcat.error('服务器出现未知错误,获取供应商产品规格失败');
  47. }
  48. });
  49. });
  50. });