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

Posted 叫我谣叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个设计项调用另一个设计项的(列表界面支持多选)相关的知识,希望对你有一定的参考价值。

//详细说明

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

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

 

以上是关于一个设计项调用另一个设计项的(列表界面支持多选)的主要内容,如果未能解决你的问题,请参考以下文章

在已转出档案设计项列(用的实体为a)表界面上有一个转出详情按钮,点击转出详情按钮时调出档案转出记录设计项的编辑界面(用的实体为b),筛选条件为DangAnID=ID的代码如下

手把手教你做音乐播放器存储多首音乐

Lodop打印设计界面生成代码带”...(省略)”

Tutorial Master 2丨设计引导项的小技巧,提高你的开发效率

Tutorial Master 2丨设计引导项的小技巧,提高你的开发效率

wpf控件设计时支持