以医疗系统的医嘱审核作废为例,对某条数据的状态进行修改,在实现的过程中我们需要判断
医嘱是否已经执行,用户是否进行重复操作。
//点击审核作废按钮,作废医嘱
$("#toVoid").click(function () {
var records = getCheckedRecords();
var ReturnLength = 0;
if (records.length > 0) {
layer.confirm(“确定要将选中的医嘱作废吗?”, {
icon: 3,
btn: [“确定”, “取消”],
offset: “300px”
}, function (layerIndex) {
for (var i = 0; i < records.length; i++) {
var DoctorAdviceID = tabDoctorAdviceI.getRecordIndexValue(records[i], “DoctorAdviceID”);
var ExecutionStateID = tabDoctorAdviceI.getRecordIndexValue(records[i], “ExecutionStateID”);
if (ExecutionStateID != 4) {
if (ExecutionStateID == 2) {
$.post("ModifyState", { DoctorAdviceID: DoctorAdviceID, ExecutionStateID: 4,
Isverify: false, PerformDays: 0 }, function (msg) {
if (msg == true) {
ReturnLength++;
if (ReturnLength == records.length) {
doSearch();
layer.msg("已作废!", { icon: 1, skin: "layui-layer-molv", offset: "300px" });
}
}
});
} else {
tabDoctorAdviceI.refreshPage();
layer.alert("有医嘱正在执行,故该医嘱未进行操作!", { icon: 0, title: "提示", offset: "300px" });
}
} else {
tabDoctorAdviceI.refreshPage();
layer.alert("有医嘱已作废,故该医嘱未进行操作!", { icon: 0, title: "提示", offset: "300px" });
}
}
});
}
else {
layer.alert("请选择需要启用的医嘱!", { icon: 0, title: "提示", offset: "300px" });
}
});
把数据传输到控制器后进行判断
public ActionResult ModifyState(int DoctorAdviceID,bool Isverify,short ExecutionStateID,string PerformDays)
{
try
{
SYS_DoctorAdviceI modDoctr = myModels.SYS_DoctorAdviceI.Where(m => m.DoctorAdviceID == DoctorAdviceID).Single();
if(modDoctr != null)
{
modDoctr.Isverify = Isverify;//审核状态
modDoctr.ExecutionStateID = ExecutionStateID;//医嘱ID
modDoctr.PerformDays = PerformDays;//默认执行天数
//将数据写入数据库并更改
myModels.Entry(modDoctr).State = EntityState.Modified;
myModels.SaveChanges();
return Json(true, JsonRequestBehavior.AllowGet);
}
else
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
catch (Exception)
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}