contract_penalty_reduction_create.lview 15.7 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
<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: hsx
    $Date: 2018年8月8日17:29:18
    $Revision: 1.0
    $Purpose:罚息减免新增
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" dynamiccreateenabled="true" trace="true">
    <a:view>
        <a:link id="${/parameter/@layout_code}_con_contract_get_layout_code_link_id"
                model="cont.CON500.con_contract_get_layout_code" modelaction="update"/>
        <!--<script src="${/request/@context_path}/javascripts/jquery-1.6.4.min.js" type="text/javascript"/>-->
        <a:link id="con_contract_penalty_active_flag_link" model="cont.CON1020.con_contract_penalty_active_flag"
                modelaction="batch_update"/>
        <a:link id="con_contract_penalty_cancle_link" model="cont.CON1020.con_contract_penalty_cancle"
                modelaction="batch_update"/>
        <a:link id="${/parameter/@layout_code}_modify_link"
                url="${/request/@context_path}/modules/cont/CON1020/contract_penalty_reduction_maintain.lview"/>
        <a:link id="get_xml" model="cont.CON1020.con_contract_penalty" modelaction="execute"/>
        <a:link id="con_contract_penalty_reduction_link" model="cont.CON1020.con_contract_penalty_reduction"
                modelaction="execute"/>
        <script type="text/javascript"><![CDATA[
        jQuery.noConflict();

stone's avatar
stone committed
25
        var save_flag=false;
Spencer Chang's avatar
Spencer Chang committed
26 27 28 29 30 31 32 33 34

        function open_detail_win(ds_id, record_id) {
            var record = $(ds_id).findById(record_id);
            if (record.dirty || !record.data.contract_id) {
                Leaf.showMessage('${l:HLS.PROMPT}', '请先保存数据再维护明细');
                return;
            }
            var param = record.data;
            var case_status_submit = '${/parameter/@case_status_submit}';
35

Spencer Chang's avatar
Spencer Chang committed
36 37 38 39 40 41 42 43 44
            if (case_status_submit == 'APPROVED' || case_status_submit == 'APPROVING') {
                param['function_code'] = 'CON1020_M_R';
                param['maintain_type'] = 'QUERY';
                param['function_usage'] = 'QUERY';
            } else {
                param['function_code'] = 'CON1020_M';
                param['maintain_type'] = 'UPDATE';
                param['function_usage'] = 'UPDATE';
            }
45 46 47 48 49 50 51
            //如果是工作流页面进入,设为只读

          if ( '${/parameter/@function_usage}'=='QUERY'){
              param['function_code'] = 'CON1020_M_R';
              param['maintain_type'] = 'QUERY';
              param['function_usage'] = 'QUERY';
           }
Spencer Chang's avatar
Spencer Chang committed
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
            param['penalty_reduce_id'] = record.data.penalty_reduce_id;
            param['copy_contract_id'] = record.data.copy_contract_id;
            param['contract_id'] = record.data.contract_id;
            param['url_title'] = '维护减免明细';
            param['winid'] = '${/parameter/@layout_code}_modify_win_id';
            hls_doc_get_layout_code('${/parameter/@layout_code}_con_contract_get_layout_code_link_id', param, '${/parameter/@layout_code}_modify_link', ds_id);
        }
        //超链接渲染
        window['${/parameter/@layout_code}_dynamic_link_renderer'] = function (value, record, name, config_record) {
            if (name == 'maintain_detail') {
                return '<a href="javascript:open_detail_win(\'' + record.ds.id + '\',\'' + record.id + '\')"> 维护减免明细 </a>';
            }
            return value;
        };
        //保存按钮
        window['${/parameter/@layout_code}_user_button1_layout_dynamic_click'] = function () {
            window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            var ds_id1 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_case_record');
stone's avatar
stone committed
70 71 72 73 74 75 76
            var reduce_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_penalty_reduce');
            if($(reduce_ds_id).data.length<1){
                $L.showInfoMessage('提示','请维护罚息减免信息!')
                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }

stone's avatar
stone committed
77 78 79 80 81
            if(!$(ds_id1).validate()){
                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
             }

Spencer Chang's avatar
Spencer Chang committed
82 83 84 85 86 87 88 89
            var record1 = $(ds_id1).getCurrentRecord();
            if (!record1.get('penalty_batch_number')) {
                Leaf.request({
                    url: '${/request/@context_path}/autocrud/cont.CON1020.con_contract_get_batch_number/execute',
                    para: {},
                    success: function (res) {
                        var penalty_batch_number = res.result.penalty_batch_number;
                        record1.set('penalty_batch_number', penalty_batch_number);
stone's avatar
stone committed
90 91 92 93 94
                        save_flag=true;
                        var root_ds = $('${/parameter/@layout_code}_virtual_ds');
                        if (root_ds) {
                            root_ds.submit();
                        }
Spencer Chang's avatar
Spencer Chang committed
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
                        window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                        // var root_ds = $('${/parameter/@layout_code}_virtual_ds');
                        // if (root_ds) {
                        //     root_ds.submit();
                        // }
                        window['${/parameter/@layout_code}_SAVE_LAYOUT_DYNAMIC_CLICK']();
                    },
                    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
                });
            } else {
                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                var root_ds = $('${/parameter/@layout_code}_virtual_ds');
                if (root_ds) {
                    root_ds.submit();
                }
            }
        };

        //提交起案
        window['${/parameter/@layout_code}_user_button2_layout_dynamic_click'] = function () {
            window['${/parameter/@bp_seq}${/parameter/@layout_code}_lock_layout_dynamic_window']();
122 123


Spencer Chang's avatar
Spencer Chang committed
124
            getXml();
stone's avatar
stone committed
125
           /* $('${/parameter/@layout_code}_user_button1').disable();
Spencer Chang's avatar
Spencer Chang committed
126 127
            $('${/parameter/@layout_code}_user_button2').disable();
            $('${/parameter/@layout_code}_user_button3').disable();
stone's avatar
stone committed
128
            $('${/parameter/@layout_code}_user_button4').disable();*/
Spencer Chang's avatar
Spencer Chang committed
129 130 131 132
        };

        function getXml() {
            var req_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_case_record');
stone's avatar
stone committed
133
            var reduce_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_penalty_reduce');
stone's avatar
stone committed
134
            var req_record = $(req_ds_id).getAt(0);
stone's avatar
stone committed
135
            var record_id = req_record.data.record_id
stone's avatar
stone committed
136 137
            if (!record_id) {
                Leaf.showMessage('${l:HLS.PROMPT}', '请先保存再提交数据!');
Spencer Chang's avatar
Spencer Chang committed
138 139 140
                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }
stone's avatar
stone committed
141
           //检验必须字段
stone's avatar
stone committed
142 143 144 145 146 147 148 149 150 151
            var records=$(reduce_ds_id).data;
            for(var i=0;i<records.length;i++){
                //如果没有进行测算,
               if( records[i].get('calc_flag')!='Y'){
                   Leaf.showMessage('${l:HLS.PROMPT}', '所有数据测算后才能提交!');
                   window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                   return;
               }
            }
           //判断所有的单据是否已经进行测算过
Spencer Chang's avatar
Spencer Chang committed
152 153 154 155 156 157
            Leaf.request({
                url: $('con_contract_penalty_reduction_link').getUrl(),
                para: {
                    record_id: record_id
                },
                success: function (res) {
158 159
                   // var v_status = res.result.v_status;
                    //if (v_status == 1) {
stone's avatar
stone committed
160
                    Leaf.SideBar.show({
stone's avatar
stone committed
161
                        msg: '操作成功',
stone's avatar
stone committed
162 163
                        duration: 2000
                    });
164 165
                    //}
                    /*else {
Spencer Chang's avatar
Spencer Chang committed
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
                        Leaf.request({
                            url: $('get_xml').getUrl(),
                            para: {
                                record_id: record_id
                            },
                            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
                        });
183
                    }*/
Spencer Chang's avatar
Spencer Chang committed
184
                    window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
stone's avatar
stone committed
185
                    $('${/parameter/@winid}').close();
Spencer Chang's avatar
Spencer Chang committed
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
                },
                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/@layout_code}_user_button3_layout_dynamic_click'] = function () {
            window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            var ds_id1 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_case_record');
            var record1 = $(ds_id1).getCurrentRecord();
            var ds_id2 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_penalty_reduce');
            var record2 = $(ds_id2).getSelected();
            if (record2.length == 0) {
                Leaf.showMessage('提示', '请选择一条数据!');
                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }
            var param_list = [];
            var param = {};
            for (var i = 0; i < record2.length; i++) {
                param['record_id'] = record1.data.record_id;
                param['penalty_reduce_id'] = record2[i].get('penalty_reduce_id');
                param['_status'] = 'update';
                param_list.push(param);
            }
            Leaf.request({
                url: $('con_contract_penalty_active_flag_link').getUrl(),
                para: param_list,
                success: function (res) {
                    Leaf.SideBar.show({
                        msg: '生效成功',
                        duration: 2000
                    });
                    window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
stone's avatar
stone committed
257
                    },
Spencer Chang's avatar
Spencer Chang committed
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
                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
            });
        };


        //取消
        window['${/parameter/@layout_code}_user_button4_layout_dynamic_click'] = function () {
            window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            var ds_id1 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_case_record');
            var record1 = $(ds_id1).getCurrentRecord();
            var ds_id2 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_penalty_reduce');
275 276

            var record2 = $(ds_id2).getAll();
Spencer Chang's avatar
Spencer Chang committed
277 278 279 280 281 282
            if (record2.length == 0) {
                Leaf.showMessage('提示', '请选择一条数据!');
                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }
            var param_list = [];
283

Spencer Chang's avatar
Spencer Chang committed
284
            for (var i = 0; i < record2.length; i++) {
285 286
                //放在外面程序会报错,由于param是同一个对象,第二次penalty_reduce_id会将第一次的覆盖
                var param = {};
Spencer Chang's avatar
Spencer Chang committed
287 288 289 290 291
                param['record_id'] = record1.data.record_id;
                param['penalty_reduce_id'] = record2[i].get('penalty_reduce_id');
                param['_status'] = 'update';
                param_list.push(param);
            }
292 293 294 295 296 297 298 299 300 301 302

            $L.showConfirm('提示','确认取消该批次的修改信息?',function () {
                Leaf.request({
                    url: $('con_contract_penalty_cancle_link').getUrl(),
                    para: param_list,
                    success: function (res) {
                        Leaf.SideBar.show({
                            msg: '取消成功',
                            duration: 2000
                        });
                        window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
stone's avatar
stone committed
303 304
                        $('${/parameter/@winid}').close();
                        },
305 306 307 308 309 310 311 312 313 314 315 316 317
                    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 () {
                window['${/parameter/@bp_seq}${/parameter/@layout_code}_unlock_layout_dynamic_window']();
            })

Spencer Chang's avatar
Spencer Chang committed
318 319 320 321 322 323 324 325 326 327 328 329
        };

        //保存submitsuccess调用
        window['${/parameter/@layout_code}_on_layout_dynamic_submitsuccess'] = function (ds, record, res, bp_seq) {
            var ds_id2 = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract_penalty_reduce');
            $(ds_id2).query();
            window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
        };
        ]]></script>
        <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
    </a:view>
</a:screen>