码迷,mamicode.com
首页 > 其他好文 > 详细

一个设计项调用另一个设计项的(列表界面支持多选)

时间:2018-10-18 12:29:13      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:char   listener   anr   lse   classname   var   win   push   ODB   

//详细说明

例如:【方案管理】设计项上有一个【检查】按钮,点击检查按钮时,调出【用户管理】设计项的列表界面 ,选中调出的【用户管理】设计项列表上的多条记录,

关闭【用户管理】列表时,将选中的记录中的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                     else
52                     {
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<FangAnGuanLi>()
 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         }

 

一个设计项调用另一个设计项的(列表界面支持多选)

标签:char   listener   anr   lse   classname   var   win   push   ODB   

原文地址:https://www.cnblogs.com/jiaowoyaoshu/p/9809716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!