2023年6月14日 作业记录

2023年6月14日记录

作业内容

  1. 手术列表增加团队指导,麻醉医生可编辑
  2. 手术审核功能增加
  3. 限制申请截至时间,只限制第二天

1.实现手术列表,表单点击可编辑,失焦保存到数据库

!如图
代码实现

1.1.前端实现可编辑

function initOperListGrid() {
	var columns = [[
		// 添加 editor 类型为 textarea
		{ field: "TeamLeader", title: "团队指导", width: 80, editor: { type: 'textarea' } },
	]];
}

1.2.前端配置编辑后的操作

// Description:编辑后操作
// 2023年6月14日
function editorAfterEdit(rowIndex, rowData, changes) {
    var result = null;

    // 保存 团队指导 -> TeamLeader
    if (changes.TeamLeader || changes.TeamLeader === "") {
        if (changes.TeamLeader === "" || changes.TeamLeader === undefined) { rowData.TeamLeader = ""; }
        else {
            if (operList.TeamLeader) {
                rowData.TeamLeader = operList.TeamLeader;
            }
        }

		// 调用后端 OperArrange.UpdateTeamLeader() 并返回执行结果 result
        result = dhccl.runServerMethod(ANCLS.BLL.OperArrange, "UpdateTeamLeader", rowData.RowId, rowData.TeamLeader, session.UserID);
    }
    
    if (result) {
        if (result.success) { $("#operlistBox").datagrid("refreshRow", rowIndex); }
        else { $.messager.alert("提示", "手术列表信息保存失败:", + result.result, "error"); }
    }
}

1.3.前端配置编辑后调用

// datagrid 中配置 编辑前 编辑后 调用的函数
$("#operlistBox").datagrid({
	onBeginEdit: function (rowIndex, rowData) {
	    operList.editIndex = rowIndex;
	    operList.editData = rowData;
	},
	onAfterEdit: editorAfterEdit,
});

1.4.增加后端函数

/// 更新团队指导
/// 2023年6月14日
/// 注:没有写日志
ClassMethod UpdateTeamLeader(opsId As %String, TeamLeader As %String, userId As %String) As %String
{
	quit:(##class(CIS.AN.OperSchedule).%ExistsId(opsId)=0) "E^手术记录不存在!"
	set operSchedule=##class(CIS.AN.OperSchedule).%OpenId(opsId)
	
	set operSchedule.TeamLeader=TeamLeader
	set status=operSchedule.%Save()
	
	if ($System.Status.IsError(status))
	{
		quit "E^"_$System.Status.GetErrorText(status)	
	}	
	
	quit "S^"
}

1.5.遗留问题

CIS_AN.OperSchedule 表中没有麻醉医师属性列

麻醉医师保存在对应的麻醉表中,手术表只存麻醉医师的ID


2.手术申请只限制 DeadLine 之后 24H 的申请

posted @ 2023-06-19 13:05  李八御  阅读(17)  评论(0)    收藏  举报