material_controller.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * Created by zhang on 2018/9/12.
  3. */
  4. let MaterialController = {
  5. rule1:"材质及规格:",
  6. replaceMaterial:function(node){
  7. this.getMaterial([node]);
  8. let itemText = node.data.itemCharacterText;
  9. let keyWord = this.getKeyString(itemText,this.rule1);
  10. console.log(keyWord);
  11. },
  12. getMaterial:function (nodes,callback) {
  13. let data = [],materialMap= null;
  14. for(let n of nodes){
  15. let code = n.data.code;
  16. if(code.length >= 9 && n.data.billsLibId){
  17. let billCode = code.substr(0,9);
  18. data.push({code:billCode,billsLibId:n.data.billsLibId});
  19. }
  20. }
  21. if(data.length>0){
  22. //data去重
  23. }else {
  24. callback(null);
  25. }
  26. },
  27. getKeyString:function (itemText,matchStr) {//截取关键数据
  28. itemText = itemText.replace(/:/g, ":");//中文字符转换为英文字符
  29. itemText = itemText.replace(matchStr,"@$@");//用特殊符号取代关键字,方便截取
  30. let index = itemText.indexOf("@$@");
  31. if(index == -1) return null;
  32. let temString = itemText.substr(index+3);
  33. let strArray = temString.split(/\n/);
  34. let keyString = this.trim(strArray[0]);
  35. return keyString===""?null:keyString;
  36. },
  37. trim:function (str) {
  38. return str.replace(/(^\s*)|(\s*$)/g, "");
  39. }
  40. };