<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: ouyangzhaochang2663 $ $Date: 2011/02/21 08:37:47 $ $Revision: 1.8 $ $Purpose: UPDATE BY DJ 重构大部分代码 --> <a:screen xmlns:a="http://www.leaf-framework.org/application" trace="true"> <a:init-procedure> <a:model-query model="sys.sys_user" rootPath="user_model"/> </a:init-procedure> <a:view> <script type="text/javascript"><![CDATA[ function editScreen_close() { $('sys_user_edit').close(); } function editDs_save() { var ds = $('editDs'); if (ds.validate()) { var record = ds.getCurrentRecord(); //ds.submit(); Leaf.request({ url: '${/request/@context_path}/autocrud/sys.SYS8210.ad_master_user_v/update', para: { user_id: record.get("user_id"), start_date: record.get('start_date'), end_date: record.get('end_date'), password_lifespan_days: record.get('password_lifespan_days'), password_lifespan_access: record.get('password_lifespan_access'), frozen_flag: record.get('frozen_flag'), frozen_date: record.get('frozen_date'), bp_category: record.get('bp_category'), ad_user_id: record.get('ad_user_id'), bp_id:record.get('bp_id') }, success: function (res) { Leaf.SideBar.show({ msg: '${l:HLS.SUBMIT_SUCCESS}', duration: 2000 }); $('userDs').query(); $('${/parameter/@winid}').close(); }, failure: function () { }, error: function () { }, sync: true, scope: this }); } } function onSubmitSuccess_editDs(dateSet, datas, results) { userScreen_userDs_query(); editScreen_close(); } function compareDate(start, end) { if (start > end) { return false; } return true; } function dateValidator(record, name, value) { if (name == 'start_date' || name == 'end_date') { var start_date = record.get('start_date'); var end_date = record.get('end_date'); if (typeof(end_date) != 'undefined' && !Ext.isEmpty(end_date)) { if (!compareDate(start_date, end_date)) { return '${l:START_GREATER_THAN_END}'; } } return true; } } function field_handle(type, record, name) { var field = record.getField(name); if (type == 'readonly') { field.setReadOnly(true); field.setRequired(false); record.set(name, ''); } else if (type == 'require') { field.setReadOnly(false); field.setRequired(true); } } function onUpdate_editDs(ds, record, name, value, oldvalue) { /*if (name == 'bp_category') { var user_type = record.get("bp_category"); var bp_code = record.getMeta().getField('bp_code'); var employee_code = record.getMeta().getField('employee_code'); if (user_type == 'EMPLOYEE') { bp_code.setReadOnly(true); employee_code.setReadOnly(false); record.set('bp_id', ''); record.set('bp_code', ''); record.set('bp_name', ''); } else { if (Ext.isEmpty(user_type)) { employee_code.setReadOnly(true); bp_code.setReadOnly(true); record.set('bp_id', ''); record.set('bp_code', ''); record.set('bp_name', ''); record.set('employee_id', ''); record.set('employee_code', ''); record.set('emp_name', ''); } else { bp_code.setReadOnly(false); employee_code.setReadOnly(true); url = 'sys.SYS8210.sys_user_bp_master_lov?bp_category=' + user_type; bp_code.setLovService(url); var mapping = [{ from: "bp_id", to: "bp_id" }, { from: "bp_code", to: "bp_code" }, { from: "bp_name", to: "bp_name" }]; bp_code.setMapping(mapping); record.set('employee_id', ''); record.set('employee_code', ''); record.set('emp_name', ''); } } }*/ if (name == 'state') { if (value == '1') { field_handle('readonly', record, 'password_lifespan_access'); field_handle('require', record, 'password_lifespan_days'); } else if (value == '2') { field_handle('require', record, 'password_lifespan_access'); field_handle('readonly', record, 'password_lifespan_days'); } else { field_handle('readonly', record, 'password_lifespan_access'); field_handle('readonly', record, 'password_lifespan_days'); } } else if (name == 'frozen_flag') { if (value == 'Y') { record.set('frozen_date', new Date().format('yyyy-mm-dd')); } else { record.set('frozen_date', ''); } } else if (name == 'password' || name == 'confirm_password') { record.validate((name == 'password') ? 'confirm_password' : 'password'); } else if (name == 'start_date' || name == 'end_date') { record.validate((name == 'start_date') ? 'end_date' : 'start_date'); } } ]]></script> <a:dataSets> <a:dataSet id="editDs" model="sys.sys_user"> <a:datas dataSource="/model/user_model"/> <a:fields> <a:field name="user_name" readOnly="true"/> <a:field name="start_date" required="true" validator="dateValidator"/> <a:field name="end_date" validator="dateValidator"/> <a:field name="description" required="true"/> <a:field name="frozen_date" readOnly="true"/> <a:field name="emp_name" readOnly="true"/> <a:field name="employee_code" autoComplete="true" autoCompleteField="employee_code" lovGridHeight="300" lovHeight="430" lovService="sys.SYS8210.sys_user_employee_lov?ORDER_FIELD=employee_code" lovWidth="500" readOnly="true"> <a:mapping> <a:map from="name" to="emp_name"/> <a:map from="employee_code" to="employee_code"/> <a:map from="employee_id" to="employee_id"/> </a:mapping> </a:field> <a:field name="ad_user_id" lovGridHeight="400" lovHeight="600" lovService="sys.SYS8210.ad_master_user_v?ORDER_FIELD=ad_user_id" lovWidth="700" readOnly="true" title="EXP_EMPLOYEES.QUERY"> <a:mapping> <a:map from="userid" to="ad_user_id"/> <a:map from="name_zh" to="ad_user_name"/> <a:map from="mail" to="email"/> <a:map from="orgunitid" to="ad_org_unit_id"/> <a:map from="employeeid" to="ad_employee_id"/> <a:map from="firstemployeeid" to="ad_first_employee_id"/> <a:map from="workpersonnelareacode" to="work_personnel_area_code"/> <a:map from="originpersonnelareacode" to="origin_personnel_area_code"/> <a:map from="mobilenumber" to="phone"/> <a:map from="employeestatus" to="employee_status"/> </a:mapping> </a:field> <a:field name="phone" readOnly="true"/> <a:field name="email" readOnly="true"/> <a:field name="ad_org_unit_id" readOnly="true"/> <a:field name="ad_user_name" readOnly="true"/> <a:field name="bp_category_name" displayField="code_value_name" options="user_type_lov_ds" readOnly="true" returnField="bp_category" valueField="code_value"/> <!--<a:field name="bp_code" lovGridHeight="300" lovHeight="460" lovLabelWidth="100" lovWidth="530" readOnly="true"> <a:mapping> <a:map from="" to=""/> <a:map from="" to=""/> <a:map from="" to=""/> </a:mapping> </a:field> <a:field name="bp_name" readOnly="true"/>--> <a:field name="bp_name" lovGridHeight="300" lovHeight="460" lovLabelWidth="100" lovWidth="530" lovService="sys.SYS8210.sys_user_bp_master_lov?bp_category=AGENT" readOnly="true"> <a:mapping> <a:map from="bp_name" to="bp_name"/> <a:map from="bp_id" to="bp_id"/> <a:map from="bp_code" to="bp_code"/> </a:mapping> </a:field> </a:fields> <a:events> <a:event name="submitsuccess" handler="onSubmitSuccess_editDs"/> <a:event name="update" handler="onUpdate_editDs"/> </a:events> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <a:gridButton click="editScreen_close" text="HLS.CLOSE"/> <a:gridButton click="editDs_save" text="HLS.SAVE"/> </a:screenTopToolbar> <a:fieldSet column="2" labelWidth="100" title="SYS_USER.USER_INFO" width="500"> <a:comboBox name="bp_category_name" bindTarget="editDs" prompt="SYS_USER.USER_TYPE"/> <!--ad master 字段--> <a:lov name="ad_user_id" bindTarget="editDs" prompt="账号"/> <a:textField name="ad_user_name" bindTarget="editDs" prompt="姓名"/> <a:textField name="phone" bindTarget="editDs" prompt="手机号"/> <a:textField name="email" bindTarget="editDs" prompt="Email"/> <a:textField name="ad_org_unit_id" bindTarget="editDs" prompt="组织ID"/> <!--ad master 字段--> <!--<a:textField name="user_name" bindTarget="editDs"/>--> <a:datePicker name="start_date" bindTarget="editDs"/> <a:datePicker name="end_date" bindTarget="editDs"/> <!--<a:textField name="description" bindTarget="editDs"/>--> <!--<a:textField name="phone" bindTarget="editDs" prompt="SYS_USER.PHONE"/> <a:lov name="employee_code" bindTarget="editDs"/> <a:textField name="emp_name" bindTarget="editDs"/> <a:lov name="bp_code" bindTarget="editDs" prompt="HLS_BP_MASTER.BP_CODE"/> <a:textField name="bp_name" bindTarget="editDs" prompt="HLS_BP_MASTER.BP_NAME"/>--> <a:checkBox name="frozen_flag" bindTarget="editDs"/> <a:datePicker name="frozen_date" bindTarget="editDs"/> <a:lov name="bp_name" bindTarget="editDs" prompt="代理商"/> <a:hBox padding="0" prompt="SYS_USER.PASSWD_EXPIRED_TYPE"> <a:radio name="state" bindTarget="editDs" layout="vertical" style="padding-top:5px;padding-bottom:5px;" width="80"> <a:items> <a:item label="SYS_USER.PASSWD_EXPIRED_DAYS" value="1"/> <a:item label="SYS_USER.PASSWD_EXPIRED_TIMES" value="2"/> <a:item label="SYS_USER.PASSWD_EXPIRED_NEVER" value="3"/> </a:items> </a:radio> <a:vBox> <a:numberField name="password_lifespan_days" allowDecimals="false" allowNegative="false" bindTarget="editDs" width="67"/> <a:numberField name="password_lifespan_access" allowDecimals="false" allowNegative="false" bindTarget="editDs" width="67"/> </a:vBox> </a:hBox> </a:fieldSet> <script type="text/javascript"><![CDATA[ Leaf.onReady(function() { var obj = $('editDs').getCurrentRecord(); var user_type = obj.get('bp_category'); var bp_code = obj.getMeta().getField('bp_code'); var employee_code = obj.getMeta().getField('employee_code'); /*if (user_type == 'EMPLOYEE') { bp_code.setReadOnly(true); employee_code.setReadOnly(false); } else { if (Ext.isEmpty(user_type)) { obj.getField('bp_category_name').setReadOnly(false); } else { url = 'sys.SYS8210.sys_user_bp_master_lov?bp_category=' + user_type; bp_code.setLovService(url); var mapping = [{ from: "bp_id", to: "bp_id" }, { from: "bp_code", to: "bp_code" }, { from: "bp_name", to: "bp_name" }]; bp_code.setMapping(mapping); bp_code.setReadOnly(false); employee_code.setReadOnly(true); } }*/ }); function init() { var record = $('editDs').getAt(0); var password_lifespan_days = record.get('password_lifespan_days'); var password_lifespan_access = record.get('password_lifespan_access'); var state; if (!Ext.isEmpty(password_lifespan_days)) { state = '1'; } else if (!Ext.isEmpty(password_lifespan_access)) { state = '2'; } else { state = '3'; } record.set('state', state); if (state == '1' || state == '3') { record.getField('password_lifespan_access').setReadOnly(true); } else if (state == '2' || state == '3') { record.getField('password_lifespan_days').setReadOnly(true); } } init(); ]]></script> </a:screenBody> </a:view> </a:screen>