contract_loss_share.lview 6.39 KB
Newer Older
Spencer Chang's avatar
Spencer Chang committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
<?xml version="1.0" encoding="UTF-8"?>
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" dynamiccreateenabled="true" trace="true">
    <a:view>
        <a:link id="get_xml" model="cont.CON318.contract_loss_share" modelaction="execute"/>
        <script type="text/javascript"><![CDATA[
        window['${/parameter/@layout_code}_user_button1_layout_dynamic_click'] = function() {
            window['${/parameter/@bp_seq}${/parameter/@layout_code}_lock_layout_dynamic_window']();
            getXml();
            $('${/parameter/@layout_code}_save').disable();
            $('${/parameter/@layout_code}_user_button1').disable();
        };

        window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_update'] = function(ds, record, name, value, old_value, bp_seq) {
            var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_loss_share');
            var record = $(ds_id).getAt(0);
            if(name =='car_standard_price') {
                var surplus_rate = record.get('surplus_rate');
                var car_standard_price = record.get('car_standard_price');
                var car_debt_value = car_standard_price * surplus_rate;
                record.set('car_debt_value',car_debt_value);
                var total_receivable_amount = record.get('total_receivable_amount');
                var loss_share_radio = record.get('loss_share_radio');
                var loss_share_ds = (total_receivable_amount - car_debt_value) * loss_share_radio;
                if (loss_share_ds > 0) {
                    record.set('loss_share_ds',loss_share_ds);
                }
                else record.set('loss_share_ds', 0);
            }
            else if (name =='loss_share_radio') {
                var car_debt_value = record.get('car_debt_value');
                var total_receivable_amount = record.get('total_receivable_amount');
                var loss_share_radio = record.get('loss_share_radio');
                var loss_share_ds = (total_receivable_amount - car_debt_value) * loss_share_radio;
                if (loss_share_ds > 0) {
                    record.set('loss_share_ds',loss_share_ds);
                }
                else record.set('loss_share_ds', 0);
            }

        };

        function getXml() {
            var req_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_loss_share');
            var req_record = $(req_ds_id).getCurrentRecord();
            var contract_loss_id = req_record.get('contract_loss_id');
            if (req_record.dirty) {
                Leaf.showMessage('${l:HLS.PROMPT}', '页面数据存在修改,请先保存再发起起案!');
                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }
            Leaf.request({
                url: $('get_xml').getUrl(),
                para: {
                    contract_loss_id: contract_loss_id,
                    interface_name: '${/parameter/@case_type}'
                },
                success: function(res) {
                    getUrl(res.result.xml)
                    window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                },
                failure: function() {
                    window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                },
                error: function() {
                    window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                },
                scope: this
            });

        }

        function getUrl(xml) {
            Leaf.request({
                url: '${/request/@context_path}/doodream/post/url',
                para: {
                    xml: xml
                },
                success: function(res) {
                    window.open(res.message, "", "width=940, height=650, scrollbars=yes, toolbar=no, location=no, status=no, menubar=no");
                    Leaf.SideBar.show({
                        msg: '${l:HLS.SUBMIT_SUCCESS}',
                        duration: 2000
                    });
                },
                failure: function() {
                    Leaf.SideBar.show({
                        msg: 'failure',
                        duration: 2000
                    });
                },
                error: function() {
                    Leaf.SideBar.show({
                        msg: 'error',
                        duration: 2000
                    });
                },
                scope: this
            });
        }

        window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_before_submit'] = function(ds, record) {

            var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_cost_support');
            var records = $(ds_id).getAll();
            if (records) {
                if (records.length > 3) {
                    Leaf.showMessage('${l:HLS.PROMPT}', '每种支援类型的记录最多存在一条!');
                    window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    return false;
                } else {
                    var support_type_i;
                    var support_type_j;
                    var i;
                    var j;
                    for (i = 0; i < records.length; i++) {
                        support_type_i = records[i].get('support_type');
                        for (j = i + 1; j < records.length; j++) {
                            support_type_j = records[j].get('support_type');
                            if (support_type_i == support_type_j) {
                                Leaf.showMessage('${l:HLS.PROMPT}', '每种支援类型的记录最多存在一条!');
                                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                                return false;
                            }
                        }
                    }
                }
            }

            window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
        };

        ]]></script>
    </a:view>
    <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
</a:screen>