• 用ajaxs请求向后端插入一条记录,然后将插入的这条新记录返回到前端,返回成功之后,调被插入记录对应的设计项的编辑界面,然后将所有插入的值写到被调的编辑界面上,然后对其进行编辑之后保存并打印着条记录


    //前端的代码为
    //先取到按钮所在列表界面上的ID,然后将列表界面上的ID赋值给将要调的【现场检查笔录】编辑界面上的AnJianID中,然后调出【现场检查笔录】的编辑界面
    function(button, e)
    {
        var me = this,                                            //this为列表视图控制器
            viewModel = me.getViewModel(),                        //获取视图模型
            record = viewModel.getData().data;                    //获取到当前记录    
        var params = {
            AnJianID:record.get('ID'),
            QiYeID: record.get('QiYeID')
        };
        
        ajax.get('/App/DangChangHangZhengChuFaJueDingShu/DangChangChuFa',params).then(function (response,opts) {
            if (response.Success)                       //注意:前端赋值时,要将实体记录中的所有字段重新赋值,包括 Timestame  CreatTime  BelongTenantID  BelongOrganizationPath 及ID。
            {  
                var record1 = Ext.create(util.getCodeGenerate1ClassName('当场行政处罚决定书','Model'), {
                    ID:response.Data.ID,
                    CreatedTime:response.Data.CreatedTime,
                    BelongTenantID:response.Data.BelongTenantID,
                    BelongOrganizationPath:response.Data.BelongOrganizationPath,
                    DangShiRen:response.Data.DangShiRen,
                    QiYeID:response.Data.QiYeID,
                    AnJianID:response.Data.AnJianID,
                    YingYeZhiZhaoHuoQiTaZiZhiZhengMing:response.Data.YingYeZhiZhaoHuoQiTaZiZhiZhengMing,
                    ZuZhiJiGouDaiMaHuoShenFenZhengHao:response.Data.ZuZhiJiGouDaiMaHuoShenFenZhengHao,
                    BianHao:response.Data.BianHao,
                    FaDingDaiBiaoRenHuoFuZeRen:response.Data.FaDingDaiBiaoRenHuoFuZeRen,
                    XingBie:response.Data.XingBie,
                    ZhiWu:response.Data.ZhiWu,
                    DiZhi:response.Data.DiZhi,
                    YouBian:response.Data.YouBian,
                    DianHua:response.Data.DianHua,
                    ChuFaDiDian:response.Data.ChuFaDiDian,
                    XingZhengSuSongDanWei:response.Data.XingZhengSuSongDanWei,
                    XingZhengFuYiDanWeiYi:response.Data.XingZhengFuYiDanWeiYi,
                    XingZhengFuYiDanWeiEr:response.Data.XingZhengFuYiDanWeiEr,
                    Timestamp:response.Data.Timestamp,
                    BelongTenantID:response.Data.BelongTenantID,
                    BelongOrganizationPath:response.Data.BelongOrganizationPath,
                    WenShuShiJian:response.Data.WenShuShiJian
         
                });  
                record1.phantom = false;
                record1.dirty = true;
                me.showView(util.getCodeGenerate1ClassName('当场行政处罚决定书','edit'), {
                    viewModel: {
                        data: {
                            //将模型绑定到data中
                            data: record1
                        }
                    }
                });
            }
            else 
            {
                Ext.toast(''+response.Errors.join('')+'');  // 弹出信息框,显示后台返回的错误或失败信息。
            }
        });  
    }

      

    //后端代码为
    
            /*这个方法是在点击手机端日常检查设计项的列表上的【当场处罚】按钮时,将按钮所在的记录中的企业ID,和案件ID,传到后台,
            然后根据企业ID和案件ID分别找到【DangChangXingZhengChuFaJueDingShu】实体中有【QiYe】实体中和【JianChaJiLu】实体中的字段,在【DangChangXingZhengChuFaJueDingShu】插入一条不完全的新记录,新记录中
            字段的值为对应的企业实体和检查记录实体中的值     
           */
    
            public ExtJsResult<DangChangXingZhengChuFaJueDingShu> DangChangChuFa(Guid QiYeID, Guid AnJianID)
            {
    
                var r = new ExtJsResult<DangChangXingZhengChuFaJueDingShu>();
                var qiYe = _ioc.Query<QiYe>()
                    .Where(e => e.ID == QiYeID)
                    .FirstOrDefault();
                var anJian = _ioc.Query<JianChaJiLu>()
                    .Where(e => e.ID == AnJianID & e.QiYeID == QiYeID)
                    .FirstOrDefault();
                var tenantID = _ioc.Identity().GetToken().TenantID;
                var f= _ioc.Query<HyTenant>().Where(e => e.ID == tenantID).FirstOrDefault().FullName;
              var d = _ioc.Query<DangChangXingZhengChuFaJueDingShu>().Where(e => e.AnJianID == AnJianID && e.QiYeID == QiYeID).ToList().Count();
                if (d == 0)
                 {
                var dangChangXingZhengChuFaJueDingShu = new DangChangXingZhengChuFaJueDingShu();
                    dangChangXingZhengChuFaJueDingShu.QiYeID = QiYeID;
                    dangChangXingZhengChuFaJueDingShu.AnJianID = AnJianID;
                    dangChangXingZhengChuFaJueDingShu.DangShiRen = qiYe.MingChen;
                    dangChangXingZhengChuFaJueDingShu.YingYeZhiZhaoHuoQiTaZiZhiZhengMing = qiYe.JingYingLeiBie;
                    dangChangXingZhengChuFaJueDingShu.ZuZhiJiGouDaiMaHuoShenFenZhengHao = qiYe.FaDingoDaiBiaoRenShenFenZhengHao;
                    dangChangXingZhengChuFaJueDingShu.BianHao = qiYe.XuKeZhengBianHao;
                    dangChangXingZhengChuFaJueDingShu.FaDingDaiBiaoRenHuoFuZeRen = qiYe.FaDingDaiBiaoRen;
                    dangChangXingZhengChuFaJueDingShu.XingBie = qiYe.XingBie;
                    dangChangXingZhengChuFaJueDingShu.ZhiWu = qiYe.ZhiWu;
                    dangChangXingZhengChuFaJueDingShu.DiZhi = qiYe.DiZhi;
                    dangChangXingZhengChuFaJueDingShu.YouBian = qiYe.YouBian;
                    dangChangXingZhengChuFaJueDingShu.DianHua = qiYe.FaRenLianXiFangShi;
                    dangChangXingZhengChuFaJueDingShu.ChuFaDiDian = qiYe.DiZhi;
                    dangChangXingZhengChuFaJueDingShu.XingZhengFuYiDanWeiEr = f;
                    dangChangXingZhengChuFaJueDingShu.XingZhengFuYiDanWeiYi = f;
                    dangChangXingZhengChuFaJueDingShu.XingZhengSuSongDanWei = f;
                    dangChangXingZhengChuFaJueDingShu.WenShuShiJian = DateTime.Now;
                    dangChangXingZhengChuFaJueDingShu.Insert().SaveToDBAsync().Wait();
                }
                    r.Success = true;
                    r.Data = _ioc.Query<DangChangXingZhengChuFaJueDingShu>().Where(e => e.QiYeID == QiYeID && e.AnJianID == AnJianID).OrderByDescending(e=>e.CreatedTime).FirstOrDefault();
                
               
    
                return r;
            }
    //编辑后的保存按钮
    function(button, e) 
    {
        debugger; // 中断调试指令,可以手动删除它
    
        var me = this,
            view = me.getView();
        store = view.store;
        me.modelSaveByStore(store, true, true).then(function (response) {
            var AnJianID=response.record.get('AnJianID');
            var url = util.urlFillAll('/App/DangChangHangZhengChuFaJueDingShu/DaYin?Command=下载PDF格式&AnJianID='+ AnJianID);
            var fileType = 'PDF';
            devicecomm.print(url, fileType, function (successStr) {
                //alert(successStr);
            }, function (errorStr) {
                alert(errorStr);
            });
            /*  回调参数response定义如下:
                response = {
                    Success: true,  // 值为bool,代表后台执行成功或失败
                    Messages:['后台返回的消息1','后台返回的消息2',....],     // 值为字符串数组,内容是后台执行成功时返回的消息。数量是由后台决定的
                    Errors:['后台返回的消息1','后台返回的消息2',....],     // 值为字符串数组,内容是后台执行失败时返回的消息。数量是由后台决定的
                    record: {保存后的记录},  // 值为保存后的记录(时间戳也已被更新),可以用record.get('字段名')获取字段值。
                    isAdd: true // 值为bool,代表本次保存是针对新增还是编辑操作的
                }
            */
            // 此处是保存成功后的回调函数体,请在此输入你的代码  
            Ext.toast(response.Messages.join(''));  // 弹出信息框,显示后台返回的成功信息。做为最佳实践,推荐显示后台返回的信息(1、防伪造;2、前端应只做展示少牵涉业务逻辑。)
            me.onBack();
        });
    }
  • 相关阅读:
    【EF学习笔记05】----------操作内存中的数据
    【EF学习笔记05】----------DBContext基础查询
    【EF学习笔记04】----------EF简单增删改查
    【EF学习笔记03】----------使用原生Sql语句
    EntityFramework追踪Sql语句
    博客园自定义样式(标题 h1 h2 h3)
    SQLserver2012 修改数据库架构
    IIS7 配置URL_REWRITE
    maven项目使用mybatis-generator自动生成代码
    myeclipse关闭properties文件自动转义
  • 原文地址:https://www.cnblogs.com/jiaowoyaoshu/p/10003545.html
Copyright © 2020-2023  润新知