renderer.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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. // 特殊要求
  41. function teshuyaoqiuRenderer (e) {
  42. if (e.row.customer_alpha_no) {
  43. return '<a class="el-button--text rp-teshuyaoqiu" ' +
  44. '_rowIndex="' + e.rowIndex + '">' + e.row.customer_alpha_no + '</a>';
  45. } else {
  46. return '';
  47. }
  48. }
  49. var proOrderStatus_rp = {
  50. '0PAA09': '订单已退销售',
  51. '0PAA10': '订单已接收',
  52. '0PAA12': '订单下发',
  53. '0PAA20': '订单已完成',
  54. '0PAA97': '充当',
  55. '0PAA98': '脱单',
  56. '0PDA10': '分条设计完成',
  57. '0PLW01': '计划已编制',
  58. '0PLW02': '计划已下发',
  59. '0PLW03': '开始分条作业',
  60. '0PLW09': '剪废',
  61. '0PLW10': '分条作业完成',
  62. '0PLWXX': '计划已失效',
  63. '0PPK01': '计划已编制',
  64. '0PPK02': '计划已下发',
  65. '0PPK03': '开始分条作业',
  66. '0PPK10': '分条作业完成',
  67. '0PPKXX': '计划已失效',
  68. '5BLW01': '计划已编制',
  69. '5BLW02': '计划已下发',
  70. '5BLW03': '开始分条作业',
  71. '5BLW09': '分条剪废',
  72. '5BLW10': '分条作业完成',
  73. '5BLW33': '等待分条判定',
  74. '5BLW40': '分条判定完成',
  75. '5BPK03': '等待包装作业',
  76. '5BPK05': '正在包装作业',
  77. '5BPK10': '包装作业完成',
  78. '5BPK33': '等待包装判定',
  79. '5BPK40': '包装判定完成',
  80. '5BYA05': '物料在库',
  81. '5BYS03': '物料待出库',
  82. '5BYS10': '物料已出库',
  83. '5BYZ03': '等待装车',
  84. '5BYZ10': '已发运',
  85. '5BZA03': '等待退库'
  86. };
  87. function orderStatusRenderer (e) {
  88. return proOrderStatus_rp[e.value];
  89. }
  90. /*
  91. * 物流模块renderer
  92. * */
  93. // 有效状态
  94. function filterValidFlag (e) {
  95. if (e.value === '1' || e.value === 1) {
  96. return '<span class="color-success">有效</span>';
  97. } else if (e.value === '0' || e.value === 0) {
  98. return '<span class="color-danger">无效</span>';
  99. }
  100. }
  101. var logisticsStorageAttr_rp = {
  102. '500201': '原料库',
  103. '500202': '在制品库',
  104. '500203': '成品库',
  105. '500204': '客户库'
  106. }
  107. // 仓库属性
  108. function filterStorageAttr (e) {
  109. console.log('e', e);
  110. return logisticsStorageAttr_rp[e.value]
  111. // return this.$store.state.logisticsStorageAttr_rp[e.value];
  112. }
  113. // 区域属性
  114. function filterAreaAttr (e) {
  115. return e.value
  116. // return this.$store.state.logisticsAreaAttr_rp[e.value];
  117. }
  118. // 规格
  119. function filterSize (e) {
  120. return toFormatNum(e.record.thick) + '*' + toFormatNum(e.record.width);
  121. }
  122. function filterNum (e) {
  123. return toFormatNum(e.value);
  124. }
  125. function toFormatNum (num, n) {
  126. if (num === null || num === 'null' || num === undefined || num === 'undefined') { return ''; }
  127. if (isNaN(num)) { return num; }
  128. if (n) {
  129. num = Number(num);
  130. num.toFixed(n);
  131. }
  132. num = String(num);
  133. var re = /(-?\d+)(\d{3})/;
  134. while (re.test(num)) {
  135. num = num.replace(re, '$1,$2');
  136. }
  137. return num;
  138. }