renderer.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /*
  2. * 公用renderer
  3. * */
  4. /*
  5. * 合计
  6. * */
  7. function summaryFormat (v1) {
  8. var num = v1.value;
  9. if (isNaN(num)) { num = 0; }
  10. var n = 2;
  11. if (num === null || num === 'null' || num === undefined || num === 'undefined') { return ''; }
  12. if (isNaN(num)) { return num; }
  13. let data = (num + '').split('.');
  14. num = data[0];
  15. if (n) {
  16. num = Number(num);
  17. num.toFixed(n);
  18. }
  19. num = String(num);
  20. var re = /(-?\d+)(\d{3})/;
  21. while (re.test(num)) {
  22. num = num.replace(re, '$1,$2');
  23. }
  24. if (data[1] !== '' && data[1] !== null && data[1] !== undefined) {
  25. num = num + '.' + Math.floor(Number('0.' + data[1]) * 100);
  26. }
  27. return num;
  28. }
  29. /*
  30. * 生产模块renderer
  31. * */
  32. // 订单属性
  33. function filterOrderNature (e) {
  34. var val = e.value;
  35. if (val === '需加工') {
  36. return '<span class="color-success">' + val + '</span>';
  37. }
  38. return val;
  39. }
  40. function filterWeightType (e) {
  41. var val = e.value;
  42. if (val === '净重') {
  43. return '<span class="color-danger">' + val + '</span>';
  44. }
  45. return val;
  46. }
  47. function changeWholeProcess (e) {
  48. var val = e.value;
  49. try {
  50. if (val && typeof val === 'string') {
  51. let arr = val.split('-'), str = '';
  52. for (let i = 0, len = arr.length; i < len; i++) {
  53. str = `${str}${i + 1}、${arr[i]}-`
  54. }
  55. str = str.substring(0, str.length - 1)
  56. return `<span>${str}</span>`
  57. }
  58. } catch (error) {
  59. }
  60. return val
  61. }
  62. function doupdate (e) {
  63. for (let item of e.sender.data) {
  64. if (item.change_flag === 3 || item.change_flag === '3') {
  65. mini.get(e.sender.id).addRowCls(item, 'ytg-order-color')
  66. } else if (item.is_split === 1 || item.is_split === '1') {
  67. mini.get(e.sender.id).addRowCls(item, 'solution-row')
  68. }
  69. }
  70. }
  71. // 特殊要求
  72. function teshuyaoqiuRenderer (e) {
  73. if (e.row.customer_alpha_no) {
  74. return '<a class="el-button--text rp-teshuyaoqiu" ' +
  75. '_rowIndex="' + e.rowIndex + '">' + e.row.customer_alpha_no + '</a>';
  76. } else {
  77. return '';
  78. }
  79. }
  80. var proOrderStatus_rp = {
  81. '0PAA09': '订单已退销售',
  82. '0PAA10': '订单已接收',
  83. '0PAA12': '订单下发',
  84. '0PAA20': '订单已完成',
  85. '0PAA97': '充当',
  86. '0PAA98': '脱单',
  87. '0PDA10': '分条设计完成',
  88. '0PLW01': '计划已编制',
  89. '0PLW02': '计划已下发',
  90. '0PLW03': '开始分条作业',
  91. '0PLW09': '剪废',
  92. '0PLW10': '分条作业完成',
  93. '0PLWXX': '计划已失效',
  94. '0PPK01': '计划已编制',
  95. '0PPK02': '计划已下发',
  96. '0PPK03': '开始分条作业',
  97. '0PPK10': '分条作业完成',
  98. '0PPKXX': '计划已失效',
  99. '5BLW01': '计划已编制',
  100. '5BLW02': '计划已下发',
  101. '5BLW03': '开始分条作业',
  102. '5BLW09': '分条剪废',
  103. '5BLW10': '分条作业完成',
  104. '5BLW33': '等待分条判定',
  105. '5BLW40': '分条判定完成',
  106. '5BPK03': '等待包装作业',
  107. '5BPK05': '正在包装作业',
  108. '5BPK10': '包装作业完成',
  109. '5BPK33': '等待包装判定',
  110. '5BPK40': '包装判定完成',
  111. '5BYA05': '物料在库',
  112. '5BYS03': '物料待出库',
  113. '5BYS10': '物料已出库',
  114. '5BYZ03': '等待装车',
  115. '5BYZ10': '已发运',
  116. '5BZA03': '等待退库'
  117. };
  118. function orderStatusRenderer (e) {
  119. return proOrderStatus_rp[e.value];
  120. }
  121. /*
  122. * 物流模块renderer
  123. * */
  124. // 有效状态
  125. function filterValidFlag (e) {
  126. if (e.value === '1' || e.value === 1) {
  127. return '<span class="color-success">有效</span>';
  128. } else if (e.value === '0' || e.value === 0) {
  129. return '<span class="color-danger">无效</span>';
  130. }
  131. }
  132. var logisticsStorageAttr_rp = {
  133. '500201': '原料库',
  134. '500202': '在制品库',
  135. '500203': '成品库',
  136. '500204': '客户库'
  137. }
  138. // 仓库属性
  139. function filterStorageAttr (e) {
  140. console.log('e', e);
  141. return logisticsStorageAttr_rp[e.value]
  142. // return this.$store.state.logisticsStorageAttr_rp[e.value];
  143. }
  144. // 区域属性
  145. function filterAreaAttr (e) {
  146. return e.value
  147. // return this.$store.state.logisticsAreaAttr_rp[e.value];
  148. }
  149. // 规格
  150. function filterSize (e) {
  151. return toFormatNum(e.record.thick) + '*' + toFormatNum(e.record.width);
  152. }
  153. function filterNum (e) {
  154. return toFormatNum(e.value);
  155. }
  156. function toFormatNum (num, n) {
  157. if (num === null || num === 'null' || num === undefined || num === 'undefined') { return ''; }
  158. if (isNaN(num)) { return num; }
  159. if (n) {
  160. num = Number(num);
  161. num.toFixed(n);
  162. }
  163. num = String(num);
  164. var re = /(-?\d+)(\d{3})/;
  165. while (re.test(num)) {
  166. num = num.replace(re, '$1,$2');
  167. }
  168. return num;
  169. }