用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();
    });
}

 

posted on 2018-11-22 20:00  叫我谣叔  阅读(459)  评论(0编辑  收藏  举报