使用生成 URL 進入表單
本說明文件旨在解釋如何利用生成的 URL 來進入特殊表單。通過指定多個參數,可以根據需求自動生成 URL 並打開對應的表單。
步驟
1. 準備參數
首先,需要準備一組參數,這些參數將用於生成特定的 URL 來打開表單。這些參數包括但不限於:
tempShortcut
: 模板快捷方式defaultTempID
: 預設模板IDuser
: 使用者IDIdno: 使用者身分證號 (用來確認查閱管制病歷權限)
usernm
: 使用者名稱chtno
: 使用者健保卡號deptNo
: 科別編號opdno
: 門診號ck_enableF4
: 是否啟用F4ck_enableF2
: 是否啟用F2ck_F2Fix
: F2是否固定ck_hidePreset
: 是否隱藏預設scutsource
: 快捷來源(數組)scutgroup
: 快捷組別(數組)
2. 生成 URL
使用以下 C# 代碼生成 URL:
ck_defaultAssist 預設表單UUID
basePopup:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
public class Program
{
public static void Main()
{
var basePopup = "";
var parameters = new Dictionary<string, object>
{
{ "tempShortcut", "助手" },
{ "defaultTempID", ck_defaultAssist },
{ "user", IOTjson.user },
{ "usernm", IOTjson.usernm },
{ "chtno", IOTjson.chtno },
{ "deptNo", IOTjson.deptNo },
{ "opdno", IOTjson.opdno },
{ "ck_enableF4", false },
{ "ck_enableF2", false },
{ "ck_F2Fix", false },
{ "ck_hidePreset", true },
{ "scutsource", new string[] { "usr", "sub", "dpt", "sys" } },
{ "scutgroup", new string[] { "助手" } }
};
var urlCallout = BuildStructureUrl(basePopup, parameters);
OpenBrowser(urlCallout);
}
public static string BuildStructureUrl(string url, Dictionary<string, object> obj)
{
var query = HttpUtility.ParseQueryString(string.Empty);
foreach (var param in obj)
{
if (param.Value != null)
{
if (param.Value is Array array)
{
var json = new JavaScriptSerializer().Serialize(array);
query[param.Key] = json;
}
else
{
query[param.Key] = param.Value.ToString();
}
}
}
return url + query.ToString();
}
public static void OpenBrowser(string url)
{
var edgeUrl = "microsoft-edge:" + url;
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
{
FileName = edgeUrl,
UseShellExecute = true
});
}
// Mock data for demonstration purposes
static dynamic IOTjson = new
{
user = "user123",
usernm = "user name",
chtno = "chtno123",
deptNo = "dept123",
opdno = "opd123"
};
static string ck_defaultAssist = "defaultAssist123";
}
Last updated