<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: qwm $Date: 2013-6-17 下午3:47:49 $Revision: 1.0 $Purpose: --> <a:screen xmlns:a="http://www.leaf-framework.org/application"> <a:init-procedure/> <a:view package="leaf.ui.std" template="default"> <a:link id="hls_stat_class_link" url="${/request/@context_path}/modules/hls/HLS029/hls_stat_class.lsc"/> <a:link id="delete_hls_stat_class_link" modelaction="delete" url="${/request/@context_path}/autocrud/hls.HLS029.hls_stat_class/batch_update"/> <a:link id="get_hls_stat_class_link" url="${/request/@context_path}/modules/hls/HLS029/hls_stat_class.lview"/> <div/> <script type="text/javascript"><![CDATA[ function hls029_grid_submit() { var ds = $('function_tree_ds'); var data = {}; var functions = []; var items = ds.getAll(); var count = items.length; if (count == 0) { Leaf.showMessage('${l:PROMPT}', '${l:NO_MENU_INFO}!'); } else { for (var i = 0, l = count;i < l;i++) { var d = items[i].data; functions[functions.length] = d; } data['functions'] = functions; Leaf.request({ url: $('hls_stat_class_link').getUrl(), para: data, success: ds.onSubmitSuccess, error: ds.onSubmitError, scope: ds, failure: ds.onAjaxFailed }); } } function save() { var main = $('function_tree_ds'); main.submit(); if (main.validate()) { var records = main.getAll(); for (var n = records.length - 1;n >= 0;n--) { records[n].getField('class_code').setReadOnly(true); records[n].getField('class_code').setRequired(false); records[n].getField('description').setRequired(false); } } } function add() { var dataset = $('function_tree_ds'); var record = dataset.getCurrentRecord(), class_id = record.get('class_id'); //alert(class_id); if (class_id) { var record1 = new Leaf.Record({ parent_class_id: class_id, enabled_flag: 'Y' }); dataset.add(record1); record1.set('class_usage_desc', record.get('class_usage_desc')); record1.set('class_usage', record.get('class_usage')); record1.getField('class_usage_desc').setReadOnly(true); record1.getField('class_usage').setReadOnly(true); record1.getField('class_usage_desc').setRequired(false); record1.getField('class_usage').setRequired(false); } } function addtop() { var record = $('function_tree_ds').find('top_level_flag', 'Y'); record.getField('expand_flag').setReadOnly(false); var dataset = $('function_tree_ds'); var record1 = new Leaf.Record({ parent_class_id: 0, enabled_flag: 'Y', expand_flag: 'Y', top_level_flag: 'Y' }); dataset.add(record1); } function del() { var ds = $('function_tree_ds'); var delete_datas = []; var records = [].concat(ds.getAll()); var tree = $('functionTreeGrid').unlockTree for (var n = records.length - 1;n >= 0;n--) { var record = records[n], checked = record.get('checked'); //alert(_expanded); if (checked == 'Y') { //alert(tree.getNodeById(record.id).checked); var node = tree.getNodeById(record.id); if (node && node.checked == 1) { var class_id = records[n].get('class_id'); //if(class_id){ //alert(records[n].get('class_code')); ds.remove(records[n]); delete_datas.add({ 'class_id': class_id, '_status': 'delete' }); //} } } } Leaf.request({ url: $('delete_hls_stat_class_link').getUrl(), para: delete_datas, success: function(args) {}, failure: function(response, options) {}, scope: this }); } function deleteNote() { Leaf.showConfirm('提示', '确定删除?', function okFun() { var delete_datas = []; var ds = $('function_tree_ds'); var records = ds.getSelected(); //alert(records.length); for (var n = records.length - 1;n >= 0;n--) { var record = records[n], checked = record.get('checked'); var class_id = records[n].get('class_id'); ds.removeLocal(records[n]); delete_datas.add({ 'class_id': class_id, '_status': 'delete' }); } Leaf.request({ url: $('delete_hls_stat_class_link').getUrl(), para: delete_datas, success: function(args) {}, failure: function(response, options) {}, scope: this }); }); } function editFunction_class_code(record, name) { if (record.isNew) { return 'grid_tf'; } else { return ''; } } function add_treeNote(ds, record, index) { //alert(value); //value = Leaf.formatDate(value); //$('csh_payment_reverse_ds').getAt(0).set('reverse_date', value); record.getField('class_code').setReadOnly(false); if (record.get('top_level_flag') == 'Y') { record.getField('class_usage_desc').setReadOnly(false); record.getField('class_usage').setReadOnly(false); } } function update_treeNote(dataSet, record, name, value, oldValue) { // var class_id = record.get('class_id'); var parent_class_id = record.get('parent_class_id'); var class_code = record.get('class_code'); var class_usage_desc = record.get('class_usage_desc'); var records = $('function_tree_ds').getAll(); if (name == 'class_usage') { for (var n = 0;n < records.length;n++) { if (records[n].get('parent_class_id') == class_id) { records[n].set('class_usage', value); if (value == 'LEASE_ITEM') { class_usage_desc = '租赁物' } else if (value == 'BIZ_PARTNER') { class_usage_desc = '商业伙伴' } records[n].set('class_usage_desc', class_usage_desc); } } } } function recursiveFun(class_id, value, class_usage_desc) { var records = $('function_tree_ds').getAll(); for (var n = 0;n < records.length;n++) { if (records[n].get('parent_class_id') == class_id) { records[n].set('class_usage', value); records[n].set('class_usage_desc', class_usage_desc); } } } function clearNote(){ var delete_datas = []; var ds = $('function_tree_ds'); var records = ds.getSelected(); //alert(records.length); for (var n = records.length - 1;n >= 0;n--) { var record = records[n], checked = record.get('checked'); var class_id = records[n].get('class_id'); ds.removeLocal(records[n]);} } function functionTreeGrid_editor(record, name){ if (record.isNew) { if(name== 'class_code'){ return 'grid_tf';} else if(name== 'description'){ return 'grid_tf'; }else if(name== 'class_usage_desc'){ return 'comboBoxEditor'; }else if(name== 'class_usage'){ return 'grid_tf'; }else if(name== 'enabled_flag'){ return 'grid_cb'; }else if(name== 'order_seq'){ return 'grid_nf'; }else if(name== 'expand_flag'){ return 'grid_cb'; } } return ''; } function submitsuccess_treeNote(){ window.location.href = $('get_hls_stat_class_link').getUrl(); } ]]></script> <a:dataSets> <a:dataSet id="class_usage_ds"> <a:datas> <a:record name="商业伙伴" value="BIZ_PARTNER"/> <a:record name="租赁物" value="LEASE_ITEM"/> </a:datas> </a:dataSet> <a:dataSet id="function_tree_ds" autoCount="false" fetchAll="true" loadData="true" model="hls.HLS029.hls_stat_class" selectable="true" submitUrl="${/request/@context_path}/modules/hls/HLS029/hls_stat_class.lsc"> <a:fields> <a:field name="class_usage" readOnly="true" required="true"/> <a:field name="class_code" readOnly="true" required="true"/> <a:field name="description" required="true"/> <a:field name="enabled_flag" checkedValue="Y" defaultValue="Y" uncheckedValue="N"/> <a:field name="expand_flag" checkedValue="Y" uncheckedValue="N"/> <a:field name="class_usage_desc" displayField="name" options="class_usage_ds" readOnly="true" required="true" returnField="class_usage" valueField="value"/> </a:fields> <a:events> <a:event name="add" handler="add_treeNote"/> <a:event name="update" handler="update_treeNote"/> <a:event name="submitsuccess" handler="submitsuccess_treeNote"/> </a:events> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <a:gridButton click="addtop" text="添加顶层分类"/> <a:gridButton click="add" text="添加下级分类"/> <a:gridButton click="save" text="HLS.SAVE"/> <!-- <a:gridButton click="deleteNote" text="删除"/> --> <a:gridButton click="clearNote" text="HLS.CLEAR"/> </a:screenTopToolbar> <a:treeGrid id="functionTreeGrid" bindTarget="function_tree_ds" expandField="expand_flag" height="400" idField="class_id" marginHeight="110" marginWidth="30" parentField="parent_class_id" sequenceField="order_seq" showCheckBox="false" width="800"> <a:columns> <a:column name="class_code" editorFunction="functionTreeGrid_editor" prompt="分类代码" width="200"/> <a:column name="description" editorFunction="functionTreeGrid_editor" prompt="分类描述" width="250"/> <a:column name="class_usage_desc" editorFunction="functionTreeGrid_editor" prompt="用途描述" width="120"/> <a:column name="class_usage" editorFunction="functionTreeGrid_editor" prompt="用途类型" width="120"/> <a:column name="enabled_flag" editor="grid_cb" prompt="启用" width="80"/> <a:column name="order_seq" align="right" editor="grid_nf" prompt="显示顺序" width="100"/> <a:column name="expand_flag" editor="grid_cb" prompt="是否展开" width="80"/> </a:columns> <a:editors> <a:numberField id="grid_nf" allowdecimals="false"/> <a:textField id="grid_tf"/> <a:checkBox id="grid_cb"/> <a:comboBox id="comboBoxEditor"/> </a:editors> </a:treeGrid> </a:screenBody> <script type="text/javascript"><![CDATA[ Leaf.onReady(init); function init() { //var a = $('csh_payment_reverse_ds').getSelected(); //var record = a[0]; //var record = $('csh_payment_reverse_ds').getAt(0); //record.set('bp_name'); var records = $('function_tree_ds').getAll(); var j = 0; for (var n = records.length - 1;n >= 0;n--) { if (records[n].get('top_level_flag') == 'Y') { j = j + 1; //records[n].getField('class_usage_desc').setReadOnly(false); //records[n].getField('class_usage').setReadOnly(false); } } if (j == 1) { var record = $('function_tree_ds').find('top_level_flag', 'Y'); record.set('expand_flag', 'Y'); record.getField('expand_flag').setReadOnly(true); } } ]]></script> </a:view> </a:screen>