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


    //详细说明

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

    关闭【用户管理】列表时,将选中的记录中的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              '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         }
  • 相关阅读:
    mysql基础之日志管理(查询日志、慢查询日志、错误日志、二进制日志、中继日志、事务日志)
    jQuery1.9.1针对checkbox的调整
    管理 sendmail 的邮件队列
    将以管理员方式运行cmd运行方式放到win7任务栏
    转 git操作小结
    [转]前端CSS规范整理
    jQuery 1.9不支持$.browser 怎么判断浏览器类型和版本
    js闭包陷阱问题
    关于NGINX下开启PHP-FPM 输出PHP错误日志的设置(已解决)
    PHP中cURL错误号对照[转]
  • 原文地址:https://www.cnblogs.com/jiaowoyaoshu/p/9809716.html
Copyright © 2020-2023  润新知