order.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. (function () {
  2. var begin = '';
  3. var end = '';
  4. var multipleData = null;
  5. var page = {
  6. grid: null,
  7. init: function ($page) {
  8. begin = '';
  9. end = '';
  10. multipleData = null;
  11. page.grid = $('#lr_crmorder_list').lrpagination({
  12. lclass: page.lclass,
  13. rows: 10, // 每页行数
  14. getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调
  15. param.begin = begin;
  16. param.end = end;
  17. param.multipleData = multipleData;
  18. page.loadData(param, callback, $page);
  19. },
  20. renderData: function (_index, _item, _$item) {// 渲染数据模板
  21. return page.rowRender(_index, _item, _$item, $page);
  22. },
  23. click: function (item, $item, $et) {// 列表行点击事件
  24. if ($et.hasClass('lr-btn-danger')) {
  25. page.btnClick(item, $item, $page);
  26. }
  27. else {
  28. page.rowClick(item, $item, $page);
  29. }
  30. },
  31. btns: page.rowBtns
  32. });
  33. // 时间搜索
  34. $page.find('.lr_time_search').searchdate({
  35. callback: function (_begin, _end) {
  36. begin = _begin;
  37. end = _end;
  38. multipleData = null;
  39. page.grid.reload();
  40. }
  41. });
  42. // 多条件查询
  43. var $multiple = $page.find('.lr_multiple_search').multiplequery({
  44. callback: function (data) {
  45. begin = '';
  46. end = '';
  47. multipleData = data || {};
  48. page.grid.reload();
  49. }
  50. });
  51. // 客户名称
  52. $multiple.find('#customerId').lrpickerex({
  53. url: "renlian/adms/crm/customer/list",
  54. ivalue: "F_CustomerId",
  55. itext: "F_FullName"
  56. });
  57. // 销售人员
  58. $multiple.find('#sellerId').lrselect({
  59. type: 'user'
  60. });
  61. // 客户名称
  62. $multiple.find('#paymentState').lrpickerex({
  63. type: 'dataItem',
  64. code: 'Client_PaymentMode'
  65. });
  66. // 新增开票信息
  67. $page.find('#crm_crmorder_btn').on('tap', function () {
  68. renlian.nav.go({ path: 'crm/order/form', title: '新增订单', type: 'right', param: {} });
  69. });
  70. },
  71. lclass: 'lr-list',
  72. loadData: function (param, callback, $page) {// 列表加载后台数据
  73. var _postParam = {
  74. pagination: {
  75. rows: param.rows,
  76. page: param.page,
  77. sidx: 'F_CreateDate',
  78. sord: 'DESC'
  79. },
  80. queryJson: '{}'
  81. };
  82. if (param.multipleData) {
  83. _postParam.queryJson = JSON.stringify(multipleData);
  84. }
  85. if (param.begin && param.end) {
  86. _postParam.queryJson = JSON.stringify({ StartTime: param.begin, EndTime: param.end });
  87. }
  88. renlian.httpget(config.webapi + "renlian/adms/crm/order/pagelist", _postParam, (data) => {
  89. $page.find('.lr-badge').text('0');
  90. if (data) {
  91. $page.find('.lr-badge').text(data.records);
  92. callback(data.rows, parseInt(data.records));
  93. }
  94. else {
  95. callback([], 0);
  96. }
  97. });
  98. },
  99. rowRender: function (_index, _item, _$item, $page) {// 渲染列表行数据
  100. _$item.addClass('lr-list-item lr-list-item-multi');
  101. _$item.append($('<p class="lr-ellipsis"><span>单据日期:</span></p>').dataFormatter({
  102. type: 'datetime',
  103. value: _item.F_OrderDate,
  104. dateformat:'yyyy-MM-dd'
  105. }));
  106. _$item.append($('<p class="lr-ellipsis"><span>单据编号:</span></p>').dataFormatter({ value: _item.F_OrderCode}));
  107. _$item.append($('<p class="lr-ellipsis"><span>客户名称:</span></p>').dataFormatter({
  108. type: 'dataCustmer',
  109. value: _item.F_CustomerId,
  110. url: "renlian/adms/crm/customer/list",
  111. keyId: 'F_CustomerId',
  112. text:'F_FullName'
  113. }));
  114. _$item.append($('<p class="lr-ellipsis"><span>销售人员:</span></p>').dataFormatter({
  115. type: 'organize',
  116. value: _item.F_SellerId,
  117. dataType: "user"
  118. }));
  119. _$item.append($('<p class="lr-ellipsis"><span>优惠金额:</span></p>').dataFormatter({ value: _item.F_DiscountSum }));
  120. _$item.append($('<p class="lr-ellipsis"><span>收款金额:</span></p>').dataFormatter({ value: _item.F_Accounts }));
  121. _$item.append($('<p class="lr-ellipsis"><span>收款方式:</span></p>').dataFormatter({
  122. type: 'dataItem',
  123. value: _item.F_PaymentMode,
  124. code: "Client_PaymentMode"
  125. }));
  126. var _paymentState = '<span class="lr-label lr-badge-danger" >未收款</span>';
  127. switch (_item.F_PaymentState) {
  128. case '2':
  129. _paymentState = '<span class="lr-label lr-badge-success" >部分收款</span>';
  130. break;
  131. case '3':
  132. _paymentState = '<span class="lr-label lr-badge-primary" >全部收款</span>';
  133. break;
  134. }
  135. _$item.append('<p class="lr-ellipsis"><span>收款状态:</span>' + _paymentState + '</p>');
  136. _$item.append($('<p class="lr-ellipsis"><span>制单人员:</span></p>').dataFormatter({ value: _item.F_CreateUserName }));
  137. _$item.append($('<p class="lr-ellipsis"><span>备注:</span></p>').dataFormatter({ value: _item.F_Description }));
  138. return '';
  139. },
  140. rowClick: function (item, $item, $page) {// 列表行点击触发方法
  141. renlian.nav.go({ path: 'crm/order/form', title: '订单详情', type: 'right', param: { keyValue: item.F_OrderId } });
  142. },
  143. btnClick: function (item, $item, $page) {// 左滑按钮点击事件
  144. renlian.layer.confirm('确定要删除该笔数据吗?', function (_index) {
  145. if (_index === '1') {
  146. renlian.layer.loading(true, "正在删除该笔数据");
  147. renlian.httppost(config.webapi + "renlian/adms/crm/order/delete", item.F_OrderId , (data) => {
  148. if (data) {// 删除数据成功
  149. page.grid.reload();
  150. }
  151. renlian.layer.loading(false);
  152. });
  153. }
  154. }, '任联提示', ['取消', '确定']);
  155. },
  156. rowBtns: ['<a class="lr-btn-danger">删除</a>'] // 列表行左滑按钮
  157. };
  158. return page;
  159. })();