<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: huangtianyang $Date: 2018/9/17 上午9:43 $Revision: 1.0 --> <a:screen xmlns:a="http://www.leaf-framework.org/application" trace="true"> <a:init-procedure/> <a:view template="default" package="leaf.ui.std"> <a:link id="contact_list_query_link" model="contact.contact_list" modelaction="query"/> <div></div> <script type="text/javascript"><![CDATA[ //查询 function contact_list_query() { $('contact_list_ds').query(); } //重置 function contact_list_reset() { $('contact_list_query_ds').reset(); } //提交 function contact_list_submit() { var selection = user_record.get('user_ids'); console.log(selection); var userIds = selection.join(';'); Leaf.request({ url: $('contact_list_query_link').getUrl(), scope: userIds, para: { user_ids: selection.filter(function (value) { return value != undefined && value != ''; }).join() }, success: function (res) { var userIds = this; var records = res.result.record; if (!(res.result.record instanceof Array)) { records = new Array(records); } var users = records.map(function (value) { return value.description; }).join(';'); if ('${/parameter/@type}' === 'to') { $('mailCreateDs').data[0].set('mail_to_id', userIds); $('mailCreateDs').data[0].set('mail_to', users); } else { $('mailCreateDs').data[0].set('mail_cc_id', userIds); $('mailCreateDs').data[0].set('mail_cc', users); } } }) // var users = selection.map(function (value) { // var arr = $('contact_list_ds').data; // for (var i = 0; i < arr.length; i++) { // if (arr[i].get('user_id') == value) { // return arr[i].get('description'); // } // } // }).join(';'); // // console.log(users); // if ('${/parameter/@type}' === 'to') { // $('mailCreateDs').data[0].set('mail_to_id', userIds); // $('mailCreateDs').data[0].set('mail_to', users); // } else { // $('mailCreateDs').data[0].set('mail_cc_id', userIds); // $('mailCreateDs').data[0].set('mail_cc', users); // } } var user_record; init_user_ds(); function contact_list_handler(ds) { if ('${/parameter/@type}' === 'to') { user_record = $('user_to_ds').data[0]; } else { user_record = $('user_cc_ds').data[0]; } var userIds = user_record.get('user_ids'); var records = ds.getAll(); var selecteds = userIds.map(function (value) { for (var i = 0; i < records.length; i++) { if (value == records[i].get('user_id')) { return records[i]; } } }); selecteds.forEach(function (value) { ds.select(value); }); } function contact_list_select_handler(ds, record) { if (user_record.get('user_ids').every(function (value) { return value != record.get('user_id'); })) { user_record.get('user_ids').push(record.get('user_id')); } } function contact_list_unselect_handler(ds, record) { var arr = user_record.get('user_ids'); for (var i = 0; i < arr.length; i++) { if (arr[i] == record.get('user_id')) { arr.splice(i, 1); break; } } } ]]></script> <a:dataSets> <a:dataSet id="contact_list_query_ds" autoCreate="true"> <a:fields> <a:field name="description"/> <a:field name="user_name"/> </a:fields> </a:dataSet> <a:dataSet id="contact_list_ds" autoQuery="true" selectable="true" selectionModel="multiple" model="contact.contact_list" fetchAll="true" queryDataSet="contact_list_query_ds"> <a:events> <a:event name="load" handler="contact_list_handler"/> <a:event name="select" handler="contact_list_select_handler"/> <a:event name="unselect" handler="contact_list_unselect_handler"/> </a:events> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <!--<a:BaseViewComponent></a:BaseViewComponent>--> <a:gridButton click="contact_list_query" text="HLS.QUERY"/> <a:gridButton click="contact_list_reset" text="HLS.RESET"/> <a:gridButton click="contact_list_submit" text="HLS.SUBMIT"/> </a:screenTopToolbar> <a:form column="3" labelWidth="110" title="HLS.QUERY_TITLE"> <a:textField bindTarget="contact_list_query_ds" name="user_name" prompt="id"/> <a:textField bindTarget="contact_list_query_ds" name="description" prompt="用户名"/> </a:form> <a:grid id="contact_list_grid" autoAdjust="true" bindTarget="contact_list_ds" height="340" width="400" navBar="true"> <a:columns> <a:column name="user_name" prompt="id"/> <a:column name="description" prompt="用户名"/> </a:columns> </a:grid> </a:screenBody> </a:view> </a:screen>