//详细说明
例如:【方案管理】设计项上有一个【检查】按钮,点击检查按钮时,调出【用户管理】设计项的列表界面 ,选中调出的【用户管理】设计项列表上的多条记录,
关闭【用户管理】列表时,将选中的记录中的username赋值给【方案管理】设计项所对应的实体中的JianChaRenYuan字段中。
前端sencha.cmd【方案管理】设计项列表上【检查】按钮中的js代码
1 function(button, record, e) 2 { 3 debugger; // 中断调试指令,可以手动删除它 4 5 var me = this; // this 为列表视图控制器 6 var viewModel = this.getViewModel(); // 获取视图模型 7 var grid = this.getView(); // 获取到列表视图 8 var records = grid.getSelectionModel().getSelection(); // 获取到选中的记录数组 9 var record=records[0]; // 如果是单选模式则获取到第1条选中的行记录10 11 12 if (record.get('ShiFouGuiDang')==true)13 {14 Ext.Msg.alert('信息框',+record.get('FangAnMingChen')+'方案已归档不能选择检查人!');15 }16 if(record.get('XiaFaShiJian')!=""||null)17 {18 Ext.Msg.alert('信息框',+record.get('FangAnMingChen')+'方案已下发不能选择检查人!');19 }20 if(record.get('ShiFouGuiDang')==false&&record.get('XiaFaShiJian')==""||null)21 {22 23 var win = Ext.create('Ext.window.Window', {24 title: '选择'+record.get('FangAnGuanLi')+'的检查人员',25 height: '60%',26 width: '60%',27 closable: true,28 hideHeaders: true,29 layout: 'fit',30 items: { 31 xtype: util.getCodeGenerate1ClassName('用户管理','list'),32 title: null,33 JianGuanRenYuanID: record.get('JianGuanRenYuanID'),34 store:Ext.create(util.getCodeGenerate1ClassName('用户管理','Store'),{35 httpGetRequestExParams: { // 如使用本行代码只要求后台的方法中有参数QueryCondition(默认生成的List()方法中就包含有该参数)即可接收多字段查询条件。建议使用本行代码36 QueryCondition: {37 JianGuanRenYuanID:{38 Value1: record.get('JianGuanRenYuanID'),39 CompareMode: '等于' // 查询时的比较方式40 }41 }42 }43 })44 },45 listeners:{46 close:function(ct,eOpts)47 {48 var records = ct.down('grid').getSelection();49 if(record.length==0)50 return;51 else52 {53 var jianGuanRenYuanIDs = [];54 var jianGuanRenYuans =[];55 56 Ext.Array.each(records, function(record){57 jianGuanRenYuanIDs.push(record.get('ID'));58 jianGuanRenYuans.push(record.get('UserName'));59 60 });61 var params = {62 JianGuanRenYuans: jianGuanRenYuans,63 JianGuanRenYuanIDs:jianGuanRenYuanIDs,64 FangAnGuanLiID:record.get("ID")65 };66 ajax.get('/Pc/FangAnZhiXingPublic/XuanZeDuoGeJianGuanRenYuan', params).then(function (response, opts) {67 68 if (response.Success) {69 grid.getStore().reload(); // 弹出信息框,显示后台返回的成功信息。做为最佳实践,推荐显示后台返回的信息(1、防伪造;2、前端应只做展示少牵涉业务逻辑。)70 } else {71 Ext.Msg.alert('信息框',response.Errors.join('请求没有成功')); // 弹出信息框,显示后台返回的错误或失败信息72 }73 74 }); 75 }76 }77 }78 });79 80 grid.add(win);81 win.showBy(grid);82 }83 }
后端VS.Controller.cs文件中的方法为
1 public HyResultBase XuanZeDuoGeJianGuanRenYuan(string[] JianGuanRenYuans, string[] JianGuanRenYuanIDs, Guid FangAnGuanLiID) 2 { 3 4 var r = new HyResultBase(); 5 var fangAnGuanLi = _ioc.Query() 6 .Where(e => e.ID == FangAnGuanLiID) 7 .FirstOrDefault(); 8 var s = ""; 9 var q = "";10 for (var i = 0; i < JianGuanRenYuanIDs.Length; i++)11 {12 q += JianGuanRenYuanIDs[i] + "、";13 }14 for (var j = 0; j < JianGuanRenYuans.Length; j++)15 {16 s += JianGuanRenYuans[j] + "、";17 }18 fangAnGuanLi.JianGuanRenYuanID = q;19 fangAnGuanLi.JianGuanRenYuan = s;20 fangAnGuanLi.Update().SaveToDB();21 r.Success = true;22 return r;23 24 }