//前端的代码为 //先取到按钮所在列表界面上的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(); }); }