上一篇实现了虚拟M层,这篇基于虚拟M实现打印导出。
首先对接打印层
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace DHCLabtrakReportPrint
{
///
/// 虚拟M调用类
///
public class VMGetData
{
///
/// 虚拟M执行服务
///
public static IVMGetData Service
{
get;
set;
}
///
/// 调用虚拟M类返回数据
///
/// 类名
/// 方法名
/// 参数
/// 会话
/// 行数
///
public static string GetData(string Address, string ClassName, string FuncName, Parameters Param, string Session)
{
string result = string.Empty;
DealNullPara(Param);
//内部通道调用
if (Service != null)
{
result = Service.GetVMData(ClassName, FuncName, JsonConvert.SerializeObject(Param), Session);
//调用报错了
if (!result.Contains("" ))
{
result = "-1 " + result + "0 ";
}
}
else
{
NewWebClient wCient = new NewWebClient();
try
{
System.Collections.Specialized.NameValueCollection values = new System.Collections.Specialized.NameValueCollection();
values.Add("Method", "GetData");
values.Add("ClassName", ClassName);
values.Add("FuncName", FuncName);
values.Add("Param", JsonConvert.SerializeObject(Param));
values.Add("Session", Session);
wCient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] responseData = wCient.UploadValues(Address, "POST", values);
//返回接受的数据
result = System.Text.Encoding.UTF8.GetString(responseData);
//调用报错了
if (!result.Contains("" ))
{
result = "-1 " + result + "0 ";
}
}
catch (Exception ex)
{
result += ",异常信息:" + ex.Message + ",调用:" + ClassName + "," + FuncName + "," + Param + "," + Session;
}
finally
{
if (wCient != null)
{
wCient.Dispose();
}
}
}
return result;
}
///
/// 处理空参数
///
///
private static void DealNullPara(Parameters Param)
{
if (Param.P0 == null)
{
Param.P0 = "";
}
if (Param.P1 == null)
{
Param.P1 = "";
}
if (Param.P2 == null)
{
Param.P2 = "";
}
if (Param.P3 == null)
{
Param.P3 = "";
}
if (Param.P4 == null)
{
Param.P4 = "";
}
if (Param.P5 == null)
{
Param.P5 = "";
}
if (Param.P6 == null)
{
Param.P6 = "";
}
if (Param.P7 == null)
{
Param.P7 = "";
}
if (Param.P8 == null)
{
Param.P8 = "";
}
if (Param.P9 == null)
{
Param.P9 = "";
}
if (Param.P10 == null)
{
Param.P10 = "";
}
if (Param.P11 == null)
{
Param.P11 = "";
}
if (Param.P12 == null)
{
Param.P12 = "";
}
if (Param.P13 == null)
{
Param.P13 = "";
}
if (Param.P14 == null)
{
Param.P14 = "";
}
}
///
/// 继承客户端
///
public class NewWebClient : System.Net.WebClient
{
///
/// 超时时间
///
private int timeout;
///
/// 超时时间(毫秒)
///
public int Timeout
{
get
{
return timeout;
}
set
{
timeout = value;
}
}
///
/// 默认时间
///
public NewWebClient()
{
this.timeout = 300000;
}
///
/// 指定时间
///
///
public NewWebClient(int timeout)
{
this.timeout = timeout;
}
///
/// 重载
///
///
///
protected override System.Net.WebRequest GetWebRequest(Uri address)
{
var result = base.GetWebRequest(address);
result.Timeout = this.timeout;
return result;
}
}
}
}
然后实现打印和导出的后台虚拟M逻辑
导出
import LIS.Core.Dto.OutParam;
import LIS.Model.Entity.BTTestCode;
import appcode.BaseHttpHandlerNoSession;
import appcode.Helper;
import java.util.List;
/**
* 输出符合Query约定的数据供导出Excel用,所有的虚拟M方法参数约定就是这个样子
*/
public class ExportExcelTest extends BaseHttpHandlerNoSession {
/**
* 查询所有项目数据导出到Excel
* @param P0
* @param P1
* @param P2
* @param P3
* @param P4
* @param P5
* @param P6
* @param P7
* @param P8
* @param P9
* @param P10
* @param P11
* @param P12
* @param P13
* @param Session
* @param Output
* @return
*/
public String QryTestCode(String P0, String P1, String P2, String P3, String P4, String P5, String P6, String P7, String P8, String P9, String P10, String P11, String P12, String P13, OutParam Session, OutParam Output) throws Exception{
BTTestCode dto=new BTTestCode();
//返回的参数,供Excel模板使用
Session.Message="项目数据导出1^"+LIS.Core.Util.TimeParser.GetNowDate()+"^zhanglianzhu";
//查询项目数据
List<BTTestCode> retList=EntityManager().FindAll(dto,null,"",-1,-1);
//数组转json就是等价Query的
return Helper.Object2Json(retList);
}
}
打印
import LIS.Core.Dto.OutParam;
import LIS.Core.Dto.PrintElement;
import LIS.Core.Util.PrintDrawProtocol;
import appcode.BaseHttpHandlerNoSession;
import appcode.Helper;
import java.util.ArrayList;
import java.util.List;
/**
* 输出符合打印元素绘制协议的打印元素数据,来供打印执行层打印
*/
public class PrintBarCodeTest extends BaseHttpHandlerNoSession {
/**
* 按传入的RowID输出符合打印元素绘制协议的数据来实现打印控制
* @param RowID 业务主键
* @param P1
* @param P2
* @param P3
* @param P4
* @param P5
* @param P6
* @param P7
* @param P8
* @param P9
* @param P10
* @param P11
* @param P12
* @param P13
* @param Session
* @param Output
* @return
*/
public String GetData(String RowID, String P1, String P2, String P3, String P4, String P5, String P6, String P7, String P8, String P9, String P10, String P11, String P12, String P13, OutParam Session, OutParam Output) {
List<PrintElement> retList=new ArrayList<>();
retList.add(PrintDrawProtocol.DrawLabel(10,10,"zhanglianzhu","宋体","12","","","","0"));
retList.add(PrintDrawProtocol.DrawBarCode(10,50,"0947809",true,5,30,"","宋体","12","","","","0"));
retList.add(PrintDrawProtocol.DrawLine(10,70,70,70,"","",""));
retList.add(PrintDrawProtocol.DrawQRCode(10,90,"jbase",90,90));
retList.add(PrintDrawProtocol.DrawLabel(10,210,"jbase打印支持","宋体","12","","","","0"));
retList.add(PrintDrawProtocol.DrawLabel(10,230,"20231118 22:49","宋体","12","","","","0"));
//先包一个打印元素绘制协议数据生成的工具类来解决元素约束问题,工具类实现了调用工具类得到标签,条码,文本等
return Helper.Object2Json(retList);
}
}
界面加打印和导出调用逻辑测试
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>BTTestCode供拷贝代码使用title>
<link rel="shortcut icon" href="../../resource/common/images/favicon.ico" />
<script src="../../resource/common/js/lis-commonHISUI.js" type="text/javascript">script>
<script src="../../lisprint/js/LisPrint.js" type="text/javascript">script>
<script language="javascript" type="text/javascript">
LISSYSPageCommonInfo.Init();
var BasePath = '';
var ResourcePath = '';
var WebServicAddress = LISSYSPageCommonInfo.Data.WebServicAddress;
//var UserDR = LISSYSPageCommonInfo.Data.Sesssion.UserDR;
//var WorkGroupDR = LISSYSPageCommonInfo.Data.Sesssion.WorkGroupDR;
//var sysTheme = LISSYSPageCommonInfo.Data.Sesssion.Theme;
var SessionStr = LISSYSPageCommonInfo.Data.SessionStr;
script>
<script type="text/javascript">
//全局变量
var me = {
actionUrl: '../ashx/ashBTTestCode.ashx'
};
//jquery入口
$(function () {
//导出Excel
$("#btnExportBTTestCode").click(function () {
var para = {};
var tempPath = DealExportExcelTMPName("导出测试.xls");
LISBasePrint('Export@' + WebServicAddress + '@vm.test.ExportExcelTest@QryTestCode@' + JSON.stringify(para) + '@' + SessionStr + '@' + tempPath + '@0');
});
//打印
$("#btnPrintBTTestCode").click(function () {
//0:打印所有报告 1:循环打印每一份报告
var printFlag = "0";
var userCode = "";
//打印参数
var paramList = "";
//PrintOut:打印 PrintPreview打印预览
var printType = "PrintPreview";
var printPara = "1";
var Param = printFlag + "@" + WebServicAddress + "@" + printPara + "@" + userCode + "@" + printType + "@" + paramList + "@vm.test.PrintBarCodeTest@GetData";
LISBasePrint(Param);
});
//新增数据点击
$("#btnAddBTTestCode").click(function () {
$("#txtBTTestCodeRowID").val("");
$('#winEditBTTestCode').window({
title: TranslateDataMTHD('Add Data', '新增数据', ''),
modal: true
});
});
//修改数据点击
$("#btnUpdateBTTestCode").click(function () {
UpdateBTTestCode();
});
//修改数据
function UpdateBTTestCode(row)
{
var selectRow = $('#dgBTTestCode').datagrid("getSelected");
if(row!=null)
{
selectRow=row;
}
if (selectRow == null) {
$.messager.alert(TranslateDataMTHD('Info', '提示', ''), TranslateDataMTHD('Please select the data to modify', '请选择要修改的数据!', ''), 'info');
return;
}
$("#formBTTestCode").form('load', selectRow);
$('#winEditBTTestCode').window({
title: TranslateDataMTHD('Update Data', '修改数据', ''),
modal: true
});
}
//删除数据点击
$("#btnDeleteBTTestCode").click(function () {
var checkRow = $('#dgBTTestCode').datagrid("getChecked");
var selectRow = $('#dgBTTestCode').datagrid("getSelected");
if ((checkRow == null || checkRow.length == 0)&&selectRow==null) {
$.messager.alert(TranslateDataMTHD('Info', '提示', ''), TranslateDataMTHD('Please select the data to delete', '请勾选要删除的数据!', ''), 'info');
return;
}
if ((checkRow == null || checkRow.length == 0)) {
checkRow=[selectRow];
}
var RowIDS = "";
for (var i = 0; i < checkRow.length; i++) {
if (i == 0) {
RowIDS = checkRow[i].RowID;
}
else {
RowIDS += "^" + checkRow[i].RowID;
}
}
$.messager.confirm(TranslateDataMTHD('Info', '提示', ''), TranslateDataMTHD('Do you want to delete the selected data', '是否要删除选择的数据?', '') , function (r) {
if (r) {
//开启等待
$.messager.progress({ text: TranslateDataMTHD("Deleting data","正在删除数据", ""), interval: 500 });
setTimeout(function () {
$.messager.progress('close');
}, 8000);
//往后台提交数据
$.ajax({
type: "post",
dataType: "json",
cache: false, //
async: true, //为true时,异步,不等待后台返回值,为false时强制等待;-asir
url: me.actionUrl + '?Method=DeleteBTTestCode',
data: { RowIDS: RowIDS },
success: function (data, status) {
$.messager.progress('close');
if (!FilterBackData(data)) {
return;
}
if (!data.IsOk) {
$.messager.alert(TranslateDataMTHD("Error message", "错误提示", ""), TranslateDataMTHD("failed to dalete data, error message:", "删除失败,错误信息:", "") + data.Message);
}
else {
QryBTTestCode();
$.messager.show({
title: TranslateDataMTHD("Info", "提示", ""),
msg: TranslateDataMTHD("Successfully deleted!", "删除成功!", ""),
timeout: 500,
showType: 'slide'
});
}
}
});
}
});
});
//保存数据
$("#btnSaveBTTestCode").click(function () {
var saveData = jQuery.parseJSON($("#formBTTestCode").serializeObject());
//开启等待
$.messager.progress({ text: TranslateDataMTHD("Saving data","正在保存数据", ""), interval: 500 });
setTimeout(function () {
$.messager.progress('close');
}, 8000);
//往后台提交数据
$.ajax({
type: "post",
dataType: "json",
cache: false, //
async: true, //为true时,异步,不等待后台返回值,为false时强制等待;-asir
url: me.actionUrl + '?Method=SaveBTTestCode',
data: saveData,
success: function (data, status) {
$.messager.progress('close');
if (!FilterBackData(data)) {
return;
}
if (!data.IsOk) {
$.messager.alert(TranslateDataMTHD("Error message", "错误提示", ""), TranslateDataMTHD("failed to dalete data, error message:", "删除失败,错误信息:", "") + data.Message);
}
else {
QryBTTestCode();
$.messager.show({
title: TranslateDataMTHD("Info", "提示", ""),
msg: TranslateDataMTHD("Successfully saveed!", "保存成功!", ""),
timeout: 500,
showType: 'slide'
});
$('#winEditBTTestCode').window("close");
}
}
});
});
//关闭窗口
$("#btnCloseBTTestCode").click(function () {
$('#winEditBTTestCode').window("close");
});
//构造查询事件
$("#txtFilterBTTestCode").searchbox({
searcher: function (value, name) {
QryBTTestCode();
},
prompt: TranslateDataMTHD('Enter query', '回车查询', '')
});
//医院下拉表格渲染
$('#txtBTTestCodeHospitalDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTHospital", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeHospitalDR').combogrid("showSelectWin");
//检测方法下拉表格渲染
$('#txtBTTestCodeTestMethodDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTTestMethod", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeTestMethodDR').combogrid("showSelectWin");
//计算项布尔渲染
$('#txtBTTestCodeIsCalculate').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//收费项目下拉表格渲染
$('#txtBTTestCodeCostItemDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTCostItem", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeCostItemDR').combogrid("showSelectWin");
//独立医嘱套下拉表格渲染
$('#txtBTTestCodeTestSetDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTTestSet", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeTestSetDR').combogrid("showSelectWin");
//状态布尔渲染
$('#txtBTTestCodeActive').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//是否判断定性布尔渲染
$('#txtBTTestCodeIsCheckText').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//是否允许负数布尔渲染
$('#txtBTTestCodeIsAllowNegative').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//是否允许非数字布尔渲染
$('#txtBTTestCodeIsAllowNoNumeric').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//结果判断布尔渲染
$('#txtBTTestCodeIsExcJudgeRule').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//项目类别下拉表格渲染
$('#txtBTTestCodeItemClassDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTItemClass", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeItemClassDR').combogrid("showSelectWin");
//所属科室下拉表格渲染
$('#txtBTTestCodeDepartmentDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTDepartment", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeDepartmentDR').combogrid("showSelectWin");
//是否实时计算布尔渲染
$('#txtBTTestCodeIsRealCal').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//重新编辑布尔渲染
$('#txtBTTestCodeReEditFlag').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//计算项不计算布尔渲染
$('#txtBTTestCodeNoCalFlag').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//质控项目下拉表格渲染
$('#txtBTTestCodeQCTestCodeDR').combogrid({
panelWidth: 350,
idField: 'RowID',
width: 205,
textField: 'CName',
url: me.actionUrl + '?Method=CommonQueryView&data='+JSON.stringify({ ModelName: "BTTestCode", Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),
columns: [[
{ field: 'RowID', title: '主键', width: 60 },
{ field: 'CName', title: '名称', width: 260 }
]]
});
$('#txtBTTestCodeQCTestCodeDR').combogrid("showSelectWin");
//文本等于校验布尔渲染
$('#txtBTTestCodeCheckEqual').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//参考范围只维护正常范围布尔渲染
$('#txtBTTestCodeIsNormalRange').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//是否允许零值布尔渲染
$('#txtBTTestCodeIsAllowZero').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//允许删除布尔渲染
$('#txtBTTestCodeAllowDelete').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//允许拆分布尔渲染
$('#txtBTTestCodeAllowSplit').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//允许追踪布尔渲染
$('#txtBTTestCodeAllowTrace').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//不导出布尔渲染
$('#txtBTTestCodeIsNoExport').combobox({
valueField:'RowID',
textField:'CName',
width: 205,
data: [{"RowID":"0","CName":TranslateDataMTHD('No', '否', '')},{"RowID":"1","CName":TranslateDataMTHD('Yes', '是', '')}]
});
//BTTestCode表格
$('#dgBTTestCode').datagrid({
remoteSort:false,
singleSelect: true,
toolbar: "#dgBTTestCodeToolBar",
fit: true,
onSelect: function (index, row) {
//方便拷贝到子表查询用
var selectBTTestCode=$('#dgBTTestCode').datagrid("getSelected");
},
onDblClickRow: function (index, row) {
UpdateBTTestCode(row);
},
columns: [[
{ field: 'ChkFlag', title: TranslateDataMTHD('Check', '选择', ''), width: 20, sortable: true, align: 'center', checkbox: true },
{ field: 'RowID', title: TranslateDataMTHD('RowID', '主键', '') , width: 150, sortable: true },
{ field: 'Code', title: TranslateDataMTHD('Code', '代码', '') , width: 150, sortable: true },
{ field: 'CName', title: TranslateDataMTHD('CName', '名称', '') , width: 150, sortable: true },
{ field: 'HospitalDRName', title: TranslateDataMTHD('HospitalDRName', '医院', '') , width: 150, sortable: true },
{ field: 'LName', title: TranslateDataMTHD('LName', '全称', '') , width: 150, sortable: true },
{ field: 'EName', title: TranslateDataMTHD('EName', '英文名称', '') , width: 150, sortable: true },
{ field: 'Synonym', title: TranslateDataMTHD('Synonym', '缩写', '') , width: 150, sortable: true },
{ field: 'Units', title: TranslateDataMTHD('Units', '单位', '') , width: 150, sortable: true },
{ field: 'ResultFormat', title: TranslateDataMTHD('ResultFormat', '结果格式', '') , width: 150, sortable: true },
{ field: 'Precision', title: TranslateDataMTHD('Precision', '精确度', '') , width: 150, sortable: true },
{ field: 'TestMethodDRName', title: TranslateDataMTHD('TestMethodDRName', '检测方法', '') , width: 150, sortable: true },
{ field: 'IsCalculate', title: TranslateDataMTHD('IsCalculate', '计算项', '') , width: 150, sortable: true },
{ field: 'LonicCode', title: TranslateDataMTHD('LonicCode', 'LONIC码', '') , width: 150, sortable: true },
{ field: 'SCode', title: TranslateDataMTHD('SCode', '标准码', '') , width: 150, sortable: true },
{ field: 'SOPContent', title: TranslateDataMTHD('SOPContent', 'SOP内容', '') , width: 150, sortable: true },
{ field: 'SOPFile', title: TranslateDataMTHD('SOPFile', 'SOP文件', '') , width: 150, sortable: true },
{ field: 'HISCode', title: TranslateDataMTHD('HISCode', 'HIS对照码', '') , width: 150, sortable: true },
{ field: 'CostItemDRName', title: TranslateDataMTHD('CostItemDRName', '收费项目', '') , width: 150, sortable: true },
{ field: 'Price', title: TranslateDataMTHD('Price', '价格', '') , width: 150, sortable: true },
{ field: 'ClinicalSignifyS', title: TranslateDataMTHD('ClinicalSignifyS', '临床意义简述', '') , width: 150, sortable: true },
{ field: 'ClinicalSignifyL', title: TranslateDataMTHD('ClinicalSignifyL', '临床意义描述', '') , width: 150, sortable: true },
{ field: 'TestSetDRName', title: TranslateDataMTHD('TestSetDRName', '独立医嘱套', '') , width: 150, sortable: true },
{ field: 'PrintOrder', title: TranslateDataMTHD('PrintOrder', '打印顺序', '') , width: 150, sortable: true },
{ field: 'Sequence', title: TranslateDataMTHD('Sequence', '序号', '') , width: 150, sortable: true },
{ field: 'Active', title: TranslateDataMTHD('Active', '状态', '') , width: 150, sortable: true },
{ field: 'CalculateFormula', title: TranslateDataMTHD('CalculateFormula', '计算公式', '') , width: 150, sortable: true },
{ field: 'RefRanges', title: TranslateDataMTHD('RefRanges', '参考范围', '') , width: 150, sortable: true },
{ field: 'IsCheckText', title: TranslateDataMTHD('IsCheckText', '是否判断定性', '') , width: 150, sortable: true },
{ field: 'RefField', title: TranslateDataMTHD('RefField', '特殊报告用', '') , width: 150, sortable: true },
{ field: 'IsAllowNegative', title: TranslateDataMTHD('IsAllowNegative', '是否允许负数', '') , width: 150, sortable: true },
{ field: 'IsAllowNoNumeric', title: TranslateDataMTHD('IsAllowNoNumeric', '是否允许非数字', '') , width: 150, sortable: true },
{ field: 'IsExcJudgeRule', title: TranslateDataMTHD('IsExcJudgeRule', '结果判断', '') , width: 150, sortable: true },
{ field: 'ItemClassDRName', title: TranslateDataMTHD('ItemClassDRName', '项目类别', '') , width: 150, sortable: true },
{ field: 'DepartmentDRName', title: TranslateDataMTHD('DepartmentDRName', '所属科室', '') , width: 150, sortable: true },
{ field: 'IsRealCal', title: TranslateDataMTHD('IsRealCal', '是否实时计算', '') , width: 150, sortable: true },
{ field: 'UnacceptLow', title: TranslateDataMTHD('UnacceptLow', '排除低值', '') , width: 150, sortable: true },
{ field: 'UnacceptHigh', title: TranslateDataMTHD('UnacceptHigh', '排除高值', '') , width: 150, sortable: true },
{ field: 'ReEditFlag', title: TranslateDataMTHD('ReEditFlag', '重新编辑', '') , width: 150, sortable: true },
{ field: 'NoCalFlag', title: TranslateDataMTHD('NoCalFlag', '计算项不计算', '') , width: 150, sortable: true },
{ field: 'QCTestCodeDRName', title: TranslateDataMTHD('QCTestCodeDRName', '质控项目', '') , width: 150, sortable: true },
{ field: 'CheckEqual', title: TranslateDataMTHD('CheckEqual', '文本等于校验', '') , width: 150, sortable: true },
{ field: 'IsNormalRange', title: TranslateDataMTHD('IsNormalRange', '参考范围只维护正常范围', '') , width: 150, sortable: true },
{ field: 'ShareFlag', title: TranslateDataMTHD('ShareFlag', '结果互认标记', '') , width: 150, sortable: true },
{ field: 'IsAllowZero', title: TranslateDataMTHD('IsAllowZero', '是否允许零值', '') , width: 150, sortable: true },
{ field: 'QCPatVisEval', title: TranslateDataMTHD('QCPatVisEval', '评估标准', '') , width: 150, sortable: true },
{ field: 'AllowDelete', title: TranslateDataMTHD('AllowDelete', '允许删除', '') , width: 150, sortable: true },
{ field: 'AllowSplit', title: TranslateDataMTHD('AllowSplit', '允许拆分', '') , width: 150, sortable: true },
{ field: 'AllowTrace', title: TranslateDataMTHD('AllowTrace', '允许追踪', '') , width: 150, sortable: true },
{ field: 'DefaultResult', title: TranslateDataMTHD('DefaultResult', '默认结果', '') , width: 150, sortable: true },
{ field: 'IsNoExport', title: TranslateDataMTHD('IsNoExport', '不导出', '') , width: 150, sortable: true },
{ field: 'CVValue', title: TranslateDataMTHD('CVValue', '允许CV值', '') , width: 150, sortable: true },
{ field: 'CVSource', title: TranslateDataMTHD('CVSource', '允许CV值来源', '') , width: 150, sortable: true },
{ field: 'SigmaValue', title: TranslateDataMTHD('SigmaValue', '本室的σ值', '') , width: 150, sortable: true },
{ field: 'SplitTSName', title: TranslateDataMTHD('SplitTSName', '拆分医嘱名称', '') , width: 150, sortable: true }
]]
});
//查询BTTestCode
function QryBTTestCode() {
var Filter = $("#txtFilterBTTestCode").searchbox("getValue");
//开启等待,默认注释,在单击事件调用的逻辑启用等待会冲掉双击事件,按需要开启
//$.messager.progress({ text: TranslateDataMTHD("Querying data","正在查询数据", ""), interval: 500 });
//setTimeout(function () {
//$.messager.progress('close');
//}, 8000);
$.ajax({
type: "post",
dataType: "json",
cache: false, //
async: true, //为true时,异步,不等待后台返回值,为false时强制等待;-asir
url: me.actionUrl + '?Method=QryBTTestCode',
data: { Filter: Filter },
success: function (data, status) {
//结束等待
//$.messager.progress('close');
$('#dgBTTestCode').datagrid("loadData", data);
}
});
};
//执行查询数据
QryBTTestCode();
});
script>
head>
<body>
<div class="hisui-layout" fit="true" style="border: none;">
<div data-options="region:'center',title:''" style="border: none;">
<div id="dgBTTestCodeToolBar" style="padding: 3px 0px 3px 10px;">
<a id="btnAddBTTestCode" href="#" class="hisui-linkbutton" data-options="iconCls:'icon-add'" plain="true" listranslate="html~Add">新增a>
<a id="btnUpdateBTTestCode" href="#" class="hisui-linkbutton" data-options="iconCls:'icon-write-order'" plain="true" listranslate="html~Mod">修改a>
<a id="btnDeleteBTTestCode" href="#" class="hisui-linkbutton" data-options="iconCls:'icon-cancel'" plain="true" listranslate="html~Del">删除a>
<a id="btnExportBTTestCode" href="#" class="hisui-linkbutton" data-options="iconCls:'icon-excel'" plain="true" listranslate="html~Export">导出a>
<a id="btnPrintBTTestCode" href="#" class="hisui-linkbutton" data-options="iconCls:'icon-print'" plain="true" listranslate="html~Print">打印a>
<input id="txtFilterBTTestCode" style="margin-left: 14px; width: 240px;">input>
div>
<table id="dgBTTestCode" title="" iconcls="icon-paper" listranslate="title~BTTestCode">table>
div>
<div id="winEditBTTestCode" style="padding: 10px 0px 0px 10px;width:1140px;height:786px;">
<form id="formBTTestCode" name="edit_form" method="post">
<input type="hidden" id="txtBTTestCodeRowID" name="RowID" value="0" />
<table>
<tr>
<td class="lisar" listranslate="html~Code">代码td>
<td class="lisal"><input id="txtBTTestCodeCode" type="text" name="Code" style="width:200px;" class="hisui-validatebox" maxlength="20"/>td>
<td class="lisar" listranslate="html~CName">名称td>
<td class="lisal"><input id="txtBTTestCodeCName" type="text" name="CName" style="width:200px;" class="hisui-validatebox" maxlength="50"/>td>
<td class="lisar" listranslate="html~HospitalDR">医院td>
<td class="lisal"><input id="txtBTTestCodeHospitalDR" type="text" name="HospitalDR" style="width:200px;"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~LName">全称td>
<td class="lisal"><input id="txtBTTestCodeLName" type="text" name="LName" style="width:200px;" class="hisui-validatebox" maxlength="100"/>td>
<td class="lisar" listranslate="html~EName">英文名称td>
<td class="lisal"><input id="txtBTTestCodeEName" type="text" name="EName" style="width:200px;" class="hisui-validatebox" maxlength="30"/>td>
<td class="lisar" listranslate="html~Synonym">缩写td>
<td class="lisal"><input id="txtBTTestCodeSynonym" type="text" name="Synonym" style="width:200px;" class="hisui-validatebox" maxlength="30"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~Units">单位td>
<td class="lisal"><input id="txtBTTestCodeUnits" type="text" name="Units" style="width:200px;" class="hisui-validatebox" maxlength="50"/>td>
<td class="lisar" listranslate="html~ResultFormat">结果格式td>
<td class="lisal"><input id="txtBTTestCodeResultFormat" type="text" name="ResultFormat" style="width:200px;" class="hisui-validatebox" maxlength="2"/>td>
<td class="lisar" listranslate="html~Precision">精确度td>
<td class="lisal"><input id="txtBTTestCodePrecision" type="text" name="Precision" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~TestMethodDR">检测方法td>
<td class="lisal"><input id="txtBTTestCodeTestMethodDR" type="text" name="TestMethodDR" style="width:200px;"/>td>
<td class="lisar" listranslate="html~IsCalculate">计算项td>
<td class="lisal"><input id="txtBTTestCodeIsCalculate" type="text" name="IsCalculate" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~LonicCode">LONIC码td>
<td class="lisal"><input id="txtBTTestCodeLonicCode" type="text" name="LonicCode" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~SCode">标准码td>
<td class="lisal"><input id="txtBTTestCodeSCode" type="text" name="SCode" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
<td class="lisar" listranslate="html~SOPContent">SOP内容td>
<td class="lisal"><input id="txtBTTestCodeSOPContent" type="text" name="SOPContent" style="width:200px;" class="hisui-validatebox" maxlength="100"/>td>
<td class="lisar" listranslate="html~SOPFile">SOP文件td>
<td class="lisal"><input id="txtBTTestCodeSOPFile" type="text" name="SOPFile" style="width:200px;" class="hisui-validatebox" maxlength="20"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~HISCode">HIS对照码td>
<td class="lisal"><input id="txtBTTestCodeHISCode" type="text" name="HISCode" style="width:200px;" class="hisui-validatebox" maxlength="20"/>td>
<td class="lisar" listranslate="html~CostItemDR">收费项目td>
<td class="lisal"><input id="txtBTTestCodeCostItemDR" type="text" name="CostItemDR" style="width:200px;"/>td>
<td class="lisar" listranslate="html~Price">价格td>
<td class="lisal"><input id="txtBTTestCodePrice" type="text" name="Price" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~ClinicalSignifyS">临床意义简述td>
<td class="lisal"><input id="txtBTTestCodeClinicalSignifyS" type="text" name="ClinicalSignifyS" style="width:200px;" class="hisui-validatebox" maxlength="30"/>td>
<td class="lisar" listranslate="html~ClinicalSignifyL">临床意义描述td>
<td class="lisal"><input id="txtBTTestCodeClinicalSignifyL" type="text" name="ClinicalSignifyL" style="width:200px;" class="hisui-validatebox" maxlength="100"/>td>
<td class="lisar" listranslate="html~TestSetDR">独立医嘱套td>
<td class="lisal"><input id="txtBTTestCodeTestSetDR" type="text" name="TestSetDR" style="width:200px;"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~PrintOrder">打印顺序td>
<td class="lisal"><input id="txtBTTestCodePrintOrder" type="text" name="PrintOrder" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
<td class="lisar" listranslate="html~Sequence">序号td>
<td class="lisal"><input id="txtBTTestCodeSequence" type="text" name="Sequence" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
<td class="lisar" listranslate="html~Active">状态td>
<td class="lisal"><input id="txtBTTestCodeActive" type="text" name="Active" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~CalculateFormula">计算公式td>
<td class="lisal"><input id="txtBTTestCodeCalculateFormula" type="text" name="CalculateFormula" style="width:200px;" class="hisui-validatebox" maxlength="500"/>td>
<td class="lisar" listranslate="html~RefRanges">参考范围td>
<td class="lisal"><input id="txtBTTestCodeRefRanges" type="text" name="RefRanges" style="width:200px;" class="hisui-validatebox" maxlength="500"/>td>
<td class="lisar" listranslate="html~IsCheckText">是否判断定性td>
<td class="lisal"><input id="txtBTTestCodeIsCheckText" type="text" name="IsCheckText" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~RefField">特殊报告用td>
<td class="lisal"><input id="txtBTTestCodeRefField" type="text" name="RefField" style="width:200px;" class="hisui-validatebox" maxlength="100"/>td>
<td class="lisar" listranslate="html~IsAllowNegative">是否允许负数td>
<td class="lisal"><input id="txtBTTestCodeIsAllowNegative" type="text" name="IsAllowNegative" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~IsAllowNoNumeric">是否允许非数字td>
<td class="lisal"><input id="txtBTTestCodeIsAllowNoNumeric" type="text" name="IsAllowNoNumeric" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~IsExcJudgeRule">结果判断td>
<td class="lisal"><input id="txtBTTestCodeIsExcJudgeRule" type="text" name="IsExcJudgeRule" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~ItemClassDR">项目类别td>
<td class="lisal"><input id="txtBTTestCodeItemClassDR" type="text" name="ItemClassDR" style="width:200px;"/>td>
<td class="lisar" listranslate="html~DepartmentDR">所属科室td>
<td class="lisal"><input id="txtBTTestCodeDepartmentDR" type="text" name="DepartmentDR" style="width:200px;"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~IsRealCal">是否实时计算td>
<td class="lisal"><input id="txtBTTestCodeIsRealCal" type="text" name="IsRealCal" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~UnacceptLow">排除低值td>
<td class="lisal"><input id="txtBTTestCodeUnacceptLow" type="text" name="UnacceptLow" style="width:200px;" class="hisui-validatebox" maxlength="50"/>td>
<td class="lisar" listranslate="html~UnacceptHigh">排除高值td>
<td class="lisal"><input id="txtBTTestCodeUnacceptHigh" type="text" name="UnacceptHigh" style="width:200px;" class="hisui-validatebox" maxlength="50"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~ReEditFlag">重新编辑td>
<td class="lisal"><input id="txtBTTestCodeReEditFlag" type="text" name="ReEditFlag" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~NoCalFlag">计算项不计算td>
<td class="lisal"><input id="txtBTTestCodeNoCalFlag" type="text" name="NoCalFlag" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~QCTestCodeDR">质控项目td>
<td class="lisal"><input id="txtBTTestCodeQCTestCodeDR" type="text" name="QCTestCodeDR" style="width:200px;"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~CheckEqual">文本等于校验td>
<td class="lisal"><input id="txtBTTestCodeCheckEqual" type="text" name="CheckEqual" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~IsNormalRange">参考范围只维护正常范围td>
<td class="lisal"><input id="txtBTTestCodeIsNormalRange" type="text" name="IsNormalRange" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~ShareFlag">结果互认标记td>
<td class="lisal"><input id="txtBTTestCodeShareFlag" type="text" name="ShareFlag" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~IsAllowZero">是否允许零值td>
<td class="lisal"><input id="txtBTTestCodeIsAllowZero" type="text" name="IsAllowZero" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~QCPatVisEval">评估标准td>
<td class="lisal"><input id="txtBTTestCodeQCPatVisEval" type="text" name="QCPatVisEval" style="width:200px;" class="hisui-validatebox" maxlength="20"/>td>
<td class="lisar" listranslate="html~AllowDelete">允许删除td>
<td class="lisal"><input id="txtBTTestCodeAllowDelete" type="text" name="AllowDelete" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~AllowSplit">允许拆分td>
<td class="lisal"><input id="txtBTTestCodeAllowSplit" type="text" name="AllowSplit" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~AllowTrace">允许追踪td>
<td class="lisal"><input id="txtBTTestCodeAllowTrace" type="text" name="AllowTrace" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~DefaultResult">默认结果td>
<td class="lisal"><input id="txtBTTestCodeDefaultResult" type="text" name="DefaultResult" style="width:200px;" class="hisui-validatebox" maxlength="20"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~IsNoExport">不导出td>
<td class="lisal"><input id="txtBTTestCodeIsNoExport" type="text" name="IsNoExport" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~CVValue">允许CV值td>
<td class="lisal"><input id="txtBTTestCodeCVValue" type="text" name="CVValue" style="width:200px;" class="hisui-validatebox" maxlength="10"/>td>
<td class="lisar" listranslate="html~CVSource">允许CV值来源td>
<td class="lisal"><input id="txtBTTestCodeCVSource" type="text" name="CVSource" style="width:200px;" class="hisui-validatebox" maxlength="100"/>td>
tr>
<tr>
<td class="lisar" listranslate="html~SigmaValue">本室的σ值td>
<td class="lisal"><input id="txtBTTestCodeSigmaValue" type="text" name="SigmaValue" style="width:200px;" class="hisui-validatebox" maxlength="1"/>td>
<td class="lisar" listranslate="html~SplitTSName">拆分医嘱名称td>
<td class="lisal"><input id="txtBTTestCodeSplitTSName" type="text" name="SplitTSName" style="width:200px;" class="hisui-validatebox" maxlength="50"/>td>
table>
<div region="south" border="fale" style="text-align: center; padding: 5px 0 0;">
<a id="btnSaveBTTestCode" href="#" class="hisui-linkbutton" plain="false" listranslate="html~Save">保存a>
<span class="sp6">span>
<a id="btnCloseBTTestCode" href="#" class="hisui-linkbutton" plain="false" listranslate="html~Cancel">取消a>
div>
form>
div>
body>
html>
高效开发和进行打印导出满足了