1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- let selectFBObject = {
- spread:null,
- datas:[],
- setting:{
- header: [
- {headerName: "编号", headerWidth: 180, dataCode: "code", dataType: "String"},
- {headerName: "名称", headerWidth: 210, dataCode: "name", dataType: "String"},
- {headerName: "单位", headerWidth: 50, dataCode: "unit", dataType: "String", hAlign: "center"},
- ],
- view:{ lockColumns: ["name","code","unit"]}
- },
- initSpread:function(){
- if(!this.spread){
- this.spread = SheetDataHelper.createNewSpread($("#selectFBSheet")[0]);
- sheetCommonObj.spreadDefaultStyle(this.spread);
- let sheet = this.spread.getSheet(0);
- sheetCommonObj.initSheet(sheet,this.setting,0);
- /* sheet.bind(GC.Spread.Sheets.Events.SelectionChanged,this.onSelectionChange);
- sheet.bind(GC.Spread.Sheets.Events.ValueChanged, this.onEngineerInfoValueChange);
- sheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onEngineerInfoRangeChange);
- sheet.name('engineerInfo'); */
-
-
- if(projectReadOnly){
- sheetCommonObj.disableSpread(this.spread);
- }
- }else{
- this.spread.repaint();
- }
-
- },
- getSelectedData:function(){
- let sel = this.spread.getSheet(0).getSelections()[0];
- if(sel && gljUtil.isDef(sel.row)){
- return this.datas[sel.row]
- }
- return null;
- },
- showData:function(){
- let me = selectFBObject;
- billsGuidance.initBillsLibs(()=>{
- if(me.datas.length==0){
- for(let r of billsGuidance.bills.tree.roots){
- selectFBObject.setDatas(r);
- }
- }
- sheetCommonObj.showTreeData(me.spread.getSheet(0), me.setting, me.datas);
- });
- },
- setDatas:function(node){
- if(node.children.length > 0){//过滤叶子节点
- let nodeData = node.data;
- let d = {
- ID:nodeData.ID,
- ParentID:nodeData.ParentID,
- code:nodeData.code,
- name:nodeData.name,
- unit:nodeData.unit
- }
- this.datas.push(d);
- for(let c of node.children){
- this.setDatas(c)
- }
- }
- }
- }
- $(function () {
- $('#selectFBDiv').on('shown.bs.modal', function (e) {
- selectFBObject.initSpread();
- selectFBObject.showData();
- })
- $("#selectFBConfirm").click(async ()=>{
- let data = selectFBObject.getSelectedData();
- if(!data) return;
- let selected = projectObj.project.mainTree.selected;
- let datas = [{
- type:'bills',
- data:{
- ID:selected.data.ID,
- name:data.name,
- code:data.code,
- unit:data.unit
- }
- }]
- await projectObj.project.syncUpdateNodesAndRefresh(datas);
- })
- })
|