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>
界面

导出模板

导出效果


打印效果

高效开发和进行打印导出满足了
相关文章:
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;namesp…...
特征缩放和转换以及自定义Transformers(Machine Learning 研习之九)
特征缩放和转换 您需要应用于数据的最重要的转换之一是功能扩展。除了少数例外,机器学习算法在输入数值属性具有非常不同的尺度时表现不佳。住房数据就是这种情况:房间总数约为6至39320间,而收入中位数仅为0至15间。如果没有任何缩放,大多数…...
前端算法面试之堆排序-每日一练
如果对前端八股文感兴趣,可以留意公重号:码农补给站,总有你要的干货。 今天分享一个非常热门的算法--堆排序。堆的运用非常的广泛,例如,Python中的heapq模块提供了堆排序算法,可以用于实现优先队列…...
C++之set/multise容器
C之set/multise容器 set基本概念 set构造和赋值 #include <iostream> #include<set> using namespace std;void PrintfSet(set<int>&s) {for(set<int>::iterator it s.begin();it ! s.end();it){cout<<*it<<" ";}cout&l…...
本地部署AutoGPT
我们都了解ChatGPT,是Openai退出的基于GPT模型的新一代 AI助手,可以帮助解决我们在多个领域的问题。但是你会发现,在某些问题上,ChatGPT 需要经过不断的调教与沟通,才能得到接近正确的答案。对于你不太了解的领域领域&…...
ProtocolBuffers(protobuf)详解
目录 前言特点语法定义关键字JSON与Protocol Buffers互相转换gRPC与Protocol Buffers的关系 前言 Protocol Buffers(通常简称为protobuf)是Google公司开发的一种数据描述语言,它能够将结构化数据序列化,可用于数据存储、通信协议…...
HTTP 到 HTTPS 再到 HSTS 的转变
近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系…...
清华学霸告诉你:如何自学人工智能?
清华大学作为中国顶尖的学府之一,培养了许多优秀的人才,其中不乏在人工智能领域有所成就的学霸。通过一位清华学霸的经验分享,揭示如何自学人工智能,帮助你在这场科技浪潮中勇往直前。 一、夯实基础知识 数学基础:学习…...
Ubuntu 安装VMware Tools选项显示灰色,如何安装VMware Tools
切换apt源为阿里云: https://qq742971636.blog.csdn.net/article/details/134291339 只要你的网络没问题,你直接执行这几个命令,重启ubuntu虚拟机即可、 sudo dpkg --configure -a sudo apt-get autoremove open-vm-tools sudo apt-get ins…...
SpringBoot 2.x 实战仿B站高性能后端项目
SpringBoot 2.x 实战仿B站高性能后端项目 下栽の地止:请看文章末尾 通常SpringBoot新建项目,默认是集成了Maven,然后所有内容都在一个主模块中。 如果项目架构稍微复杂一点,就需要用到Maven多模块。 本文简单概述一下,…...
vscode文件夹折叠问题
今天发现一个vscode的文件夹显示的问题,首先是这样的,就是我的文件夹里又一个子文件夹,子文件夹里有一些文件,但是我发现无法折叠起这个子文件夹,总是显示全部的文件,这让我备份很难,具体参考 h…...
4-flask-cbv源码、Jinja2模板、请求响应、flask中的session、flask项目参考
1 flask中cbv源码 2 Jinja2模板 3 请求响应 4 flask中的session 5 flask项目参考 1 flask中cbv源码 ***flask的官网文档:***https://flask.palletsprojects.com/en/3.0.x/views/1 cbv源码执行流程1 请求来了,路由匹配成功---》执行ItemAPI.as_view(item…...
2.Pandas数据预处理
2.1 数据清洗 以titanic数据为例。 df pd.read_csv(titanic.csv) 2.1.1 缺失值 (1)缺失判断 df.isnull() (2)缺失统计 # 列缺失统计 df.isnull().sum(axis0) # 行缺失统计 df.isnull().sum(axis1) # 统计缺失率 df.isnu…...
C# IEnumerable<T>介绍
IEnumerable 是 C# 中的一个接口,它是 .NET Framework 中的集合类型的基础。任何实现了 IEnumerable 接口的对象都可以进行 foreach 迭代。 IEnumerable 只有一个方法,即 GetEnumerator,该方法返回一个 IEnumerator 对象。IEnumerator 对象用…...
九洲
《九洲》 作者/罗光记 九洲春色映朝阳, 洲渚风光似画廊。 柳絮飘飞花似雪, 九州繁华共锦裳。 水波荡漾鱼儿跃, 洲边鸟语唤晨光。 春风拂过千里岸, 九洲儿女笑语扬。...
基于Genio 700 (MT8390)芯片的AR智能眼镜方案
AR眼镜是一种具有前所未有发展机遇的设备,无论是显示效果、体积还是功能都有明显的提升。AR技术因其智能、实时、三维、多重交互和开放世界的特点备受关注。 AR眼镜集成了AR技术、语音识别、智能控制等多项高科技功能,可以帮助用户实现更加便捷、高效、个…...
锐捷OSPF认证
一、知识补充 1、基本概述 OSPF区域认证和端口认证是两种不同的认证机制,用于增强OSPF协议的安全性。 OSPF区域认证(OSPF Area Authentication):这种认证机制是基于区域的。在OSPF网络中,每个区域都可以配置一个区域…...
M2 Mac Xcode编译报错 ‘***.framework/‘ for architecture arm64
In /Users/fly/Project/Pods/YYKit/Vendor/WebP.framework/WebP(anim_decode.o), building for iOS Simulator, but linking in object file built for iOS, file /Users/fly/Project/Pods/YYKit/Vendor/WebP.framework/WebP for architecture arm64 这是我当时编译模拟器时报…...
Python算法题2023 输出123456789到98765432中完全不包含2023的数有多少
题目: 无输入,只需输出结果🤐 这个数字比较大,小伙伴们运行的时候要给代码一点耐心嗷つ﹏⊂ ,下面是思路,代码注释也很详细,大致看一下吧(^∀^●)…...
SpringBoot整合Thymeleaf
Thymeleaf 支持 HTML 原型,可以让前端工程师在浏览器中直接打开查看样式,也可以让后端工程师结合真实数据查看显示效果 Thymeleaf 除了展示基本的 HTML ,进行页面渲染之外,也可以作为一个 HTML 片段进行渲染,例如我们在…...
掌握TegraRcmGUI:从入门到精通的Switch注入实践指南
掌握TegraRcmGUI:从入门到精通的Switch注入实践指南 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款基于C开发的图形化界面工具…...
Phi-3-mini-4k-instruct-gguf开发者案例:为微信小程序后端提供的轻量API服务
Phi-3-mini-4k-instruct-gguf开发者案例:为微信小程序后端提供的轻量API服务 1. 项目背景与需求 在开发微信小程序时,我们经常需要为前端提供智能文本处理能力,比如自动生成商品描述、智能客服回复、内容摘要等。传统方案要么需要调用第三方…...
炉石传说自动化脚本终极指南:从3小时到3分钟的游戏体验革命
炉石传说自动化脚本终极指南:从3小时到3分钟的游戏体验革命 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本)(2024.01.25停更至国服回归) 项目地址: https://gitcode.com/gh_mirrors/he/Heart…...
Pixel Couplet Gen部署案例:混合云架构(公有云API+私有云模型)方案
Pixel Couplet Gen部署案例:混合云架构(公有云API私有云模型)方案 1. 项目背景与价值 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成器。该项目基于ModelScope大模型驱动,通过创新的8-bit像素游戏UI设…...
3种革命性技术突破:解放城通网盘下载速度的终极方案
3种革命性技术突破:解放城通网盘下载速度的终极方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾经面对城通网盘那令人绝望的下载速度而束手无策?当急需获取重要文件…...
Fay数字人框架终极指南:30分钟打造你的AI虚拟助手
Fay数字人框架终极指南:30分钟打造你的AI虚拟助手 【免费下载链接】Fay Fay 是一个开源的数字人类框架,集成了语言模型和数字字符。它为各种应用程序提供零售、助手和代理版本,如虚拟购物指南、广播公司、助理、服务员、教师以及基于语音或文…...
Ku频段相控阵天线避坑指南:从G/T骤降到EIRP波动,这些实测数据你要知道
Ku频段相控阵天线性能衰减实测:60离轴角下的G/T与EIRP工程修正策略 相控阵天线在卫星通信领域正经历从实验室到工程应用的跨越式发展。当无人机以60离轴角追踪卫星时,实测数据显示天线增益可能骤降4.5dB——这个数字足以让精心计算的链路预算彻底失效。在…...
现在不升级Polars 2.0清洗栈,你的ETL将在Q3面临300%延迟增长——基于AWS Graviton+Arrow 15.0实测基准报告
第一章:Polars 2.0清洗栈升级的必要性与Q3延迟危机预警Polars 2.0 的清洗栈重构并非功能叠加式演进,而是面向真实数据工程场景的范式重置。随着企业级ETL流水线中非结构化日志、嵌套JSON、时序传感器数据占比突破68%,旧版基于LazyFrame单通道…...
嵌入式开发代码版本比较工具与技巧
1. 嵌入式开发中的代码版本差异查看方法在嵌入式开发过程中,代码版本管理是每个工程师必须掌握的核心技能。随着项目迭代和功能更新,我们经常需要比较不同版本代码之间的差异,无论是为了代码审查、问题排查还是版本合并。作为一名嵌入式开发者…...
ESP32按键状态机设计:工业级去抖与多事件识别
1. ESP32-Button 库深度解析:面向工业级人机交互的按键状态机设计与实现1.1 工程背景与设计动因在嵌入式系统开发中,按键处理看似简单,实则暗藏诸多工程陷阱。裸写digitalRead()配合delay()的“抖动延时法”在教学Demo中尚可接受,…...
