<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: 38823
    $Date: 2023-08-10
    $Revision: 1.0
    $Purpose: 经营性租赁商业伙伴创建 明细页面
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" dynamiccreateenabled="true"
          trace="true">
    <a:init-procedure>
        <a:model-query fetchAll="true" model="hls.HLS213N.hls_bp_master_unit" rootPath="user_agent_description"/>
        <a:model-query fetchAll="true" model="hls.HLS214N.hls_bp_master_modify_user" rootPath="modify_user"/>
        <a:model-query model="cont.CON620.get_sys_role" rootPath="role_info"/>
    </a:init-procedure>
    <a:view>
        <a:link id="get_special_fields_link_id" model="hls.HLS213N.social_code_exist" modelaction="update"/>

        <a:link id="gh_nc_post_addsupplierinfo_link" model="hls.HLS213.hls_bp_master_nc_post" modelaction="update"/>
        <a:link id="hls214N_cdd_uploadFile_id" url="${/request/@context_path}/uploadFile.lview"/>
        <a:link id="hls214N_cdd_downloadFile_id" url="${/request/@context_path}/downloadFile.lview"/>
        <script src="${/request/@context_path}/modules/prj/PRJ500N/javascripts/input_validator.js"
                type="text/javascript"/>
        <a:link id="gh_nc_post_addcustomerinfo_link" model="hls.HLS213.hls_bp_master_nc_post" modelaction="execute"/>
        <a:link id="${/parameter/@layout_code}_signer_create_link_id" model="hls.HLS213.hls_bp_master_signer_create_check"
                modelaction="update"/>
        <a:link id="rsc303_fin_statement_link" url="${/request/@context_path}/modules/rsc/RSC303/rsc_fin_statement_prj_all_query.lview"/>
        <script type="text/javascript"><![CDATA[
        Leaf.onReady(function () {
            var unit_id = '${/model/user_agent_description/record/@unit_id}';
            var unit_id_n = '${/model/user_agent_description/record/@bp_name}';
            var employee_type_id = '${/model/modify_user/record/@employee_type_id}';

            var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_role');
            var bp_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');

            var address_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_address');

            var bp_record = $(bp_ds_id).getCurrentRecord();
            var bank_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_bank_account');
            var bank_record = $(bank_ds_id).getCurrentRecord();

            bp_record.set('bp_category', '${/parameter/@bp_category}');
            bp_record.set('owner_user_id', '${/session/@user_id}');
            bp_record.set('unit_id', unit_id);
            bp_record.set('unit_id_n', unit_id_n);
            if(bp_record.get('bp_type')!='THIRD_PARTY'){
                if (employee_type_id == '64') {
                    bp_record.getField('unit_id_n').setReadOnly(true);
                    bp_record.getField('unit_id_n').setRequired(false);
                } else {
                    bp_record.getField('unit_id_n').setReadOnly(false);
                    bp_record.getField('unit_id_n').setRequired(true);
                }
            }

            if ('${/parameter/@bp_type}' == 'AGENT') {
                bp_record.getField('agent_type_n').setReadOnly(false);
                // bp_record.getField('agent_type_n').setRequired(true);

            } else {
                bp_record.getField('agent_type_n').setReadOnly(true);
                // bp_record.getField('agent_type_n').setRequired(false);
            }
            //自然人不展示财报按钮
            if('${/parameter/@bp_class}' == 'NP' && document.getElementById('${/parameter/@layout_code}_user_button2')){
                document.getElementById('${/parameter/@layout_code}_user_button2').style.display = 'none';
            }
            if (ds_id && '${/parameter/@default_value_dsid}') {
                var head_record = $('${/parameter/@default_value_dsid}').getCurrentRecord();

                var bp_master_role_ds = $(ds_id);
                var record = new Leaf.Record({
                    'primary_flag': 'Y',
                    'bp_category': head_record.get('bp_category'),
                    'bp_category_n': head_record.get('bp_category_n'),
                    'bp_type': head_record.get('bp_type'),
                    'bp_type_n': head_record.get('bp_type_n'),
                    'bp_class': head_record.get('bp_class'),
                    'bp_class_n': head_record.get('bp_class_n'),
                    'company_nature': head_record.get('company_nature'),
                    'conpany_personal': head_record.get('conpany_personal'),
                    'actual_online': head_record.get('actual_online'),
                    'brand_unbrand': head_record.get('brand_unbrand'),
                    'enabled_flag': 'Y'
                });
                bp_master_role_ds.add(record);
                var address_ds_id_ds = $(address_ds_id);
                var address_bp_record = $('${/parameter/@default_value_dsid}').getCurrentRecord();
                if (address_bp_record.get('bp_class') == 'NP'&&record.get('bp_type') != 'THIRD_PARTY'){
                    //POSTAL_ADDRESS  通讯地址
                    var record1 = new Leaf.Record({
                        'address_type': 'HOUSEHOLD_ADDRESS',
                        'address_type_n': '户籍地址',
                        'country_id': 32,
                        'country_id_n': '中华人民共和国'
                    });
                    var record2 = new Leaf.Record({
                        'address_type': 'POSTAL_ADDRESS',
                        'address_type_n': '通讯地址',
                        'country_id': 32,
                        'country_id_n': '中华人民共和国'
                    });
                    address_ds_id_ds.add(record1);
                    address_ds_id_ds.add(record2);

                    var address_record = address_ds_id_ds.getAt(0);
                    address_record.getField('address_type_n').setReadOnly(true);
                    address_record.getField('country_id_n').setReadOnly(true);

                    var address_record1 = address_ds_id_ds.getAt(1);
                    address_record1.getField('address_type_n').setReadOnly(true);
                    address_record1.getField('country_id_n').setReadOnly(true);

                }else if (address_bp_record.get('bp_class') == 'ORG'&&record.get('bp_type') != 'THIRD_PARTY'){
                    //法人
                    //POSTAL_ADDRESS  通讯地址
                    if(bp_record.get('bp_type')!='THIRD_PARTY') {
                        var record2 = new Leaf.Record({
                            'address_type': 'POSTAL_ADDRESS',
                            'address_type_n': '通讯地址',
                            'country_id': 32,
                            'country_id_n': '中华人民共和国'
                        });
                        address_ds_id_ds.add(record2);

                        var address_record = address_ds_id_ds.getAt(0);
                        address_record.getField('address_type_n').setReadOnly(true);
                        address_record.getField('country_id_n').setReadOnly(true);
                    }
                    //征信 企业默认添加 法定代表人 企业关联信息记录 add start
                    var company_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_company_info');
                    var company_ds_id_ds = $(company_ds_id);
                    if(bp_record.get('bp_type')!='VENDER') {
                        var init_company_record = new Leaf.Record({
                            'other_relationships': '1',
                            'other_relationships_n': '主要组成人员',
                            'identity_type': '11',
                            'identity_type_n': '法定代表人',
                            'ref_v01': '1',
                            'ref_v01_n': '自然人'
                        });
                        company_ds_id_ds.add(init_company_record);

                        var company_record = company_ds_id_ds.getAt(0);
                        company_record.getField('other_relationships_n').setReadOnly(true);
                        company_record.getField('identity_type_n').setReadOnly(true);
                        company_record.getField('ref_v01_n').setReadOnly(true);
                    }
                    //征信 企业默认添加 法定代表人 企业关联信息记录 add end
                }
                var current_record = bp_master_role_ds.getAt(0);
                current_record.getField('bp_type_n').setReadOnly(true);
                current_record.getField('enabled_flag').setReadOnly(true);
                if (head_record.get('bp_category') == 'MANUFACTURER') {
                    bp_record.set('company_nature_n', '');
                    bp_record.getField('company_nature_n').setReadOnly(true);
                    bp_record.set('conpany_personal_n', '');
                    bp_record.getField('conpany_personal_n').setReadOnly(true);
                    bp_record.set('actual_online_n', '');
                    bp_record.getField('actual_online_n').setReadOnly(true);
                    bp_record.set('brand_unbrand_n', '');
                    bp_record.getField('brand_unbrand_n').setReadOnly(true);
                    current_record.getField('bp_type_n').setReadOnly(true);
                    current_record.getField('enabled_flag').setReadOnly(true);
                } else if (head_record.get('bp_category') == 'VENDER') {
                    bp_record.getField('unit_id_n').setReadOnly(true);
                    bp_record.getField('unit_id_n').setRequired(false);
                    bp_record.getField('unit_id').setRequired(false);
                } else {
                    current_record.getField('bp_type_n').setReadOnly(true);
                    current_record.getField('enabled_flag').setReadOnly(true);
                }
            }
        });

        //删除角色按钮
        window['${/parameter/@layout_code}_G_ROLE_USER_BUTTON1_layout_dynamic_tab_click'] = function () {
            var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_role');
            var records = $(ds_id).getSelected();
            if (!records.length) {
                Leaf.showMessage('${l:PROMPT}', '请至少选择一条记录');
                return false;
            }
            //else{
            // Leaf.showMessage('${l:PROMPT}', '是否删除角色？');
            //}
            //alert(records.length);
            for (var i = 0; i < records.length; i++) {
                var primary_flag = records[i].get('primary_flag');
                if (primary_flag == 'Y') {
                    Leaf.showMessage('${l:PROMPT}', '主角色无法被删除！');
                    continue;
                } else {
                    $(ds_id).remove(records[i]);
                }
            }
        };

        //法人供应商经办人身份证号非必填  18083 2022/11/28
        window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_grid_add'] = function(ds, record, config_records, bp_seq) {
            var bp_ds_id = get_dsid_by_tabcode_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'F_BASIC', 'hls_bp_master');
            var sign_ds_id = get_dsid_by_tabcode_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'F_BASIC_SIGNER', 'hls_bp_master_signer');
            var bp_record=$(bp_ds_id).getCurrentRecord();
            if(bp_record.get('bp_class') == 'ORG' && bp_record.get("bp_type") == 'VENDER'){
                if(sign_ds_id == ds.id &&sign_ds_id){
                    var records = $(sign_ds_id).getAll();
                    for (i = 0; i < records.length; i++) {
                        records[i].getField('id_card').setRequired(false);
                    }
                }
            }
        }

        window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_form_add_and_load'] = function (ds, record, config_records, bp_seq) {
            //第三方创建页面隐藏角色新增按钮
            debugger;
            if( record.get('bp_type')== 'THIRD_PARTY'){
                if(document.getElementById('${/parameter/@layout_code}_G_ROLE_ADD_layout_dynamic_button_id')){
                    document.getElementById('${/parameter/@layout_code}_G_ROLE_ADD_layout_dynamic_button_id').style.display = "none";
                }
                if(document.getElementById('${/parameter/@layout_code}_G_ROLE_USER_BUTTON1_layout_dynamic_button_id')){
                    document.getElementById('${/parameter/@layout_code}_G_ROLE_USER_BUTTON1_layout_dynamic_button_id').style.display = "none";
                }
            }


            if ((ds.id).indexOf('hls_bp_master') != -1) {

                //征信add start
                if(record.get('bp_class') && record.get('bp_class') == 'ORG'){
                    if(record.get('bp_type') == 'TENANT'){
                        record.getField('etp_sts').setRequired(true);
                        //record.getField('credit_code').setRequired(true);
                        record.getField('etp_sts_n').setRequired(true);
                        record.getField('org_type').setRequired(true);
                        record.getField('org_type_n').setRequired(true);
                        record.getField('org_type_sub').setRequired(true);
                        record.getField('org_type_sub_n').setRequired(true);
                        record.getField('enterprise_scale').setRequired(true);
                        record.getField('enterprise_scale_n').setRequired(true);
                        record.getField('due_date').setRequired(true);
                        record.getField('org_unit_property').setRequired(true);
                        record.getField('org_unit_property_n').setRequired(true);
                        //record.getField('industry').setRequired(true);
                        //record.getField('industry_n').setRequired(true);
                        record.getField('industry_a').setRequired(true);
                        record.getField('industry_a_n').setRequired(true);
                        record.getField('industry_b').setRequired(true);
                        record.getField('industry_b_n').setRequired(true);
                        record.getField('industry_c').setRequired(true);
                        record.getField('industry_c_n').setRequired(true);
                        record.getField('industry_d').setRequired(true);
                        record.getField('industry_d_n').setRequired(true);
                        record.getField('nationalities').setRequired(true);
                        record.getField('nationalities_n').setRequired(true);
                    }
                }
                //征信add end

                // record.getField('cell_phone').setRequired(true);
                //record.getField('cell_phone').setRequired(true);
                //法人供应商非必填 18083 2022/11/25
                if(record.get('bp_class') == 'ORG' && record.get("bp_type") == 'VENDER'){
                    record.getField('id_card_no_leg').setRequired(false);
                }
                //身份证验证
                if (ds.fields.id_card_no) {

                    //ds.fields.id_card_no.pro.validator = id_card_no_validate;
                }

                if (ds.fields.parent_id) {
                    record.getField('parent_id_n').setReadOnly(true);
                }

                if (record.get('bp_class') && record.get('bp_class') == 'ORG') {
                    if (record.get('invoice_method') == 'BILLING') {
                        record.getField('taxpayer_type').setRequired(true);
                        record.getField('taxpayer_type_n').setRequired(true);
                        record.getField('tax_registry_num').setRequired(true);
                        record.getField('invoice_title').setRequired(true);
                        record.getField('invoice_bp_address').setRequired(true);
                        record.getField('invoice_bp_phone_num').setRequired(true);
                        record.getField('invoice_bp_bank').setRequired(true);
                        record.getField('invoice_bp_bank_account').setRequired(true);
                    }
                    if (record.get('invoice_method') == 'NO_BILLING') {
                        record.getField('taxpayer_type').setRequired(true);
                        record.getField('taxpayer_type_n').setRequired(true);
                        record.getField('tax_registry_num').setRequired(false);
                        record.getField('invoice_title').setRequired(false);
                        record.getField('invoice_bp_address').setRequired(false);
                        record.getField('invoice_bp_phone_num').setRequired(false);
                        record.getField('invoice_bp_bank').setRequired(false);
                        record.getField('invoice_bp_bank_account').setRequired(false);
                    }


                }
                if (record.get('bp_class') && record.get('bp_class') == 'NP') {
                    record.set('taxpayer_type', 'SMALL_SCALE_TAXPAYER');
                    record.set('taxpayer_type_n', '小规模纳税人');
                    // 自然人才有配偶
                    if (record.get('marital_status') && (record.get('marital_status') == '30' || record.get('marital_status') == '40')) {
                        document.getElementById('${/parameter/@layout_code}_F_SPOUSE_1_component_id').style.display = 'block';
                        record.getField('bp_name_sp').setRequired(true);
                        record.getField('card_type_sp').setRequired(true);
                        record.getField('card_type_sp_n').setRequired(true);
                        record.getField('id_no_sp').setRequired(true);
                    } else {
                        document.getElementById('${/parameter/@layout_code}_F_SPOUSE_1_component_id').style.display = 'none';
                    }

                }
                record.set('invoice_title', record.get('bp_name'));
                if(record.get('taxpayer_type') == 'GENERAL_TAXPAYER'&&record.get('bp_type') != 'THIRD_PARTY'){
                    //设置开票类型为纸质只读
                    record.set('invoice_type','PAPER');
                    record.set('invoice_type_n','数电纸质发票');
                    //record.getField('invoice_type').setReadOnly(true);
                    //record.getField('invoice_type_n').setReadOnly(true);
                    record.getField('invoice_type').setRequired(false);
                    record.getField('invoice_type_n').setRequired(false);
                    record.getField('reception_maile').setRequired(false);
                }else if(record.get('taxpayer_type') == 'SMALL_SCALE_TAXPAYER'&&record.get('bp_type') != 'THIRD_PARTY'){
                    record.set('invoice_type','ECT');
                    record.set('invoice_type_n','电子发票');
                    record.getField('invoice_type').setRequired(true);
                    record.getField('invoice_type_n').setRequired(true);
                    record.getField('invoice_type').setReadOnly(false);
                    record.getField('invoice_type_n').setReadOnly(false);
                }

            }

        };
        var card_identity_flag;
        var sp_identity_flag;

        function id_card_no_validate(record, name, value) {
            var id_type = record.get('id_type');
            var card_type_sp = record.get('card_type_sp');
            if (name == 'id_card_no') {
                var bp_name = record.get('bp_name');
            } else if (name == 'id_no_sp') {
                bp_name = record.get('bp_name_sp');
            }
            if (id_type == 'ID_CARD') {
                var id_card_no = record.get('id_card_no');
                if (!checkCard(id_card_no)) {
                    return '请输入正确格式的身份证';
                } else {
                    card_identity_flag = 'N';
                    sp_identity_flag = 'N';

                }
            } else {
                card_identity_flag = 'N';
                sp_identity_flag = 'N';
            }
            if (card_type_sp == 'ID_CARD') {
                var id_no_sp = record.get('id_no_sp');
                if (!checkCard(id_no_sp)) {
                    return '请输入正确格式的身份证';
                } else {
                    card_identity_flag = 'N';
                    sp_identity_flag = 'N'

                }
            } else {
                card_identity_flag = 'N';
                sp_identity_flag = 'N';
            }
            if (value.length == 18) {
                record.set('date_of_birth', new Date(value.substr(6, 4) + '/' + value.substr(10, 2) + '/' + value.substr(12, 2)));
                record.set('age', new Date().getFullYear() - value.substr(6, 4));
                if (value.substr(16, 1) % 2 == 1) {
                    record.set('gender', 'MALE');
                    record.set('gender_n', '男');
                } else if (value.substr(16, 1) % 2 == 0) {
                    record.set('gender', 'FEMALE');
                    record.set('gender_n', '女');
                }

            }
            return true;
        }

        function CheckSocialCreditCode(Code) {

            var patrn = /^[0-9A-Z]+$/;
            //18位校验及大写校验
            if ((Code.length != 18) || (patrn.test(Code) == false)) {
                return false;
            } else {
                var Ancode;//统一社会信用代码的每一个值
                var Ancodevalue;//统一社会信用代码每一个值的权重
                var total = 0;
                var weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];//加权因子
                var str = '0123456789ABCDEFGHJKLMNPQRTUWXY';
                //不用I、O、S、V、Z
                for (var i = 0; i < Code.length - 1; i++) {
                    Ancode = Code.substring(i, i + 1);
                    Ancodevalue = str.indexOf(Ancode);
                    total = total + Ancodevalue * weightedfactors[i];
                    //权重与加权因子相乘之和
                }
                var logiccheckcode = 31 - total % 31;

                if (logiccheckcode == 31) {
                    logiccheckcode = 0;
                }
                var Str = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";
                var Array_Str = Str.split(',');
                logiccheckcode = Array_Str[logiccheckcode];

                var checkcode = Code.substring(17, 18);
                if (logiccheckcode != checkcode) {
                    return false;
                } else {
                    return true;
                }
            }
        }

        function fin_institution_code_validate(record, name, value) {
            // if (!value) {
            // return '金融机构代码不能为空';
            // } else {
            // if (value.length != 11) {
            // return '金融机构代码长度必须为11位';
            // }
            // }
            // return true;
        }

        // function trade_type_code_validate(record, name, value) {
        // var trade_type_code = record.get('trade_type_code');
        // if(!trade_type_code){
        // if(trade_type_code != trade_type_code.toLowerCase()){
        // return '行业分类代码必须为小写字母';
        // }}
        // return true;
        // }

        //        //新增和加载时调用form
        //        window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_form_add_and_load'] = function(ds, record, config_records, bp_seq) {
        //            if ((ds.id).indexOf('hls_bp_master_credit') != -1 && (ds.id).indexOf('F_ORG_CREDIT') != -1) {
        //                // if (ds.fields.fin_institution_code) {
        //                // ds.fields.fin_institution_code.pro.validator = fin_institution_code_validate;
        //                // }
        //                // if (ds.fields.trade_type_code) {
        //                // ds.fields.trade_type_code.pro.validator = trade_type_code_validate;
        //                // }
        //            }
        //        };

        /*保存前调用，生成项目编号*/
        // window['${/parameter/@layout_code}_on_layout_dynamic_before_submit'] = function (ds, record) {
        //
        //     window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
        //     var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
        //     var head_record = $(ds_id).getCurrentRecord();
        //     var check_flag = false;
        //     if (head_record.get('bp_code')) {
        //         return true;
        //     }
        //     Leaf.request({
        //         url: $('get_special_fields_link_id').getUrl(),
        //         para: {
        //             bp_id: head_record.get('bp_id')
        //         },
        //         success: function (res) {
        //             var document_number = res.result.document_number;
        //             head_record.set('bp_code', document_number);
        //             if (head_record.get('marital_status') && (head_record.get('marital_status') !== '30' && head_record.get('marital_status') !== '40')) {
        //                 head_record.set('bp_name_sp', null);
        //                 head_record.set('card_type_sp', null);
        //                 head_record.set('card_type_sp_n', null);
        //                 head_record.set('id_no_sp', null);
        //                 head_record.set('date_of_birth_sp', null);
        //                 head_record.set('cell_phone_sp', null);
        //                 head_record.set('work_unit_phone_sp', null);
        //                 head_record.set('work_unit_name_sp', null);
        //                 head_record.set('work_unit_address_sp', null);
        //             }
        //             check_flag = true;
        //             window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
        //
        //         },
        //         error: function () {
        //             window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
        //         },
        //         failure: function () {
        //             window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
        //         },
        //         sync: true,
        //         scope: this
        //     });
        //     return check_flag;
        //
        // };
        window['${/parameter/@layout_code}_on_layout_dynamic_before_submit'] = function (ds, record) {
            window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
            var head_record = $(ds_id).getCurrentRecord();
            var bank_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_bank_account');
            var bank_record = $(bank_ds_id).getAll();
            var file_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'prj_cdd_item_doc_ref');
            var file_record = $(file_ds_id).getAll();
            var bank_flag=true;
            //校验银行账户必须与商业伙伴名称一致  18083 2023/9/5
            var bp_name=head_record.get('bp_name');
            var bank_flag1=true;
            if(bank_record.length>0){
                var flag = true;
                for(var i=0;i<bank_record.length;i++){
                    var full_name=bank_record[i].get('bank_full_name');
                    var branch_name=bank_record[i].get('bank_branch_name');
                    if (!Leaf.isEmpty(bank_record[i].get('bank_full_name'))&&
                        !Leaf.isEmpty(bank_record[i].get('bank_branch_name'))){
                        if(branch_name.indexOf(full_name)==-1){
                            flag = false;
                        }
                    }
                    if(!Leaf.isEmpty(bank_record[i].get('bank_account_name'))&&bank_record[i].get('bank_account_name')!=bp_name){
                        var bank_flag1 = false;
                    }
                    if(flag == false){
                        Leaf.showErrorMessage('${l:PROMPT}', '请填写支行全称（例如：上海浦东发展银行外高桥保税区支行）');
                        return false;
                    }
                    if(bank_flag1 == false){
                        Leaf.showErrorMessage('${l:PROMPT}', '银行账户户名必须与商业伙伴名称一致');
                        return false;
                    }
                }
            }
            //新增校验，承租人(法人)和担保人(法人)商业伙伴的创建，银行账号信息都是要必填(为电子签约做准备)
            if(head_record.get('bp_class')=='ORG'){
                if(head_record.get('bp_type')=='RENTER'){
                    var bank_flag=true;
                    if(bank_record.length==0){
                        bank_flag=false;
                        if(bank_flag==false){
                            Leaf.showErrorMessage('${l:PROMPT}','请在银行账户信息中维护[银行账号信息]!');
                            return false;
                        }
                    }
                }
            }
            //若选择开票类型为“纸质发票”，则系统校验无法选择“是否全电发票”为“是”  18083 2022/11/30
            if (head_record.get('invoice_type')=='PAPER'){
                if(head_record.get('full_elec_invoice_flag')=='Y'){
                    Leaf.showErrorMessage('${l:PROMPT}', '开票类型为纸质发票，不能选择【是否全电发票】为是');
                    return false;
                }
            }
            var role_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_role');
            var role_records = $(role_ds_id).getAll();
            var role_flag=true;
            if(role_records.length>1){
                for (var i = 0;i < role_records.length;i++) {
                    if(role_records[i].get('bp_type')=='THIRD_PARTY'){
                        role_flag=false;
                    }
                }
            }
            if(role_flag==false){
                Leaf.showErrorMessage('${l:PROMPT}', '第三方不能含有其他角色类型');
                return false;
            }

            if(head_record.get('bp_type')=='THIRD_PARTY'){
                var flag = true;
                if (bank_record.length <=0){
                    Leaf.showErrorMessage('${l:PROMPT}', '第三方必填[银行帐户信息],请在银行帐户信息新增!');
                    return false;
                } else{
                    for(var i=0;i<bank_record.length;i++){
                        if (Leaf.isEmpty(bank_record[i].get('bank_account_name'))||
                            Leaf.isEmpty(bank_record[i].get('bank_account_num'))||
                            Leaf.isEmpty(bank_record[i].get('bank_full_name'))){
                            flag = false;
                            break;
                        }
                        else{
                            flag = true;
                        }
                    }
                    if(flag == false){
                        Leaf.showErrorMessage('${l:PROMPT}', '请将银行账户信息填写完整');
                        return false;
                    }


                }
            }

            //验证是否有户籍地址，或者通讯地址
            var address_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_address');
            var records_addr = $(address_ds_id).getAll();
            //新增校验，承租人(自然人)商业伙伴创建必须维护居住地址（为电子签约做准备）
            if(head_record.get('bp_class')=='NP' && head_record.get('bp_type')=='TENANT'){
                var check_flag=true;
                for(var i=0;i<records_addr.length;i++){
                    if(records_addr[i].get('address_type')=='HOUSE_ADDRESS'){
                        check_flag=true;
                        break;
                    }else {
                        check_flag=false;
                    }
                }
                if(check_flag==false){
                    Leaf.showErrorMessage('${l:PROMPT}','必填项[居住住址]为空,请在地址信息新增！');
                    return false;
                }
            }
            if (head_record.get('bp_class') =='NP'&&head_record.get('bp_type')!='THIRD_PARTY'){
                //判断户籍地址
                var flag = true;
                if (records_addr.length <=0){
                    Leaf.showErrorMessage('${l:PROMPT}', '自然人必填[通讯地址]和[户籍地址],请在地址信息新增!');
                    return false;
                }else{
                    for(var i=0;i<records_addr.length;i++){
                        if (records_addr[i].get('address_type') == 'HOUSEHOLD_ADDRESS'){
                            flag = true;
                            break;
                        }else{
                            flag = false;
                        }
                    }
                    //判断通讯地址
                    var flag1 = true;
                    for(var i=0;i<records_addr.length;i++){
                        if (records_addr[i].get('address_type') == 'POSTAL_ADDRESS'){
                            flag1 = true;
                            break;
                        }else{
                            flag1 = false;
                        }
                    }
                    if (flag == false || flag1 == false){
                        Leaf.showErrorMessage('${l:PROMPT}', '自然人必填[通讯地址]和[户籍地址],请在地址信息新增!');
                        return  false;
                    }
                }
            }else if (head_record.get('bp_class') == 'ORG'&&head_record.get('bp_type')!='THIRD_PARTY'){
                //判断通讯地址
                var flag1 = true;
                if (records_addr.length <= 0){
                    Leaf.showErrorMessage('${l:PROMPT}', '法人必填[通讯地址],请在地址信息新增!');
                    return  false;
                }else {
                    for(var i=0;i<records_addr.length;i++){
                        if (records_addr[i].get('address_type') == 'POSTAL_ADDRESS'){
                            flag1 = true;
                            break;
                        }else{
                            flag1 = false;
                        }
                    }
                    if (flag1 == false){
                        Leaf.showErrorMessage('${l:PROMPT}', '法人必填[通讯地址],请在地址信息新增!');
                        return  false;
                    }
                }
                //征信校验 企业关联方至少一条法定代表人数据 start
                var company_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_company_info');
                var records_company = $(company_ds_id).getAll();
                var flag_company = 0;

                for(var i=0;i<records_company.length;i++){
                    if (records_company[i].get('identity_type') == '11'){
                        flag_company ++;
                    }
                }
                if (flag_company == 0 &&head_record.get('bp_type')!='VENDER'){
                    Leaf.showErrorMessage('${l:PROMPT}', '法人必填[法定代表人],请在企业关联信息新增!');
                    return  false;
                }
                if (flag_company > 1){
                    Leaf.showErrorMessage('${l:PROMPT}', '法人只能填写一条[法定代表人],请在企业关联信息修改!');
                    return  false;
                }
                //征信校验 企业关联方至少一条法定代表人数据 end
            }

            //=＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
            var check_flag = true;
            if (head_record.get('marital_status') && (head_record.get('marital_status') !== '30' && head_record.get('marital_status') !== '40')) {
                head_record.set('bp_name_sp', null);
                head_record.set('card_type_sp', null);
                head_record.set('card_type_sp_n', null);
                head_record.set('id_no_sp', null);
                head_record.set('date_of_birth_sp', null);
                head_record.set('cell_phone_sp', null);
                head_record.set('work_unit_phone_sp', null);
                head_record.set('work_unit_name_sp', null);
                head_record.set('work_unit_address_sp', null);
            }
            //保存前生成商业伙伴编码
            if(Ext.isEmpty(head_record.get('bp_code'))){
                Leaf.request({
                    url: $('get_special_fields_link_id').getUrl(),
                    para: {
                        bp_type: head_record.get('bp_type')
                    },
                    success: function (res) {
                        var document_number = res.result.document_number;
                        head_record.set('bp_code', document_number);
                        check_flag = true;
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();

                    },
                    error: function () {
                        check_flag = false;
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    failure: function () {
                        check_flag = false;
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    sync: true,
                    scope: this
                });
            }
            return check_flag;
        };


        //保存submitsuccess调用
        window['${/parameter/@layout_code}_on_layout_dynamic_submitsuccess'] = function (ds, record, res, bp_seq) {
            var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
            var head_record = $(ds_id).getCurrentRecord();
            // if (!head_record.get('bp_code')) {
            //     window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            //     Leaf.request({
            //         url: $('get_special_fields_link_id').getUrl(),
            //         para: {
            //             bp_id: head_record.get('bp_id')
            //         },
            //         success: function (res) {
            //             var document_number = res.result.document_number;
            //             head_record.set('bp_code', document_number);
            //             window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
            //
            //         },
            //         error: function () {
            //             window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
            //         },
            //         failure: function () {
            //             window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
            //         },
            //         sync: true,
            //         scope: this
            //     });
            // }
            // $(ds_id).setQueryParameter('bp_id', head_record.get('bp_id'));
            // $(ds_id).query();
            //add by zc
            var signer_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_signer');
            if(head_record.get('bp_id')){
                Leaf.request({
                    url: $('${/parameter/@layout_code}_signer_create_link_id').getUrl(),
                    para: {
                        bp_id: head_record.get('bp_id')
                    },
                    success: function (res) {
                        $(signer_ds_id).query();
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    failure: function (res) {
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    error: function () {
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    scope: this
                });
            }
            window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
        };

        window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_update'] = function (ds, record, name, value, old_value, bp_seq) {
            var f_bp_create_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
            var gird_ds_id = 'BP_NP_CREATE_BP_ASSETS01_hls_bp_assets_ds';
            var gird_ds_id2 = 'BP_NP_CREATE_BP_ASSETS04_hls_bp_assets_ds';
            var gird_ds_id3 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_bank_flow');
            //邮编校验 add by 20230619
            if(name=='zipcode'|| name=='work_unit_zip') {
                if (!(/^[0-9]{6}$/.test(value)) && value) {
                    Leaf.showMessage('提示', '请正确填写邮编', function () {
                        record.set(name, '');
                    });
                }
            }
            //单位性质和职业校验 20230420
            if (name == 'unit_properties' || name == 'occuption') {
                debugger
                var unit_properties = record.get('unit_properties');
                var occuption = record.get('occuption');
                if (unit_properties == '30' || unit_properties == '40' || unit_properties == '50') {
                    if (occuption == '0' || occuption == 'X') {

                        //当单位性质为“30-外资企业”、“40-个体、私营企业”、“50-其他“时，职业不能为“0-国家机关、党群组织、企业、事业单位负责人”、“X-军人”
                        Leaf.showMessage('提示', '当单位性质为“外资企业”、“个体、私营企业”、“其他“时，职业不能为“国家机关、党群组织、企业、事业单位负责人”、“军人”。', null, 500, 100);
                        if(name == 'unit_properties' ){
                            record.set('occuption','');
                            record.set('occuption_n','');
                        }
                        if(name == 'occuption' ){
                            record.set('unit_properties','');
                            record.set('unit_properties_n','');
                        }
                    }
                }

            }

            //征信add start 中征码校验
            if (record.get('bp_class') == 'ORG') {



                if(record.get('bp_type') == 'TENANT'){
                    var credit_code = record.get('credit_code');
                    if (!Leaf.isEmpty(credit_code)) {
                        if (credit_code.length == '16'){
                            if(!(/^[A-Z][A-z0-9]*$/).test(credit_code)){
                                Leaf.showMessage('提示', '中征码首字母需要大写');
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                                return false;

                            }else {
                                return true;
                            }
                        }else {
                            Leaf.showMessage('提示', '请输入16位中征码');
                            window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            return false;
                        }
                    }
                }
            }

            if (name == 'org_type') {
                record.set('org_type_sub', '');
                record.set('org_type_sub_n', '');
                //企业规模，当组织机构类型为机关、事业单位时，为空且只读，其他情况必填
                if(value =='3'||value =='5'){
                    record.set('enterprise_scale', '');
                    record.set('enterprise_scale_n', '');
                    record.getField('enterprise_scale_n').setReadOnly(true);
                    record.getField('enterprise_scale').setRequired(false);
                    record.getField('enterprise_scale_n').setRequired(false);
                }else{
                    record.getField('enterprise_scale_n').setReadOnly(false);
                    record.getField('enterprise_scale').setRequired(true);
                    record.getField('enterprise_scale_n').setRequired(true);
                }
            }
            //法人承租人添加 法人姓名和法人身份证号 时，更新企业关联信息的法人数据
            var company_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_company_info');
            if((name == 'legal_person'|| name == 'id_card_no_leg')){
                var records_company = $(company_ds_id).getAll();
                for(var i=0;i<records_company.length;i++){
                    if (records_company[i].get('identity_type') == '11'){//法定代表人
                        if(name == 'legal_person'){
                            records_company[i].set('person_name',value);
                        } else if (name == 'id_card_no_leg'){
                            records_company[i].set('associate_id_no',value);
                            records_company[i].set('ref_v01','1');
                            records_company[i].set('ref_v01_n','自然人');
                            records_company[i].set('id_type','110');
                            records_company[i].set('id_type_n','身份证');
                        }

                    }
                }
            }
            //出资人 出资比例必填
            if(name == 'other_relationships'){
                if(value == '2'){
                    record.getField('capital_key').setRequired(true);
                }else{
                    record.getField('capital_key').setRequired(false);
                }

            }

            if(name == 'work_status'){
                //当“就业状况”为“11 国家公务员”、“ 13 专业技术人员”、“ 17 职员”、“ 21 企业管理人员”、“ 24 工人”或“ 91 在职”时，
                // “单位名称”、“单位性质”、“单位所属行业”、“职业类型 、“职务”、“职称”、“入职年份”、单位地址、“单位所在地邮编”、“单位所在地行政区划”、“单位电话”必填。
                // 其余情况，这些字段为空只读
                if(value == '11'||value == '13'||value == '17'||value == '21'||value == '24'||value == '91'){
                    record.getField('work_unit').setReadOnly(false);
                    record.getField('work_unit').setRequired(true);
                    record.getField('unit_properties_n').setReadOnly(false);
                    record.getField('unit_properties_n').setRequired(true);
                    record.getField('occuption_n').setReadOnly(false);
                    record.getField('occuption_n').setRequired(true);
                    record.getField('position_n').setReadOnly(false);
                    record.getField('position_n').setRequired(true);
                    record.getField('positional_titles').setReadOnly(false);
                    record.getField('positional_titles').setRequired(true);
                    record.getField('entry_date').setReadOnly(false);
                    record.getField('entry_date').setRequired(true);
                    record.getField('work_unit_address').setReadOnly(false);
                    record.getField('work_unit_address').setRequired(true);
                    record.getField('work_unit_zip').setReadOnly(false);
                    record.getField('work_unit_zip').setRequired(true);
                    record.getField('work_province_n').setReadOnly(false);
                    record.getField('work_province_n').setRequired(true);
                    record.getField('work_city_n').setReadOnly(false);
                    record.getField('work_city_n').setRequired(true);
                    record.getField('work_district_n').setReadOnly(false);
                    record.getField('work_district_n').setRequired(true);
                    record.getField('work_unit_phone').setReadOnly(false);
                    record.getField('work_unit_phone').setRequired(true);
                    record.getField('industry_a_n').setReadOnly(false);
                    record.getField('industry_a_n').setRequired(true);
                }else{
                    record.getField('work_unit').setReadOnly(true);
                    record.getField('work_unit').setRequired(false);
                    record.getField('unit_properties_n').setReadOnly(true);
                    record.getField('unit_properties_n').setRequired(false);
                    record.getField('occuption_n').setReadOnly(true);
                    record.getField('occuption_n').setRequired(false);
                    record.getField('position_n').setReadOnly(true);
                    record.getField('position_n').setRequired(false);
                    record.getField('positional_titles').setReadOnly(true);
                    record.getField('positional_titles').setRequired(false);
                    record.getField('entry_date').setReadOnly(true);
                    record.getField('entry_date').setRequired(false);
                    record.getField('work_unit_address').setReadOnly(true);
                    record.getField('work_unit_address').setRequired(false);
                    record.getField('work_unit_zip').setReadOnly(true);
                    record.getField('work_unit_zip').setRequired(false);
                    record.getField('work_province_n').setReadOnly(true);
                    record.getField('work_province_n').setRequired(false);
                    record.getField('work_city_n').setReadOnly(true);
                    record.getField('work_city_n').setRequired(false);
                    record.getField('work_district_n').setReadOnly(true);
                    record.getField('work_district_n').setRequired(false);
                    record.getField('work_unit_phone').setReadOnly(true);
                    record.getField('work_unit_phone').setRequired(false);
                    record.getField('industry_a_n').setReadOnly(true);
                    record.getField('industry_a_n').setRequired(false);
                }
            }
            //征信add end
            if (gird_ds_id == ds.id || gird_ds_id2 == ds.id) {
                if (name == 'relationship_with_bp') {
                    if (value == 'A7501') {
                        record.set('owership', $(f_bp_create_ds_id).getAt(0).get('bp_name'));
                    } else if (value == 'A7502') {
                        record.set('owership', $(f_bp_create_ds_id).getAt(0).get('bp_name_sp'));
                    } else {
                        record.set('owership', '');
                    }
                }
            }
            if (gird_ds_id3 == ds.id) {
                if (name == 'relationship_with_bp') {
                    if (value == 'A7501') {
                        record.set('owner_name', $(f_bp_create_ds_id).getAt(0).get('bp_name'));
                    } else if (value == 'A7502') {
                        record.set('owner_name', $(f_bp_create_ds_id).getAt(0).get('bp_name_sp'));
                    } else {
                        record.set('owner_name', '');
                    }
                }
            }

            if ((ds.id).indexOf('hls_bp_master') != -1 && (ds.id).indexOf('F_BASIC') != -1) {
                if (name == 'agent_type') {
                    if (value == 'AGENT_NO_REBATE' || value == 'AGENT_EE') {
                        record.getField('parent_id_n').setReadOnly(false);
                    } else {
                        record.getField('parent_id_n').setReadOnly(true);
                    }
                }
                if (name == 'id_card_no') {
                    // record = $(hls_bp_master_ds_id).getCurrentRecord();
                    // var id_num = record.get('id_card_no');
                    // var bp_age = getAge(id_num);
                    // record.set('age', bp_age);
                    if (!value) {
                        record.set('ccx_resmsg', '');
                    }
                    if (record.get('id_type') == 'ID_CARD') {
                        if (!checkCard(value)) {
                            Leaf.showMessage('${l:HLS.PROMPT}', '个人身份证号错误!');
                            setTimeout(function () {
                                record.set('id_card_no', '');
                            }, 20);
                            return false;
                        } else {
                            if (value.length == 18) {
                                record.set('date_of_birth', new Date(value.substr(6, 4) + '/' + value.substr(10, 2) + '/' + value.substr(12, 2)));
                                record.set('age', new Date().getFullYear() - value.substr(6, 4));
                                if (value.substr(16, 1) % 2 == 1) {
                                    record.set('gender', 'MALE');
                                    record.set('gender_n', '男');
                                } else if (value.substr(16, 1) % 2 == 0) {
                                    record.set('gender', 'FEMALE');
                                    record.set('gender_n', '女');
                                }

                            }
                        }
                    }
                    // ds.fields.id_card_no.pro.validator = id_card_no_validate;
                    //自动带出籍贯
                    // record.set('resident_addres', get_native_place(value))
                }
                if (name == 'id_no_sp' && value) {

                    if (!value) {
                        record.set('ccx_resmsg1', '');
                    }

                    if (record.get('card_type_sp') == 'ID_CARD') {
                        if (!checkCard(value)) {
                            Leaf.showMessage('${l:HLS.PROMPT}', '配偶身份证号错误!');
                            setTimeout(function () {
                                record.set('id_no_sp', '');
                            }, 20);
                            return false;
                        } else {
                            if (value.length == 18) {
                                record.set('date_of_birth_sp', new Date(value.substr(6, 4) + '/' + value.substr(10, 2) + '/' + value.substr(12, 2)));
                            }
                        }
                    }
                    // ds.fields.id_no_sp.pro.validator = id_card_no_validate;
                    // record.set('resident_addres_sp', get_native_place(value))
                }
                if (name == 'bp_name') {
                    record.set('invoice_title', value);
                }
            }

            var hls_bp_master_ds_id = f_bp_create_ds_id;
            if (ds.id == hls_bp_master_ds_id && hls_bp_master_ds_id) {
                if (name == 'due_box') {
                    if (value == 'Y') {
                        record.set('due_date', '2099-12-31');
                    }else if(value == 'N'){
                        record.set('due_date', '');
                    }
                }
                if (name == 'id_card_no_leg') {
                    if (!value) {
                        record.set('ccx_resmsg1', '');
                    }
                    var id_card_no_leg = record.get('id_card_no_leg');
                    if (!checkCard(id_card_no_leg)) {
                        Leaf.showMessage('${l:HLS.PROMPT}', '法人代表身份证号格式错误!');
                        setTimeout(function () {
                            record.set('id_card_no_leg', '');
                        }, 20);
                        return false;
                    }
                }
                if (name == 'social_code') {
                    if (value) {
                        if (!CheckSocialCreditCode(value)) {
                            Leaf.showMessage('提示', '统一社会信用代码有误，请重新输入！');
                            setTimeout(function () {
                                record.set('social_code', '');
                            }, 20);
                            // window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            return false;
                        }
                    }
                    record.set('tax_registry_num', value);
                }
                if (name == 'cell_phone' && value) {
                    if (!checkMobile(value)) {
                        Leaf.showMessage('提示', '基本信息中，请输入正确格式的手机号码！');
                        setTimeout(function () {
                            record.set('cell_phone', '');
                        }, 20);
                        return false;
                    }
                }
                if (name == 'invoice_title') {
                    if (value != record.get('bp_name')) {
                        setTimeout(function () {
                            record.set('invoice_title', record.get('bp_name'));
                        }, 20);
                    }
                }
                if (name == 'tax_registry_num') {
                    if (value != record.get('social_code')) {
                        setTimeout(function () {
                            record.set('tax_registry_num', record.get('social_code'));
                        }, 20);
                    }
                }
                /*if (name == 'invoice_bp_phone_num' && value) {
                    if (!checkMobile(value)) {
                        Leaf.showMessage('提示', '基本信息中，请输入正确格式的手机号码！');
                        setTimeout(function () {
                            record.set('invoice_bp_phone_num', '');
                        }, 20);
                        return false;
                    }
                }*/
            }

            if (ds.id == f_bp_create_ds_id) {
                var hd_ds = get_dsid_by_tabcode_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'F_BASIC', 'hls_bp_master');
                record = $(hd_ds).getCurrentRecord();
                if (name == 'marital_status') {
                    if (value == '30' || value == '40') {
                        document.getElementById('${/parameter/@layout_code}_F_SPOUSE_1_component_id').style.display = 'block';
                        record.getField('bp_name_sp').setRequired(true);
                        record.getField('card_type_sp').setRequired(true);
                        record.getField('card_type_sp_n').setRequired(true);
                        record.getField('id_no_sp').setRequired(true);
                        if (!record.get('card_type_sp')) {
                            record.set('card_type_sp', 'ID_CARD');
                            record.set('card_type_sp_n', '身份证');
                        }
                    } else {
                        document.getElementById('${/parameter/@layout_code}_F_SPOUSE_1_component_id').style.display = 'none';
                        record.getField('bp_name_sp').setRequired(false);
                        record.getField('card_type_sp').setRequired(false);
                        record.getField('card_type_sp_n').setRequired(false);
                        record.getField('id_no_sp').setRequired(false);
                        // record.set('bp_name_sp', null);
                        // record.set('card_type_sp', null);
                        // record.set('card_type_sp_n', null);
                        // record.set('id_no_sp', null);
                        // record.set('date_of_birth_sp', null);
                        // record.set('cell_phone_sp', null);
                        // record.set('work_unit_phone_sp', null);
                        // record.set('work_unit_name_sp', null);
                        // record.set('work_unit_address_sp', null);
                    }
                }

                if (name == 'invoice_method' && value) {
                    if (record.get('bp_class') == 'ORG') {
                        //开票
                        if (value == 'BILLING') {
                            //一般纳税人
                            if( record.get('taxpayer_type') == 'GENERAL_TAXPAYER'){
                                record.getField('taxpayer_type').setRequired(true);
                                record.getField('taxpayer_type_n').setRequired(true);
                                record.getField('tax_registry_num').setRequired(true);
                                record.getField('invoice_title').setRequired(true);
                                record.getField('invoice_bp_address').setRequired(true);
                                record.getField('invoice_bp_phone_num').setRequired(true);
                                record.getField('invoice_bp_bank').setRequired(true);
                                record.getField('invoice_bp_bank_account').setRequired(true);
                            }else if(record.get('taxpayer_type') == 'SMALL_SCALE_TAXPAYER'){
                                //小规模纳税人
                                record.getField('taxpayer_type').setRequired(true);
                                record.getField('taxpayer_type_n').setRequired(true);
                                record.getField('tax_registry_num').setRequired(true);
                                record.getField('invoice_title').setRequired(true);

                                record.getField('invoice_bp_address').setRequired(false);
                                record.getField('invoice_bp_phone_num').setRequired(false);
                                record.getField('invoice_bp_bank').setRequired(false);
                                record.getField('invoice_bp_bank_account').setRequired(false);
                            }

                        }else if (value == 'NO_BILLING'){//暂时不开票
                            //一般纳税人
                            record.getField('taxpayer_type').setRequired(true);
                            record.getField('taxpayer_type_n').setRequired(true);
                            record.getField('tax_registry_num').setRequired(true);
                            record.getField('invoice_title').setRequired(true);

                            record.getField('invoice_bp_address').setRequired(false);
                            record.getField('invoice_bp_phone_num').setRequired(false);
                            record.getField('invoice_bp_bank').setRequired(false);
                            record.getField('invoice_bp_bank_account').setRequired(false);
                        }
                    }
                }
                if (name == 'taxpayer_type' && value) {
                    if (record.get('bp_class') == 'ORG'&&record.get('bp_type') != 'THIRD_PARTY') {
                        if (value == 'SMALL_SCALE_TAXPAYER') {

                            record.getField('taxpayer_type').setRequired(true);
                            record.getField('taxpayer_type_n').setRequired(true);
                            record.getField('tax_registry_num').setRequired(true);
                            record.getField('invoice_title').setRequired(true);

                            record.getField('invoice_bp_address').setRequired(false);
                            record.getField('invoice_bp_phone_num').setRequired(false);
                            record.getField('invoice_bp_bank').setRequired(false);
                            record.getField('invoice_bp_bank_account').setRequired(false);

                            record.set('invoice_type','ECT');
                            record.set('invoice_type_n','电子发票');
                            record.getField('invoice_type').setRequired(true);
                            record.getField('invoice_type_n').setRequired(true);
                            record.getField('invoice_type').setReadOnly(false);
                            record.getField('invoice_type_n').setReadOnly(false);

                        }else if (value == 'GENERAL_TAXPAYER') {
                            //设置开票类型为纸质只读
                            record.set('invoice_type','PAPER');
                            record.set('invoice_type_n','数电纸质发票');
                            //取消开票类型为纸质只读  18083  2022/11/30
                            //record.getField('invoice_type').setReadOnly(true);
                            //record.getField('invoice_type_n').setReadOnly(true);
                            record.getField('invoice_type').setRequired(false);
                            record.getField('invoice_type_n').setRequired(false);
                            record.getField('reception_maile').setRequired(false);
                            if (record.get('invoice_method') == 'BILLING'){
                                record.getField('taxpayer_type').setRequired(true);
                                record.getField('taxpayer_type_n').setRequired(true);
                                record.getField('tax_registry_num').setRequired(true);
                                record.getField('invoice_title').setRequired(true);

                                record.getField('invoice_bp_address').setRequired(true);
                                record.getField('invoice_bp_phone_num').setRequired(true);
                                record.getField('invoice_bp_bank').setRequired(true);
                                record.getField('invoice_bp_bank_account').setRequired(true);

                            }else if ( record.get('invoice_method') == 'NO_BILLING'){
                                record.getField('taxpayer_type').setRequired(true);
                                record.getField('taxpayer_type_n').setRequired(true);
                                record.getField('tax_registry_num').setRequired(true);
                                record.getField('invoice_title').setRequired(true);

                                record.getField('invoice_bp_address').setRequired(false);
                                record.getField('invoice_bp_phone_num').setRequired(false);
                                record.getField('invoice_bp_bank').setRequired(false);
                                record.getField('invoice_bp_bank_account').setRequired(false);
                            }
                        }
                    }
                }
                if(name == 'invoice_type'){
                    //设置是否全电发票默认值  18083 2022/11/30
                    if(value == 'PAPER'){
                        record.getField('reception_maile').setRequired(false);
                        record.set('full_elec_invoice_flag','N');
                        record.set('full_elec_invoice_flag_n','否');
                    }else{
                        record.getField('reception_maile').setRequired(true);
                        record.set('full_elec_invoice_flag','Y');
                        record.set('full_elec_invoice_flag_n','是');
                    }
                }
            }

            var role_ds = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master_role');
            if (role_ds == ds.id) {
                var flag=true;
                var bp_type_flag='N';
                var records = $(ds.id).getAll();
                if(name=='bp_type'){
                    for (var i = 0;i < records.length;i++) {
                        if(records[i].get('bp_type')=='RENTER'){
                            bp_type_flag='Y';
                        }
                    }
                    if(bp_type_flag=='Y'){
                        for (var i = 0;i < records.length;i++) {
                            if(records[i].get('bp_type')=='RENTER'){
                                records[i].set('primary_flag','Y')
                            }else{
                                records[i].set('primary_flag','N')
                            }
                        }
                    }

                }


                var primary_flag = record.get('primary_flag');
                if (primary_flag == 'Y') {
                    var bm_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
                    var bm_record = $(bm_ds_id).getCurrentRecord();
                    bm_record.set('bp_type', record.get('bp_type'));
                    bm_record.set('bp_type_n', record.get('bp_type_n'));
                    bm_record.set('bp_category', record.get('bp_category'));
                    bm_record.set('bp_category_n', record.get('bp_category_n'));
                }

            }
        };

        function upload_file(id, name, query_only) {
            debugger;
            var record = window['${/parameter/@layout_code}_hls_link_render_record'][id + '---' + name];
            if (record.get('check_id')) {
                var url;
                if (query_only == 'Y') {
                    url = $('hls214N_cdd_downloadFile_id').getUrl() + '?table_name=PRJ_CDD_ITEM_CHECK&header_id=' + record.get('check_id');
                } else {
                    url = $('hls214N_cdd_uploadFile_id').getUrl() + '?table_name=PRJ_CDD_ITEM_CHECK&header_id=' + record.get('check_id');
                }

                var win = new Leaf.Window({
                    url: url,
                    title: '${l:HLS.SUPPORTING_DOCUMENT}',
                    id: 'prj500_cdd_uploadFile_screen_id',
                    width: 850,
                    height: 400
                });

                win.on('close', function () {
                    record.ds.query();
                });
            } else {
                Leaf.showMessage('${l:HLS.PROMPT}', '请先保存!');

            }
        }
        function upload_signer_file(id, name, query_only) {
            var record = window['${/parameter/@layout_code}_hls_link_render_record'][id + '---' + name];
            if (record.get('hls_bp_signer_id')) {
                var url;
                if (query_only == 'Y') {
                    url = $('hls214N_cdd_downloadFile_id').getUrl() + '?table_name=HLS_BP_MASTER_SIGNER&header_id=' + record.get('hls_bp_signer_id');
                } else {
                    url = $('hls214N_cdd_uploadFile_id').getUrl() + '?table_name=HLS_BP_MASTER_SIGNER&header_id=' + record.get('hls_bp_signer_id');
                }

                var win = new Leaf.Window({
                    url: url,
                    title: '${l:HLS.SUPPORTING_DOCUMENT}',
                    id: 'prj500_cdd_uploadFile_screen_id',
                    width: 850,
                    height: 400
                });

                win.on('close', function () {
                    record.ds.query();
                });
            } else {
                Leaf.showMessage('${l:HLS.PROMPT}', '请先保存!');

            }
        }
        //超链接渲染
        window['${/parameter/@layout_code}_dynamic_link_renderer'] = function (value, record, name, config_record) {

            window['${/parameter/@layout_code}_hls_link_render_record'][record.id + '---' + name] = record;
            if (name == 'attachment') {
                link_function = 'upload_file';
                if (record.get('attach_count') == 0 || !record.get('attach_count')) {
                    return '<a href="javascript:window[\'' + link_function + '\'](\'' + record.id + '\',\'' + name + '\',\'' + config_record.get('query_only') + '\');">' + config_record.get('prompt') + '</a>';
                } else {
                    return '<a href="javascript:window[\'' + link_function + '\'](\'' + record.id + '\',\'' + name + '\',\'' + config_record.get('query_only') + '\');">' + config_record.get('prompt') + '(' + record.get('attach_count') + ')' + '</a>';
                }
            } else if (name == 'attach_file_name') {
                if (value != null) {
                    var link = '${/request/@context_path}/atm_download.lsc?attachment_id=';
                    var str = value.split(';;');
                    var url = '';
                    for (var i = 0; i < str.length; i++) {
                        var temp = str[i].split('--');
                        if (!Leaf.isEmpty(temp[0])) {
                            var file_name = temp[0].toUpperCase();
                            var file_suffix = temp[0].substr(temp[0].lastIndexOf('.') + 1).toUpperCase();
                            if (file_name.indexOf('.PDF') >= 0) {
                                url = url + '<a href=javascript:view_pdf(\'' + temp[1] + '\')>' + temp[0] + '</a>' + ',';
                            } else if (file_suffix == 'BMP' || file_suffix == 'JPG' || file_suffix == 'JPEG' || file_suffix == 'PNG' || file_suffix == 'GIF') {
                                url = url + '<a href=' + link + temp[1] + ' ref="img">' + temp[0] + '</a>' + ',';
                            } else {
                                url = url + '<a href=' + link + temp[1] + '>' + temp[0] + '</a>' + ',';
                            }
                        }
                    }
                    return url;

                }
            } else if (name == 'description') {
                if (record.get('important_flag') == 'Y') {
                    return '<font color="RED">' + value + '</font>';
                }
                return value;
            }//签约人授权书附件
            else if(name == 'signer_attachment'){
                var signer_link_function = 'upload_signer_file';
                return '<a href="javascript:window[\'' + signer_link_function + '\'](\'' + record.id + '\',\'' + name + '\',\'' + config_record.get('query_only') + '\');">' + config_record.get('prompt') + '</a>';
            }
        };

        //征信 add start 财报查询按钮
        window['${/parameter/@layout_code}_user_button2_layout_dynamic_click'] = function () {
            var bp_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'hls_bp_master');
            var record = $(bp_ds_id).getAt(0)
            if (Ext.isEmpty(record.get('bp_code'))) {
                Leaf.showMessage('${l:PROMPT}', '请先保存商业伙伴数据！');
                return;
            }

            new Leaf.Window({
                id: 'rsc303_fin_statement_query',
                url: $('rsc303_fin_statement_link').getUrl(),
                title: '查看财报',
                fullScreen: true,
                params: {
                    bp_id: record.get('bp_id') ,
                    bp_code:record.get('bp_code')
                }

            });
        }
        //征信 add end
        ]]></script>
        <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
    </a:view>
</a:screen>
