| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 'use strict';/** * 指标库-项目节参数 * * @author Mai * @date 2018/4/25 * @version */$(document).ready(function() {    const billsSpread = SpreadJsObj.createNewSpread($('#bills-spread')[0]);    const billsSheet = billsSpread.getActiveSheet();    const billsTree = createNewPathTree({        id: 'n_id',        pid: 'n_pid',        order: 'n_order',        level: 'n_level',        full_path: 'n_full_path',        is_leaf: 'n_is_leaf',        rootId: -1,        keys: ['id', 'lib_id', 'n_id'],        preUrl: '/lib/detail',    });    billsTree.loadDatas(bills);    SpreadJsObj.initSheet(billsSheet, {        cols: [            {title: '项目节编号', field: 'code', width: 120, cellType: 'tree', vAlign: 1, readOnly: true},            {title: '清单编号', field: 'b_code', width: 80, vAlign: 1, readOnly: true},            {title: '名称', field: 'name', width: 200, vAlign: 1, readOnly: true},            {title: '单位', field: 'units', width: 62, vAlign: 1, hAlign: 1, readOnly: true},            {title: '数量1', field: 'dgn_quantity1', width: 60, type: 'Number', vAlign: 1, readOnly: true},            {title: '数量2', field: 'dgn_quantity2', width: 60, type: 'Number', vAlign: 1, readOnly: true},            {title: '金额', field: 'total_price', width: 60, type: 'Number', vAlign: 1, readOnly: true},        ],        //treeCol: 0,        emptyRows: 3,        headRows: 2,        headRowHeight: [28],        defaultRowHeight: 30,    });    SpreadJsObj.loadSheetData(billsSheet, 'tree', billsTree);    billsSheet.selectionPolicy(0);    billsSheet.selectionUnit(1);    billsSheet.clearSelection();    billsSheet.setActiveCell(0);    setquotaParamIndex();    const spreadNS = GC.Spread.Sheets;    //项目节选中    billsSheet.bind(spreadNS.Events.SelectionChanged, function (e, info) {        setquotaParamIndex();    });    function setquotaParamIndex() {        const billsInfo = billsTree.nodes[billsSheet.getActiveRowIndex()];        $('#codeName').text(billsInfo.name);        $('#indexList').html('');        $('#paramList').html('');        if(billsInfo.match_node !== null){            const postUrl = '/lib/getParamAndIndex';            const postInfo = {                lib_id: billsInfo.lib_id,                node_id: billsInfo.match_node,                bills_id: billsInfo.id            };            postData(postUrl, postInfo, function (result) {                updateIndexHTML(result.indexList);                updateParamHTML(result.paramList);            });        }    }        function updateIndexHTML(indexlist) {        let index_html = '';        const index_list = indexlist;        for(let i in index_list) {            index_html += '<tr> <td>'+ index_list[i].code +'</td> <td>'+ index_list[i].name +'</td>' +                '<td>'+ (index_list[i].unit1 !== null ? index_list[i].unit1 : '') +'</td>' +                '<td width="75">'+ (index_list[i].unit2 !== null ? index_list[i].unit2 : '') +'</td>' +                '<td>'+ index_list[i].rule +'</td> <td class="text-right">'+ (index_list[i].eval_rule !== null ? index_list[i].eval_rule : '') +'</td>' +                '<td class="text-right">'+ (index_list[i].value !== null ? index_list[i].value : '') +'</td> </tr>';        }        $('#indexList').html(index_html);    }        function updateParamHTML(paramlist) {        let param_html = '';        const param_list = paramlist;        for(let i in param_list) {            param_list[i].calc_value = param_list[i].calc_value !== null ? param_list[i].calc_value : '';            let subNode = param_list[i].match_type === 3 ? '(自动绑定)' : (param_list[i].match_type === 4 ? param_list[i].match_key : '');            param_html += '<tr> <td>'+ param_list[i].name +'</td><td>'+ subNode +'</td>' +                '<td><input type="text" class="form-control form-control-sm text-right" value="'+ param_list[i].calc_value +'" ' +                'data-old-value="'+ param_list[i].calc_value +'" data-lib-id="'+ param_list[i].lib_id +'" ' +                'data-node-id="'+ param_list[i].node_id +'" data-code="'+ param_list[i].code +'"></td> </tr>';        }        $('#paramList').html(param_html);    }    $('body').on('blur', '#paramList input', function () {        const self = $(this);        if(self.val() != self.attr('data-old-value')){            const postInfo = {                lib_id: parseInt(self.attr('data-lib-id')),                node_id: parseInt(self.attr('data-node-id')),                code: self.attr('data-code'),                updateType: 'modify',                value: parseFloat(self.val())            };            const postUrl = '/lib/updateParamValue';            postData(postUrl, postInfo, function (result) {                self.attr('data-old-value', result.param.calc_value);                updateIndexHTML(result.indexes);            },function (result) {                self.val(self.attr('data-old-value'));            });        }    });    $('#param-visible').click(function () {        if (this.innerHTML === '展开') {            this.innerHTML = '收起';            $('.sjs-bottom-4').show();            autoFlashHeight();        } else {            this.innerHTML = '展开';            $('.sjs-bottom-4').hide();            autoFlashHeight();        }    });});
 |