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 片段进行渲染,例如我们在…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
