当前位置: 首页 > news >正文

jbase打印导出实现

上一篇实现了虚拟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
{/// <summary>/// 虚拟M调用类/// </summary>public class VMGetData{/// <summary>/// 虚拟M执行服务/// </summary>public static IVMGetData Service{get;set;}/// <summary>/// 调用虚拟M类返回数据/// </summary>/// <param name="ClassName">类名</param>/// <param name="FuncName">方法名</param>/// <param name="Param">参数</param>/// <param name="Session">会话</param>/// <param name = "RowCount" > 行数 </ param >/// <returns></returns>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("<Response>")){result = "<Response><SQLResult><SQL><FunRet></FunRet></SQL></SQLResult><RetVal>-1</RetVal><Error>" + result + "</Error><Node></Node><RowCount>0</RowCount></Response>";}}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("<Response>")){result = "<Response><SQLResult><SQL><FunRet></FunRet></SQL></SQLResult><RetVal>-1</RetVal><Error>" + result + "</Error><Node></Node><RowCount>0</RowCount></Response>";}}catch (Exception ex){result += ",异常信息:" + ex.Message + ",调用:" + ClassName + "," + FuncName + "," + Param + "," + Session;}finally{if (wCient != null){wCient.Dispose();}}}return result;}/// <summary>/// 处理空参数/// </summary>/// <param name="Param"></param>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 = "";}}/// <summary>/// 继承客户端/// </summary>public class NewWebClient : System.Net.WebClient{/// <summary>/// 超时时间/// </summary>private int timeout;/// <summary>/// 超时时间(毫秒)/// </summary>public int Timeout{get{return timeout;}set{timeout = value;}}/// <summary>/// 默认时间/// </summary>public NewWebClient(){this.timeout = 300000;}/// <summary>/// 指定时间/// </summary>/// <param name="timeout"></param>public NewWebClient(int timeout){this.timeout = timeout;}/// <summary>/// 重载/// </summary>/// <param name="address"></param>/// <returns></returns>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时强制等待;-asirurl: 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时强制等待;-asirurl: 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 }]]});//查询BTTestCodefunction 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时强制等待;-asirurl: 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>

界面
在这里插入图片描述

导出模板
在这里插入图片描述

导出效果
在这里插入图片描述

在这里插入图片描述

打印效果
在这里插入图片描述

高效开发和进行打印导出满足了

相关文章:

  • TCP/IP详解卷一第三章“链路层”概要总结(未完编辑中)
  • 【ES6标准入门】JavaScript中的模块Module语法的使用细节:export命令和imprt命令详细使用,超级详细!!!
  • QQ五毛项目记
  • openGauss学习笔记-126 openGauss 数据库管理-设置账本数据库-归档账本数据库
  • [acwing周赛复盘] 第 94 场周赛20230311
  • 解决:微软在登录时总是弹出需要家长或监护人同意才能使用该账户并且不断循环?
  • Elasticsearch:检索增强生成 (Retrieval Augmented Generation -RAG)
  • Spring 事务和事务传播机制
  • 2023年第九届数维杯国际大学生数学建模挑战赛
  • 一文图解爬虫_姊妹篇(spider)
  • 推介会如何做好媒体宣传
  • alias linux 命令别名使用
  • 数字化转型具体包含哪些内容?
  • Golang: Store Query Result in a Map
  • Django学习日志07
  • css属性的继承、初识值、计算值、当前值、应用值
  • Electron入门介绍
  • Java小白进阶笔记(3)-初级面向对象
  • JS函数式编程 数组部分风格 ES6版
  • Laravel核心解读--Facades
  • Linux后台研发超实用命令总结
  • Map集合、散列表、红黑树介绍
  • MySQL主从复制读写分离及奇怪的问题
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 实现菜单下拉伸展折叠效果demo
  • 数组大概知多少
  • 再次简单明了总结flex布局,一看就懂...
  • mysql面试题分组并合并列
  • puppet连载22:define用法
  • 阿里云ACE认证学习知识点梳理
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 正则表达式-基础知识Review
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #include
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (function(){})()的分步解析
  • (Oracle)SQL优化技巧(一):分页查询
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (数据结构)顺序表的定义
  • (万字长文)Spring的核心知识尽揽其中
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)关于多人操作数据的处理策略
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .NET 回调、接口回调、 委托
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • //解决validator验证插件多个name相同只验证第一的问题