purchase_price_order.html 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  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. </head>
  12. <body>
  13. <div class="layui-fluid">
  14. <div class="layui-card">
  15. <div class="layui-card-body" pad15>
  16. <div class="layui-row layui-col-space15">
  17. <div class="layui-col-md12">
  18. <form class="layui-form" action="" lay-filter="component-form-element">
  19. <div class="layui-row layui-col-space10">
  20. <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
  21. <label>单号:<span id="no"></span></label>
  22. </div>
  23. <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
  24. <label>下单时间:<span id="create_time"></span></label>
  25. </div>
  26. <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
  27. <label>需求人:<span id="demend_user_text"></span></label>
  28. </div>
  29. </div>
  30. <div class="layui-row layui-col-space10">
  31. <table id="dataTable" lay-filter="dataTable" class="layui-hide"></table>
  32. </div>
  33. <button class="layui-btn" id="submit_btn" lay-submit lay-filter="component-form-element" style="display: none">确定</button>
  34. </form>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <script src="../../layuiadmin/layui/layui.js"></script>
  41. <script>
  42. var _data_list = [];
  43. var _data = [];
  44. layui.config({
  45. base: '../../../layuiadmin/' //静态资源所在路径
  46. }).extend({
  47. index: 'lib/index' //主入口模块
  48. }).use(['index', 'form', 'table'], function(){
  49. var $ = layui.$
  50. ,admin = layui.admin
  51. ,table = layui.table
  52. ,form = layui.form;
  53. var id = layui.view.getParameterByName('id');
  54. if (id) {
  55. var editdata = parent.layui.table.editdata;
  56. $('#no').html(editdata.no);
  57. $('#create_time').html(editdata.create_time);
  58. $('#demend_user_text').html(editdata.demend_user_text);
  59. }
  60. admin.req({
  61. url: '/purchase/purchase/table_totle/?id=' + id,
  62. done: function(res){
  63. var plan_details = res.data.plan_details;
  64. var purchase_users = res.data.purchase_users;
  65. var purchase_prices = res.data.purchase_prices;
  66. var getUserPrice = function(user_id,detail_id) {
  67. for (var n in purchase_prices) {
  68. var purchase_price = purchase_prices[n];
  69. if (purchase_price.user_id == user_id && purchase_price.detail_id == detail_id) {
  70. return purchase_price;
  71. }
  72. }
  73. return null;
  74. };
  75. var title2 = [];
  76. var title3 = [];
  77. var title1 = [
  78. {title: '序号', type: 'numbers', rowspan: 3},
  79. {field: 'name', title: '员工名称', width: 200, rowspan: 3}
  80. ];
  81. for (var n in plan_details){
  82. var product = plan_details[n];
  83. title1.push({align: 'center', title: product.name, colspan: 4});
  84. title2.push({align: 'center', title:'代码:'+product.model+'&emsp;&emsp;&emsp;&emsp;&emsp;'+'数量:'+product.count+'&emsp;&emsp;&emsp;&emsp;&emsp;'+'单位:'+product.unit, colspan: 4});
  85. title3.push({field: 'price' + product.id, align:'right', title: '价格', width: 80});
  86. title3.push({field: 'supplier' + product.id, title: '供应商', width: 120});
  87. title3.push({field: 'notes' + product.id, title: '备注', minWidth: 200});
  88. title3.push({field:''+product.id,width:60, title: '选择', templet:function(d){
  89. return '<input type="radio" user="'+d.id+'" name="product_price'+d.id+'" value="1" title="">';
  90. }});
  91. }
  92. _data_list=[title1,title2,title3];
  93. for (var n in plan_details) {
  94. var plan_detail = plan_details[n];
  95. for (var i in purchase_users) {
  96. var user = purchase_users[i];
  97. var user_price = getUserPrice(user.id,plan_detail.id);
  98. user['price'+plan_detail.id] = '';
  99. user['supplier'+plan_detail.id] = '';
  100. user['notes'+plan_detail.id] = '';
  101. user[plan_detail.id] = '';
  102. if (user_price != null) {
  103. user['price'+plan_detail.id] = user_price.price;
  104. user['supplier'+plan_detail.id] = user_price.supplier;
  105. user['notes'+plan_detail.id] = user_price.notes;
  106. user[plan_detail.id] = user_price.id;
  107. }
  108. }
  109. }
  110. _data = purchase_users;
  111. rendTable();
  112. }
  113. });
  114. var layTableId = "dataTable";
  115. var tableIns = null;
  116. var rendTable = function (){
  117. tableIns =table.render({
  118. elem: '#dataTable',
  119. id: layTableId,
  120. data: _data,
  121. page: false,
  122. limit: 1000,
  123. loading: true,
  124. even: true //不开启隔行背景
  125. ,cols:_data_list
  126. ,height: 'full-85'
  127. ,done:function(res, curr, count) {
  128. var oldData = res.data;
  129. $("input").each(function () {
  130. var product_id = $(this).parent().parent().attr('data-field');
  131. var user_id = $(this).attr('user');
  132. this.setAttribute('name','product_price'+product_id );
  133. for (var n in oldData) {
  134. var item = oldData[n];
  135. if (item.id == user_id) {
  136. if (!item[product_id]) {
  137. $(this).parent().children(1).remove();
  138. $(this).remove();
  139. }
  140. }
  141. }
  142. });
  143. }
  144. });
  145. };
  146. form.on('submit(component-form-element)', function () {
  147. var oldData = table.cache[layTableId];
  148. var data = [];
  149. $("input:checked").each(function () {
  150. var product_id = $(this).parent().parent().attr('data-field');
  151. var user_id = $(this).attr('user');
  152. for (var n in oldData) {
  153. var item = oldData[n];
  154. if (item.id == user_id) {
  155. var product_price = item[product_id];
  156. if (product_price){
  157. var row={
  158. user_price_id: product_price
  159. };
  160. data.push(row);
  161. }
  162. }
  163. }
  164. });
  165. if (!data.length) {
  166. layer.msg('请选择询价结果');
  167. return false;
  168. }
  169. admin.req({
  170. url: '/purchase/purchase_order/plan_to_order/'
  171. , data: {data: JSON.stringify(data)}
  172. , type: 'post'
  173. , done: function (res) {
  174. parent.layui.onSubmitChild();
  175. }
  176. });
  177. return false;
  178. });
  179. parent.layui.submitChild = function () {
  180. $("#submit_btn").click();
  181. };
  182. })
  183. </script>
  184. </body>
  185. </html>