mbzm_view.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /**
  2. * Created by zhang on 2018/11/26.
  3. */
  4. let mbzm_obj={
  5. spread:null,
  6. datas:[],
  7. setting:{
  8. header: [
  9. {headerName: "编码", headerWidth: 130, dataCode: "code", dataType: "String", formatter: "@"},
  10. {headerName: "模板类别", headerWidth: 260, dataCode: "name", dataType: "String", hAlign: "left"},
  11. {headerName: "系数", headerWidth: 65, dataCode: "coe", dataType: "Number"},
  12. {headerName: "单位", headerWidth: 45, dataCode: "unit", dataType: "String", hAlign: "center"},
  13. {headerName: "工程量", headerWidth: 65, dataCode: "quantity", dataType: "Number",decimalField: "ration.quantity"},
  14. {headerName: "关联类别", headerWidth: 100, dataCode: "type", dataType: "String"},
  15. {headerName: "清单位置", headerWidth: 200, dataCode: "position", hAlign: "left", dataType: "String",cellType:'selectButton',getText:'forPosition'},
  16. ],
  17. view: {
  18. lockColumns:["code","name","unit","type","fxID"],
  19. rowHeaderWidth:25
  20. },
  21. getText:{
  22. forPosition:function (item) {
  23. return ""
  24. }
  25. }
  26. },
  27. //当点击应用的时候才保存数据
  28. initSpread:function () {
  29. this.spread = SheetDataHelper.createNewSpread($("#mbzmSpread")[0]);
  30. sheetCommonObj.spreadDefaultStyle(this.spread);
  31. this.sheet = this.spread.getSheet(0);
  32. sheetCommonObj.initSheet(this.sheet, this.setting);
  33. },
  34. refresh:function () {
  35. let total = $('#mbzmSpread').parent().height();
  36. let b_height = $('#mbzmSpread').prev('.col-12').height();
  37. $('#mbzmSpread').css('height',total- b_height);
  38. this.spread?this.spread.refresh():this.initSpread();
  39. },
  40. showMBZMData:function(node){
  41. let selected = node?node:projectObj.project.mainTree.selected;
  42. let datas = [];
  43. $("#createLocation").val(1);//初始化
  44. if(selected&&selected.sourceType == "ration"){
  45. let ration = selected.data;
  46. let template = projectObj.project.ration_template.getTemplateByRationID(ration.ID);
  47. if(template) {
  48. $("#createLocation").val(template.createLocation);
  49. let pcol = _.findIndex(this.setting.header,{dataCode:"position"});
  50. this.setting.header[pcol].visible = template.createLocation == 3?false:true;
  51. datas = _.cloneDeep(template.templateList);
  52. }
  53. }
  54. this.datas = datas;
  55. sheetCommonObj.showData(this.sheet, this.setting,this.datas);
  56. this.sheet.setRowCount(this.datas.length);
  57. }
  58. };
  59. $('#createLocation').change(function(){
  60. let me = mbzm_obj;
  61. let pcol = _.findIndex(me.setting.header,{dataCode:"position"});
  62. me.setting.header[pcol].visible = template.createLocation == 3?false:true;
  63. $(this).val();
  64. mbzm_obj.showMBZMData();
  65. });