<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: jessen  
    $Date: 2011-9-8 上午9:17:11  
    $Revision: 1.0  
    $Purpose: 
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" trace="true">
    <a:init-procedure>
        <a:model-query autoCount="false" fetchAll="true" model="exp.FND2390.exp_sub_employee_type_cm" rootPath="type_list"/>
    </a:init-procedure>
    <a:view>
        <a:link id="exp_sub_employee_assign_link" url="${/request/@context_path}/modules/fnd/FND2390/exp_sub_employee_assign.lview"/>
        <a:link id="FND2390_exp_sub_employee_bank_info_link" url="${/request/@context_path}/modules/fnd/FND2390/exp_sub_employee_bank_info.lview"/>
        <a:link id="FND2390_exp_sub_employee_assign_com_link" url="${/request/@context_path}/modules/fnd/FND2390/exp_sub_employee_assign_com.lview"/>
        <a:link id="sys_service_welcome_link" url="${/request/@context_path}/welcome.lview"/>
        <div/>
        <script type="text/javascript"><![CDATA[
            function b_reset() {
                $('query_ds').reset();
            }
            
            function b_query() {
                $('emp_ds').query();
            }
            
            function convert(rec) {
                if (!rec) {
                    return [];
                } else if (!rec.length) {
                    return [rec];
                }
                return rec;
            }
            function FND2390_bank_info_render(value,record,name){
                if(record.get('employee_id')){
                    return "<a href='javascript:FND2390_bank_info_update("+record.get('employee_id')+",\""+encodeURI(encodeURI(record.get('name')))+"\");'>${l:EXP_EMPLOYEES.BANK_ACCOUNT}</a>";
                }
                return "";
            }
            function FND2390_bank_info_update(id,name){
                new Leaf.Window({
                    id: 'exp_sub_employee_bank_info',             
                    url: $('FND2390_exp_sub_employee_bank_info_link').getUrl()+'?employee_id=' + id+'&employee_name='+name,
                    title: '${l:EXP_EMPLOYEES.BANK_ACCOUNT}',
                    height: 500,
                    width: 700
                });
            }
            function employee_assign_renderer(value, rec, name) {
                if (rec.get('employee_id')) {
                    return "<a href='javascript:assign_emp_win(" + rec.get('employee_id') + ");'>${l:EXP_EMPLOYEE.EMPLOYEE_ASSIGN}</a>";
                }
                return "";
            }
            
            
            
            function empCodeEditFunction(record) {
                return (record.isNew || !record.get('employee_code')) ? "tf" : '';
            }
            
            function assign_emp_win(emp_id) {
                new Leaf.Window({
                    id: 'assign_emp',
                    url: $('exp_sub_employee_assign_link').getUrl()+'?employee_id=' + emp_id,
                    title: '${l:EXP_EMPLOYEE.EMPLOYEE_ASSIGN}',
                    height: 500,
                    width: 750
                });
            }
            
            function on_emp_ds_submitsuccess(ds, args) {
                var recs = [].concat(args.result.record);
                for (var i = 0;i < recs.length;i++) {
                    var r = ds.find('employee_code', recs[i].employee_code);
                    r.set('employee_id', recs[i].employee_id);
                    r.commit();
                }
            }
            
            function emailValidator(rec, name, value) {
                if (!value) {
                    return true;
                }
                var emreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
                if (!emreg.test(value)) {
                    return '${l:EXP_SUB_EMPLOYEE.INVALID_EMAIL}';
                }
                return true;
            }
            
            function teleValidator(rec, name, value) {
                if (!value) {
                    return true;
                }
                //验证固定电话号码
                //0\d{2,3} 代表区号
                //[0\+]\d{2,3} 代表国际区号
                //\d{7,8} 代表7-8位数字(表示电话号码)
                //正确格式:区号-电话号码-分机号(全写|只写电话号码)
                
                var telereg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
                if (!telereg.test(value)) {
                    return '${l:EXP_SUB_EMPLOYEE.INVALID_TELEPHONE}';
                }
                return true;
            }
            
            function mobileValidator(rec, name, value) {
                if (!value) {
                    return true;
                }
            
                var mregex = /^([0\+]\d{2,3})?1[1-9]{1}\d{9}$/;
                if (!mregex.test(value)) {
                    return '${l:EXP_SUB_EMPLOYEE.INVALID_MOBILE}';
                }
                return true;
            }
            function fnd_2390_new(){
                   new Leaf.Window({
                    id: 'EXP1210_exp_sob_emp_com_assigned_screen',
                    url: $('FND2390_exp_sub_employee_assign_com_link').getUrl(),
                    title: '${l:EXP_EMPLOYEE.TITLE}',
                    width: 700,
                    height: 260
                });
            } 
            function fnd_2390_next(){
                 history.go(1);
            }
            function fnd_2390_back(){
                history.go(-1);
            }
            function fnd_2390_quit(){
                location.href = $('sys_service_welcome_link').getUrl();
            } 
			function fnd_2390_grid_clear(){
                $('fnd_2390_sys_service_grid').clear();
            }
            function fnd_2390_grid_submit() {
                var result_ds = $('sys_service_result_ds');
                if (result_ds.validate()) {
                    result_ds.submit();
                }
            }
        ]]></script>
        <a:dataSets>
            <a:dataSet id="type_list_ds">
                <a:datas dataSource="/model/type_list"/>
            </a:dataSet>
            <a:dataSet id="yes_no_ds" lookupCode="YES_NO"/>
            <a:dataSet id="bank_type_ds" lookupCode="BANK_TYPE"/>
            <a:dataSet id="query_ds">
                <a:fields>
                    <a:field name="employee_code"/>
                    <a:field name="enabled_flag"/>
                    <a:field name="enabled_flag_com" displayfield="code_value_name" options="yes_no_ds" returnfield="enabled_flag" valuefield="code_value"/>
                    <a:field name="name"/>
                </a:fields>
            </a:dataSet>
            <a:dataSet id="emp_ds" autoQuery="true" model="exp.FND2390.exp_sub_employee_query" pageSize="15" queryDataSet="query_ds" selectable="true" submitUrl="${/request/@context_path}/modules/fnd/FND2390/exp_sub_employee_save_control.lsc">
                <a:fields>
                    <a:field name="employee_type_name" displayField="employee_type_name" options="type_list_ds" required="true" returnField="employee_type_id" valueField="exp_emp_type_id"/>
                    <a:field name="employee_type_id"/>
                    <a:field name="employee_id"/>
                    <a:field name="employee_code" required="true"/>
                    <a:field name="name" required="true"/>
                    <a:field name="bank_account"/>
                    <!--<a:field name="bank_of_deposit"/>-->
                    <a:field name="email" validator="emailValidator"/>
                    <a:field name="phone" validator="teleValidator"/>
                    <a:field name="mobil" validator="mobileValidator"/>
                    <a:field name="id_type"/>
                    <a:field name="id_code"/>
                    <a:field name="enabled_flag" checkedValue="Y" defaultValue="Y" uncheckedValue="N"/>
                </a:fields>
                <a:events>
                    <a:event name="submitsuccess" handler="on_emp_ds_submitsuccess"/>
                </a:events>
            </a:dataSet>
        </a:dataSets>
        <a:screenBody>
            <a:screenTopToolbar>
                <a:screenTitle/>
                <a:gridButton click="fnd_2390_back" text="HLS.BACK"/>
                <a:gridButton click="fnd_2390_next" text="HLS.FORWARD"/>
                <a:gridButton click="fnd_2390_quit" text="HLS.EXIT"/>
                <a:gridButton click="fnd_2390_new" text="HLS.NEW"/>
                <a:gridButton click="fnd_2390_grid_clear" text="HLS.CLEAR"/>
                <a:gridButton click="fnd_2390_grid_submit" text="HLS.SAVE"/>
                <a:gridButton click="b_query" text="HLS.QUERY"/>
            </a:screenTopToolbar>
            <a:form column="3" title="HAP_QUERY_TITLE">
                <a:textField name="employee_code" bindTarget="query_ds" prompt="EXP_EMPLOYEES.EMPLOYEE_CODE"/>
                <a:comboBox name="enabled_flag_com" bindTarget="query_ds" prompt="EXP_EMPLOYEES.ENABLED_FLAG"/>
                <a:textField name="name" bindTarget="query_ds" prompt="EXP_EMPLOYEES.NAME"/>
            </a:form>
            <a:grid bindTarget="emp_ds" marginHeight="180" marginWidth="30" navBar="true">
                <a:columns>
                    <a:column name="employee_type_name" align="left" editor="com" prompt="EXP_EMPLOYEES.EMPLOYEE_TYPE"/>
                    <a:column name="employee_code" align="left" editorFunction="empCodeEditFunction" prompt="EXP_EMPLOYEES.EMPLOYEE_CODE" width="60"/>
                    <a:column name="name" editor="tf" prompt="EXP_EMPLOYEES.NAME"/>
                    <!-- <a:column name="bank_of_deposit" editor="tf" prompt="EXP_EMPLOYEES.BANK_OF_DEPOSIT"/>-->
                    <!--<a:column name="bank_account" editor="nf" prompt="EXP_EMPLOYEES.BANK_ACCOUNT"/>-->
                    <a:column name="email" editor="tf" prompt="E-mail" width="200"/>
                    <a:column name="phone" editor="tf" prompt="EXP_EMPLOYEES.PHONE"/>
                    <a:column name="mobil" editor="tf" prompt="EXP_EMPLOYEES.MOBIL"/>
                    <a:column name="id_type" align="left" editor="tf" prompt="EXP_EMPLOYEES.ID_TYPE"/>
                    <a:column name="id_code" editor="tf" prompt="EXP_EMPLOYEES.ID_CODE"/>
                    <a:column name="enabled_flag" align="center" editor="cb" prompt="EXP_EMPLOYEES.ENABLED_FLAG" width="50"/>
                    <a:column name="employee_id" align="center" prompt="EXP_EMPLOYEE.EMPLOYEE_ASSIGN" renderer="employee_assign_renderer"/>
                    <a:column name="bank_account" align="center" prompt="EXP_EMPLOYEES.BANK_ACCOUNT" renderer="FND2390_bank_info_render"/>
                </a:columns>
                <a:editors>
                    <a:textField id="tf"/>
                    <a:comboBox id="com"/>
                    <a:checkBox id="cb"/>
                    <a:numberField id="nf" allowDecimals="false" allowFormat="false" allowNegative="false"/>
                </a:editors>
            </a:grid>
        </a:screenBody>
    </a:view>
</a:screen>