1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038 |
- //@ sourceURL=ward_prescription.js
- var LODOP; //声明为全局变量
- var groupNo = window.localStorage["groupNo"];
- var pageNo = "";//请领单号
- var pageNos = "";//病室请领单号集合
- var pageClass = "";//药单类型
- var wardCode = "";//申请病室
- var wardName = "";
- var hzFlag = 0;//最近浏览药单还是科室汇总药单
- var nfdPrintIndex = window.localStorage["nfdPrintIndex"];
- var tableInterval;
- var lastrow;//最后编辑单元格的行
- var lastcell;//最后编辑单元格的列
- var searchData = {};//搜索条件
- $(function () {
- init_daterangepicker();
- $('#reportrange span').html(moment().subtract(5, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
- $(".selectpicker").selectpicker({
- dropuAuto: false
- });
- $('#submitFlagSearch').html("");
- let submitFlagHtml = '';
- if (nfdPrintIndex == null) {
- return errorMesageSimaple('未设置内服袋打印机,请在发药参数设置中设置');
- }
- if (groupNo == null) {
- return errorMesageSimaple('当前药房未设置,请在发药参数设置中设置');
- } else if (groupNo === '81' || groupNo ==='83') {
- $('.isXy').css('display', 'none');
- $('.isZy').css('display', '');
- $('#mx').css('display', 'none');
- submitFlagHtml = '<option value="3" selected>待发</option>' +
- '<option value="4">已发</option>';
- } else {
- $('.isXy').css('display', '');
- $('.isZy').css('display', 'none');
- $('#mx').css('display', '');
- submitFlagHtml = '<option value="1" selected>待发</option>' +
- '<option value="2">已取消</option>' +
- '<option value="3">已确认</option>';
- }
- $('#submitFlagSearch').append(submitFlagHtml);
- $('#submitFlagSearch').selectpicker('refresh');
- initTbTable();
- clearInterval(tableInterval);
- //五分钟刷新一次请领单列表数据
- tableInterval = setInterval(function (){
- if((groupNo !== '81' && groupNo !== '83' && $("#submitFlagSearch").val() === "1") || ((groupNo === '81' || groupNo === '83') && $("#submitFlagSearch").val() === "3")){
- initTbTable()
- }
- }, 50000);
- initDynamicSelect("allUnitCode", "wardCode");
- //重置查询参数
- $('#btn_clean').click(function () {
- cleanParams();
- });
- $("#btn_query").click(function (t) {
- $("#initButton").find("button").each(function (index, element) {
- if ($(element).hasClass("btn-primary")) {
- $(element).removeClass("btn-primary").addClass("btn-default");
- }
- });
- $("#qld").removeClass("btn-default").addClass("btn-primary");
- initTbTable();
- searchData = {
- wardCode: ($("#wardCode").val() == null ? null : wardCode = $("#wardCode").val()[0]),
- pageNo: $("#pageNoSearch").val() == "" ? null : $("#pageNoSearch").val(),
- submitFlag: $("#submitFlagSearch").val(),
- pageClass: $("#pageClassSearch").val() == "" ? null : $("#pageClassSearch").val()
- }
- });
- $("#printSend").click(function (t) {
- $('#zydybqModal').modal('hide');
- $("#zyypbq_name").attr("value", $("#zydyNameLabel").val());
- $("#zyypbq_bedno").attr("value", $("#bedNoLabel").val());
- $("#zyypbq_ward").attr("value", $("#wardLabel").val());
- $("#zyypbq_date").attr("value", $("#dateLabel").val());
- $("#zyypbq_comm").text($("#yfLabel").val());
- if ($("#syfsLabel").val() == 0) {
- $("#zybq_title").text("中药口服标签");
- } else {
- $("#zybq_title").text("中药外用标签");
- }
- LODOP = getLodop();
- LODOP.PRINT_INITA(6, 0, "50mm", "30mm", "中药标签");
- //设置默认打印机
- LODOP.SET_PRINTER_INDEX(nfdPrintIndex);
- LODOP.SET_PRINT_PAGESIZE(1, '50mm', '30mm', "CreateCustomPage");
- LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "50mm");
- LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "30mm");
- LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "中药标签");//对新建的纸张重命名
- LODOP.SET_PRINT_COPIES(parseInt($("#dyslLabel").val()));
- LODOP.ADD_PRINT_HTM("2mm", "2mm", "50mm", "30mm", $('#print_view_zybq').html());
- LODOP.PRINT();
- //LODOP.PREVIEW();
- });
- $("#barCode").on('blur', function (t) {
- let rowid = $("#tb_detail_table").jqGrid("getGridParam", "selrow");
- setTimeout(function () {//延时防止编辑单元格输入框未生效
- if ($("input[name='manuNo']").length == 0 && $("select[name='fybz']").length == 0) {
- return $("#barCode").focus();
- }
- $("#" + rowid + "_manuNo,#" + rowid + "_fybz").on('blur', function (t) {
- $("#barCode").focus();
- });
- if ($("input[name='manuNo']").length > 0) {
- if (!$("#" + rowid + "_manuNo").is(':focus')) {
- return $("#barCode").focus();
- }
- } else if ($("select[name='fybz']").length > 0) {
- if (!$("#" + rowid + "_fybz").is(':focus')) {
- return $("#barCode").focus();
- }
- }
- }, 500)
- });
- /**
- * 扫码条码
- */
- $("#barCode").on('input', debounce(e => {
- autoBar(e.delegateTarget.value)
- }, 500));
- //手动使用摆药机
- $('#btn_byj').click(function () {
- callByj();
- });
- });
- /**
- * 条码赋值
- * @param value
- */
- function autoBar(value) {
- request({
- url: '/getBarCode',
- method: 'GET',
- data: {
- barCode: value
- }
- }).then((res) => {
- $("#barCode").val("");
- if (Object.keys(res.data).length === 0) {
- return warningMesageSimaple("未找到该条码对应的批号");
- }
- let rowId = $("#tb_detail_table").jqGrid("getGridParam", "selrow");
- var rowData = $("#tb_detail_table").jqGrid('getRowData', rowId);
- let chargeCode = '';
- for (let key in res.data) {
- chargeCode = key
- }
- if (chargeCode != rowData.chargeCode) {
- return warningMesageSimaple("该条码对应的药品编码和表格选中药品不一致");
- }
- if (!isEmpty(rowData.manuNo)) {
- let oldManuNos = rowData.manuNo.split(",");
- if (oldManuNos.indexOf(res.data[chargeCode]) != -1) {
- return warningMesageSimaple("条码重复扫描");
- }
- }
- $("#tb_detail_table").jqGrid("setCell", rowId, 'manuNo', (isEmpty(rowData.manuNo) ? "" : (rowData.manuNo + ",")) + res.data[chargeCode]);
- $("#tb_detail_table").setSelection(rowId + 1, false);
- successMesageSimaple("扫描条码赋值批号成功");
- });
- }
- /**
- * 列表类型按钮切换事件
- * @param object
- * @param realIndex 下标(0:请领单;1:汇总;2:明细)
- */
- function initButtonChange(object, realIndex) {
- $("#initButton").find("button").each(function (index, element) {
- if ($(element).hasClass("btn-primary")) {
- $(element).removeClass("btn-primary").addClass("btn-default");
- }
- });
- $(object).removeClass("btn-default").addClass("btn-primary");
- if (realIndex == 0) {
- $("#pageNoSearch").val(searchData.pageNo);
- $("#pageClassSearch").val(searchData.pageClass);
- $("#wardCode").val(searchData.wardCode);
- if (searchData.submitFlag == null) {
- (groupNo === '81' || groupNo === '83') ?$("#submitFlagSearch").val(3):$("#submitFlagSearch").val(1);
- } else {
- $("#submitFlagSearch").val(searchData.submitFlag);
- }
- $("#submitFlagSearch").selectpicker('refresh');
- $("#wardCode").removeAttr('disabled');
- $("#pageNoSearch").removeAttr('disabled');
- $("#pageClassSearch").removeAttr('disabled');
- $("#submitFlagSearch").removeAttr('disabled');
- $("#wardCode").selectpicker('refresh');
- $("#pageClassSearch").selectpicker('refresh');
- $("#submitFlagSearch").selectpicker('refresh');
- $("#btn_query").removeAttr('disabled');
- $("#btn_clean").removeAttr('disabled');
- $("#barCode").attr('disabled', true);
- $("#btn_byj").css('display', 'none');
- initTbTable();
- } else if (realIndex == 1) {
- setFrom();
- $("#btn_byj").css('display', 'none');
- $("#barCode").attr('disabled', true);
- loadSummarizingTable();
- } else if (realIndex == 2) {
- setFrom();
- $("#barCode").attr('disabled', false);
- $("#barCode").focus();
- loadDetailTable();
- let ps = $("#pageClassSearch").val();
- // 不是已发药状态或者是中药房不能手动使用摆药机
- if("3" !== $("#submitFlagSearch").val() || groupNo === '81' || groupNo === '83'){
- $("#btn_byj").css('display', 'none');
- } else if("5" === ps || "6" === ps){
- $("#btn_byj").css('display', "inline-flex");
- } else {
- $("#btn_byj").css('display', 'none');
- }
- }
- }
- function setFrom() {
- $("#wardCode").selectpicker('val', wardCode);
- if (hzFlag === 0) {
- $("#pageNoSearch").val(pageNo);
- }
- $("#pageClassSearch").val(pageClass);
- $("#wardCode").selectpicker('refresh');
- $("#pageClassSearch").selectpicker('refresh');
- $("#wardCode").attr('disabled', true);
- $("#pageNoSearch").attr('disabled', true);
- $("#pageClassSearch").attr('disabled', true);
- $("#submitFlagSearch").attr('disabled', true);
- $("#btn_clean").attr('disabled', true);
- $("#btn_query").attr('disabled', true);
- }
- /**
- * 控制汇总和明细的显示
- */
- function detail(no, type, code, flag) {
- pageNo = no;
- pageClass = type;
- wardCode = code;
- hzFlag = flag;
- setFrom();
- if (flag === 1) {
- initButtonChange("#hz", 1);
- } else {
- switch (type) {
- case "1":
- case "2":
- case "5":
- case "6":
- initButtonChange("#mx", 2);
- break;
- default:
- initButtonChange("#hz", 1);
- }
- }
- }
- /**
- * 药单界面显示
- */
- function initHtml() {
- $("#tb_table_div").css("display", "");
- $("#tb_summarizing_table_div").css("display", "none");
- $("#tb_detail_table_div").css("display", "none");
- }
- /**
- * 药单汇总界面显示
- */
- function initSummarizingHtml() {
- $("#tb_summarizing_table_div").css("display", "");
- $("#tb_table_div").css("display", "none");
- $("#tb_detail_table_div").css("display", "none");
- }
- /**
- * 药单详细界面初始化
- */
- function initDetailHtml() {
- $("#tb_table_div").css("display", "none");
- $("#tb_summarizing_table_div").css("display", "none");
- $("#tb_detail_table_div").css("display", "");
- }
- /**
- * 查询药单基础信息
- */
- function initTbTable() {
- let pageIndex = $('#tb_table').bootstrapTable('getOptions').pageNumber;
- if ($('#qld').hasClass('btn-primary')) {
- initHtml();
- $('#tb_table').bootstrapTable("destroy");
- $('#tb_table').bootstrapTable({
- url: "/thmz/getYzYpPageNo", //请求后台的URL(*)
- method: 'post', //请求方式(*)
- striped: true, //是否显示行间隔色
- cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
- pagination: true, //是否显示分页(*)
- sortable: true, //是否启用排序
- sortOrder: "asc", //排序方式
- queryParams: queryParams, //传递参数(*)
- sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
- pageNumber: pageIndex || 1, //初始化加载第一页,默认第一页
- pageSize: 30, //每页的记录行数(*)
- pageList: [25, 50, 100], //可供选择的每页的行数(*)
- search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
- strictSearch: true,
- showColumns: false, //是否显示所有的列
- showRefresh: false, //是否显示刷新按钮
- minimumCountColumns: 2, //最少允许的列数
- clickToSelect: true, //是否启用点击选中行
- uniqueId: "ID", //每一行的唯一标识,一般为主键列
- showToggle: false, //是否显示详细视图和列表视图的切换按钮
- cardView: false, //是否显示详细视图
- detailView: false,
- ajaxOptions: {
- headers: {
- 'Accept': 'application/json',
- 'Authorization': 'Bearer ' + localStorage.getItem("token")
- }
- },
- columns: initColumns(),
- rowStyle: function (row, index) {
- if (row.pageClass == "T" || row.pageClass == "HT") {
- return {css: {'color': 'red', 'padding': '0px'}};
- }
- return {css: {'padding': '0px'}};
- },
- onDblClickRow: function (row) {
- loadSummarizingTable();
- },
- responseHandler: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view'
- return;
- }
- var ress = eval(res);
- if (ress.code == -1) {
- if (ress.message != null && ress.message != '') {
- new PNotify({
- title: '错误提示',
- text: ress.message,
- type: 'error',
- hide: true,
- styling: 'bootstrap3'
- });
- }
- return {
- "total": 0,//总页数
- "rows": {} //数据
- };
- }
- return {
- "total": ress.total,//总页数
- "rows": ress.data //数据
- };
- },
- });
- }
- }
- /**
- * 初始化列
- * @returns {*[]}
- */
- function initColumns() {
- let base = [{
- title: '操作',
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- var str = '<button type="button" class="registration-no-color-foot-button" title="药单详细" onclick="detail(\'' + row.pageNo + '\',\'' + row.pageClass + '\',\'' + row.wardCode + '\',0)"><i class="fa fa-plus"></i></button>';
- if ((groupNo !== '81' && groupNo !== '83') && $("#submitFlagSearch").val() === '1' && row.pageClass != 'T' && row.pageClass != 'HT' && row.pageClass != 'A' && row.pageClass != '5' && row.pageClass != '6') {
- str += '<button type="button" class="registration-no-color-foot-button" title="病室药单汇总" onclick="detail(\'' + row.pageNo + '\',\'' + row.pageClass + '\',\'' + row.wardCode + '\',1)"><i class="fa fa-compress"></i></button>';
- }
- if (((groupNo !== '81' && groupNo !== '83') && $("#submitFlagSearch").val() === '1') || ((groupNo === '81' || groupNo === '83') && $("#submitFlagSearch").val() === '3')) {
- str += '<button type="button" class="registration-no-color-foot-button" title="拒绝发药" onclick="cancelSubmit(\'' + row.pageNo + '\',\'' + row.wardName + '\',\'' + row.pageClass + '\')"><i class="fa fa-reply"></i></button>';
- }
- return str;
- }
- }, {
- field: 'wardName',
- title: '申请病室',
- align: "center",
- valign: 'middle'
- }, {
- field: 'pageNo',
- title: '药品单号',
- align: "center",
- valign: 'middle'
- }];
- let xy = [{
- field: 'pageName',
- title: '药单类型',
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- return getPageName(row.pageClass);
- }
- }, {
- field: 'subName',
- title: '提交人',
- align: "center",
- valign: 'middle'
- }, {
- field: 'submitTime',
- title: '提交时间',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '3' ? false : true,
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd HH:mm:ss");
- }
- return "";
- }
- }, {
- field: 'cancelSubName',
- title: '取消人',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '2' ? true : false
- }, {
- field: 'cancelSubmitTime',
- title: '取消时间',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '2' ? true : false,
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd HH:mm:ss");
- }
- return "";
- }
- }, {
- field: 'contirmName',
- title: '发药人',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '3' ? true : false
- }, {
- field: 'confirmTime',
- title: '确认时间',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '3' ? true : false,
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd HH:mm:ss");
- }
- return "";
- }
- }, {
- field: 'startDate',
- title: '开始时间',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '3' ? false : true,
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd");
- }
- return "";
- }
- }, {
- field: 'endDate',
- title: '结束时间',
- align: "center",
- valign: 'middle',
- visible: $("#submitFlagSearch").val() === '3' ? false : true,
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd");
- }
- return "";
- }
- }];
- let zy = [{
- field: 'chargeDate',
- title: '收费时间',
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd");
- }
- return "";
- }
- },{
- field: 'inputDate',
- title: '提交时间',
- align: "center",
- valign: 'middle',
- formatter: function (value, row, index) {
- if (value != null && value != "") {
- return format(value, "yyyy-MM-dd HH:mm:ss");
- }
- return "";
- }
- }, {
- field: 'orderName',
- title: '处方名称',
- align: "center",
- valign: 'middle'
- }, {
- field: 'doctorName',
- title: '医生',
- align: "center",
- valign: 'middle'
- }, {
- field: 'orderNo',
- title: '医嘱号',
- align: "center",
- valign: 'middle'
- }];
- if (groupNo === '81' || groupNo === '83') {
- return base.concat(zy)
- } else {
- return base.concat(xy)
- }
- }
- /**
- * 加载药单汇总信息表格
- */
- function loadSummarizingTable() {
- initSummarizingHtml();
- initSummarizingTable();
- let url = '/thmz/getZyDrugCount';
- let tem = {
- groupNo: groupNo,
- pageClass: pageClass,
- submitFlag: $("#submitFlagSearch").val()
- };
- if (groupNo === '81' || groupNo === '83') {
- url = '/thmz/getZyDrugCyCount';
- tem = {};
- }
- if (hzFlag === 1) {
- tem.wardCode = wardCode;
- $.ajax({
- type: "GET",
- url: '/thmz/queryYzYpPageNoStr',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: tem,
- success: function (res) {
- if (res.code == 0) {
- url = '/thmz/getYzYpOrderWard';
- pageNos = res.data;
- $("#tb_summarizing_table").jqGrid('setGridParam', {
- datatype: 'json',
- url: url,
- postData: tem,
- groupingView: {
- groupField: ['pageClass'],
- groupColumnShow: [false],//是否展示分组列
- groupText: ['<b>单号:' + res.data + '</b>'],//组名的展示文字
- },
- }).trigger('reloadGrid');
- } else {
- errorMesage(res);
- }
- }
- });
- } else {
- tem.pageNo = pageNo;
- $("#tb_summarizing_table").jqGrid('setGridParam', {
- datatype: 'json',
- url: url,
- postData: tem
- }).trigger('reloadGrid');
- }
- }
- /**
- * 加载药单详细信息表格
- */
- function loadDetailTable() {
- initDetailHtml();
- initDetailTable();
- $("#tb_detail_table").jqGrid('setGridParam', {
- datatype: 'json'
- }).trigger('reloadGrid');
- }
- /**
- * 初始化药单汇总信息表格
- */
- function initSummarizingTable() {
- let rowsToColor = [];
- $.jgrid.gridUnload("tb_summarizing_table");
- $("#tb_summarizing_table").jqGrid({
- datatype: 'local',
- mtype: 'get',
- loadBeforeSend: function (jqXHR) {
- jqXHR.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem("token"));
- jqXHR.setRequestHeader("Accept", 'application/json');
- },
- postData: {
- pageNo: pageNo,
- pageClass: pageClass
- },
- toolbar: [true, "top"],
- styleUI: 'Bootstrap',
- height: '100%',
- viewrecords: true,
- autowidth: true,
- /*loadonce:true,//一次加载全部数据到客户端,由客户端进行排序
- sortable: true,
- sortname: 'location', //设置默认的排序列
- sortorder: 'asc',*/
- cellEdit: true,
- cellsubmit: "clientArray",
- rownumbers: false,//是否显示序号
- rownumWidth: 50,
- rowNum: -1,//取消分页
- caption: '请领单药品汇总',
- grouping: (!(groupNo === '81' || groupNo === '83')),
- groupingView: {
- groupField: ['pageClass'],
- groupSummary: [false],//是否开启汇总页脚
- groupColumnShow: [false],//是否展示分组列
- groupText: ['<b>单号:' + pageNo + '</b>'],//组名的展示文字
- groupCollapse: false,//是否收起
- },
- footerrow:true,//设置属性,显示统计行
- gridComplete:function(){
- var rowNum=parseInt($(this).getGridParam("records"),20);//获取行数
- if(rowNum>0){
- $(".ui-jqgrid-sdiv").show();
- let estatecount=$(this).getCol("totalMoney",false,"sum");//需要统计的列
- $(this).footerData("set",{"retprice":"合计","totalMoney":keepTwoDecimal(estatecount)}); //将合计值显示出来
- }else{
- $(".ui-jqgrid-sdiv").hide();
- }
- },
- colNames: ['发药', '拒退', '单号', '批号', '住院号', '床号', '姓名', '代煎剂数', '货位号', '药品编码', '药品名称', '规格', '数量/剂数', '处方金额', '代煎单价',
- '每天剂数', '煎药说明', '加水量', '煮取量', '复煎次数', '几次服用', '服用说明', '医生', '每剂数量', '发药量', '原发药量', '库存量', '零售价', '金额', '生产厂家', '药单类型', '确认时间', '规格编号', '医保编码','草药医嘱说明'],
- colModel: [
- {
- name: 'fybz',
- index: 'fybz',
- align: 'center',
- width: 30,
- editable: true,
- formatter: "select",
- hidden: (pageClass === 'T' || groupNo === '81' || groupNo === '83' || pageClass === 'HT'),
- edittype: "select",
- editoptions: (pageClass === '3' || pageClass === '4') ? {value: "0:发药;1:暂缓"} : {value: "0:发药;1:暂缓;2:拒发"},
- formatter: function (cellvalue, options, rowObject) {
- if (cellvalue == null || cellvalue == 0) {
- return "<span style='color: green'>发药</span>"
- } else if (cellvalue == 1) {
- return "<span style='color: brown'>暂缓</span>"
- } else if (cellvalue == 2) {
- return "<span style='color: red'>拒发</span>"
- }
- }
- },
- {
- name: 'tybz',
- index: 'tybz',
- align: 'center',
- width: 30,
- formatter: "checkbox",
- editable: true,
- hidden: (pageClass === 'T' || pageClass === 'HT') ? false : true,
- edittype: 'checkbox',
- editoptions: {value: "1:0"}
- },
- {name: 'pageNo', index: 'pageNo', align: 'center', width: 30, hidden: true},
- {
- name: 'manuNo',
- index: 'manuNo',
- align: 'center',
- width: 30,
- editable: true,
- hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false,
- edittype: "text"
- },
- {
- name: 'inpatientNo',
- index: 'inpatientNo',
- align: 'center',
- width: 30,
- hidden: (!(groupNo === '81' || groupNo === '83'))
- },
- {name: 'bedNo', index: 'bedNo', align: 'center', width: 30, hidden: (!(groupNo === '81' || groupNo === '83'))},
- {name: 'name', index: 'name', align: 'center', width: 30, hidden: (!(groupNo === '81' || groupNo === '83'))},
- {name: 'quantityDj', index: 'quantityDj',width: 30, hidden: (!(groupNo === '81' || groupNo === '83')),
- formatter: function (cellvalue, options, rowObject) {
- return cellvalue==0?'':cellvalue
- }},
- {name: 'location', index: 'location', align: 'center', width: 30},
- {name: 'chargeCode', index: 'chargeCode', align: 'center', width: 30},
- {name: 'drugName', index: 'drugName', align: 'left', width: 50},
- {name: 'specification', index: 'specification', align: 'center', width: 30},
- {name: 'amount', index: 'amount', align: 'center', width: 30},
- {name: 'orderJe', index: 'orderJe', hidden: true},
- {name: 'orderJeDj', index: 'orderJeDj', hidden: true},
- {name: 'cyMtjs', index: 'cyMtjs', hidden: true},
- {name: 'cyJssm', index: 'cyJssm', hidden: true},
- {name: 'cyJsl', index: 'cyJsl', hidden: true},
- {name: 'cyZql', index: 'cyZql', hidden: true},
- {name: 'cyFj', index: 'cyFj', hidden: true},
- {name: 'cyFfcs', index: 'cyFfcs', hidden: true},
- {name: 'fysmContent', index: 'fysmContent', hidden: true},
- {name: 'doctorName', index: 'doctorName', hidden: true},
- {
- name: 'minAmount',
- index: 'minAmount',
- align: 'center',
- width: 30,
- hidden: (!(groupNo === '81' || groupNo === '83'))
- },
- {
- name: 'amountCount',
- index: 'amountCount',
- align: 'center',
- width: 30,
- hidden: (!(groupNo === '81' || groupNo === '83')),
- formatter: function (cellvalue, options, rowObject) {
- return rowObject.amount * rowObject.minAmount
- }
- },
- {
- name: 'oldAmount', index: 'oldAmount', align: 'center', width: 30, hidden: true,
- formatter: function (cellvalue, options, rowObject) {
- return rowObject.amount
- }
- },
- {
- name: 'stockAmount', index: 'stockAmount', align: 'center', width: 30,
- formatter: function (cellValue, options, rowObject) {
- var amount = rowObject['amount'];
- if(cellValue < amount){
- rowsToColor[rowsToColor.length] = options.rowId;
- }
- return cellValue;
- }
- },
- {name: 'retprice', index: 'retprice', align: 'center', width: 30},
- {
- name: 'totalMoney', index: 'totalMoney', align: 'center', width: 30,
- formatter: function (cellvalue, options, rowObject) {
- let money = 0;
- if(rowObject.retprice === '合计'){
- money = cellvalue;
- } else if (groupNo === '81' || groupNo === '83') {
- money = keepTwoDecimal(rowObject.retprice * rowObject.amount * rowObject.minAmount);
- } else {
- money = keepTwoDecimal(rowObject.retprice * rowObject.amount);
- }
- return money;
- }
- },
- {
- name: 'manufactory',
- index: 'manufactory',
- align: 'left',
- width: 60,
- hidden: groupNo !== '73'
- },
- {
- name: 'pageClass',
- index: 'pageClass',
- align: 'center',
- width: 40,
- hidden: groupNo !== '73'
- },
- { name: 'confirmTime',
- index: 'confirmTime',
- align: 'center',
- width: 40,
- formatter: function (cellvalue, options, rowObject) {
- if (!isEmpty(cellvalue)) {
- return format(cellvalue, "yyyy-MM-dd HH:mm:ss");
- }
- return "";
- },
- hidden: groupNo !== '73'
- },
- {name: 'serial', index: 'serial', align: 'center', width: 40, hidden: true},
- {
- name: 'nationalCode', index: 'nationalCode', align: 'left', width: 40,
- formatter: function (cellvalue, options, rowObject) {
- return cellvalue == null ? "-" : cellvalue;
- }
- },
- {name: 'instruction', index: 'instruction', align: 'center', width: 40, hidden: true}
- ],
- gridComplete: function(){
- for (var i = 0; i < rowsToColor.length; i++) {
- $("#" + rowsToColor[i]).find("td").css("background-color", "red");
- $("#" + rowsToColor[i]).find("td").css("color", "silver");
- }
- },
- jsonReader: {
- root: "data", repeatitems: false
- },
- beforeEditCell: function (rowid, cellname, v, iRow, iCol) {
- lastrow = iRow;
- lastcell = iCol;
- },
- afterSaveCell: function (rowid, celname, value, iRow, iCol) {
- if (celname === 'manuNo') {
- return true
- }
- let data = $("#tb_summarizing_table").getRowData(rowid);
- $("#tb_summarizing_table").setCell(rowid, iCol, value);
- if (value == null || value == 0) {
- //重置
- $("#tb_summarizing_table").setCell(rowid, "amount", data.oldAmount);
- $("#tb_summarizing_table").setCell(rowid, "totalMoney", keepTwoDecimal(data.retprice * data.oldAmount));
- } else {
- $("#tb_summarizing_table").setCell(rowid, "amount", 0);
- $("#tb_summarizing_table").setCell(rowid, "totalMoney", 0);
- }
- return true
- },
- loadComplete: function (res) { //加载完成(初始加载),回调函数
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == -1) {
- errorMesage(res);
- }
- }
- });
- $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='打印汇总药单' onclick='printCountT(0)' style='margin-left: 10px;'><i class='fa fa-print'></i></button>");
- $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='打印口服标签' onclick='printLabelData(0)' style='color: green;margin-left: 10px;'><i class='fa fa-print'></i></button>");
- if (($("#submitFlagSearch").val() === '1' && groupNo !== '81' && groupNo !== '83') || ($("#submitFlagSearch").val() === '3' && (groupNo === '81' || groupNo === '83'))) {
- $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='保存药单' id='collect_save' onclick='save(0)' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
- } else {
- $("#t_tb_summarizing_table").append("<button class='registration-no-color-foot-button' title='保存批号' id='manu_save_hz' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
- }
- $("#manu_save_hz").click(function (t) {
- var obj = $('#tb_summarizing_table');
- var rowIds = obj.getDataIDs();
- var arrayData = new Array();
- if (rowIds.length > 0) {
- for (var i = 0; i < rowIds.length; i++) {
- let rowDate = obj.getRowData(rowIds[i]);
- if (!isEmpty(rowDate.manuNo)) {
- arrayData.push({
- pageNo: rowDate.pageNo,
- chargeCode: rowDate.chargeCode,
- manuNo: rowDate.manuNo
- });
- }
- }
- }
- request({
- url: '/modifyManuNoZy',
- method: 'POST',
- data: JSON.stringify(arrayData)
- }).then((res) => {
- successMesage(res);
- initButtonChange("#qld", 0);
- });
- });
- }
- /**
- * 初始化药单详细信息表格
- */
- function initDetailTable() {
- $.jgrid.gridUnload("tb_detail_table");
- $("#tb_detail_table").jqGrid({
- datatype: 'local',
- mtype: 'get',
- url: '/thmz/getZyDrugDetail',
- loadBeforeSend: function (jqXHR) {
- jqXHR.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem("token"));
- jqXHR.setRequestHeader("Accept", 'application/json');
- },
- postData: {
- pageNo: hzFlag === 0 ? pageNo : pageNos,
- pageClass: pageClass,
- submitFlag: $("#submitFlagSearch").val()
- },
- toolbar: [true, "top"],
- styleUI: 'Bootstrap',
- height: '100%',
- viewrecords: true,
- autowidth: true,
- shrinkToFit: true,
- cellEdit: true,
- cellsubmit: "clientArray",
- rowNum: -1,//取消分页
- caption: '请领单药品明细',
- grouping: true,
- footerrow:true,//设置属性,显示统计行
- gridComplete:function(){
- var rowNum=parseInt($(this).getGridParam("records"),20);//获取行数
- if(rowNum>0){
- $(".ui-jqgrid-sdiv").show();
- let estatecount=$(this).getCol("totalMoney",false,"sum");//需要统计的列
- $(this).footerData("set",{"retprice":"合计","totalMoney":keepTwoDecimal(estatecount)}); //将合计值显示出来
- }else{
- $(".ui-jqgrid-sdiv").hide();
- }
- },
- colNames: ['发药', '拒退', '批号', '单号', '住院号', '床号', '次数', '姓名', '药品名称', '规格', '数量', '原发药量', '零售价', '金额', '执行时间', '医嘱', '给药方式','确认时间'
- , '频率', '剂量', '单位', '生日', '性别', '身份', '诊断', '科室', '病室', '是否婴儿', '请领人', '长期标志', '药品类型', '给药方式编码', '医嘱号',
- '自费标志', '单列', '贵重', '毒麻', '审批标志', '药房编码', '规格', '医生编码', '药单类别', '药品编码', '口服开始时间', '口服结束时间', '帐页号', '流水号', '医生', '医保编码','执行科室(医技药单用)'],
- colModel: [
- {
- name: 'fybz',
- index: 'fybz',
- align: 'center',
- width: 30,
- editable: true,
- formatter: "select",
- hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false,
- edittype: "select",
- editoptions: (pageClass === '3' || pageClass === '4') ? {value: "0:发药;1:暂缓"} : {value: "0:发药;1:暂缓;2:拒发"},
- formatter: function (cellvalue, options, rowObject) {
- if (cellvalue == null || cellvalue == 0) {
- return "<span style='color: green'>发药</span>"
- } else if (cellvalue == 1) {
- return "<span style='color: brown'>暂缓</span>"
- } else if (cellvalue == 2) {
- return "<span style='color: red'>拒发</span>"
- }
- }
- },
- {
- name: 'tybz',
- index: 'tybz',
- align: 'center',
- width: 30,
- formatter: "checkbox",
- editable: true,
- hidden: (pageClass == 'T' || pageClass == 'HT') ? false : true,
- edittype: 'checkbox',
- editoptions: {value: "1:0"}
- },
- {
- name: 'manuNo',
- index: 'manuNo',
- align: 'center',
- width: 30,
- editable: true,
- hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false,
- edittype: "text"
- },
- {name: 'pageNo', index: 'pageNo', align: 'center', width: 30, hidden: true},
- {name: 'inpatientNo', index: 'inpatientNo', align: 'center', width: 30},
- {name: 'bedNo', index: 'bedNo', align: 'center', width: 30, hidden: pageClass == 'A' ? true : false},
- {name: 'admissTimes', index: 'admissTimes', align: 'center', width: 30},
- {name: 'name', index: 'name', align: 'center', width: 30},
- {
- name: 'drugName', index: 'drugName', align: 'left', width: 60,
- formatter: function (cellvalue, options, rowObject) {
- return rowObject.drugName + "(" + rowObject.manufactory + ")"
- }
- },
- {name: 'specification', index: 'specification', align: 'center', width: 40},
- {name: 'amount', index: 'amount', align: 'center', width: 30},
- {
- name: 'oldAmount', index: 'oldAmount', align: 'center', width: 30, hidden: true,
- formatter: function (cellvalue, options, rowObject) {
- return rowObject.amount
- }
- },
- {name: 'retprice', index: 'retprice', align: 'center', width: 30},
- {
- name: 'totalMoney', index: 'totalMoney', align: 'center', width: 30,
- formatter: function (cellvalue, options, rowObject) {
- if(rowObject.retprice === '合计'){
- return cellvalue
- }
- // 保留4位小数
- return keepMiDecimal(rowObject.retprice * rowObject.amount, 10000)
- }
- },
- {
- name: 'occTime', index: 'occTime', align: 'center', width: 40
- , formatter: "date", formatoptions: {srcformat: 'Y-m-d H:i:s', newformat: 'Y-m-d H:i:s'}
- },
- {
- name: 'instruction',
- index: 'instruction',
- align: 'left',
- width: 50,
- hidden: pageClass == 'A' ? true : false
- },
- {
- name: 'supplyName',
- index: 'supplyName',
- align: 'center',
- width: 40,
- hidden: pageClass == 'A' ? true : false
- },
- {
- name: 'confirmTime',
- index: 'confirmTime',
- align: 'center',
- width: 40,
- formatter: function (cellvalue, options, rowObject) {
- if (!isEmpty(cellvalue)) {
- return format(cellvalue, "yyyy-MM-dd HH:mm:ss");
- }
- return "";
- }
- },
- {name: 'frequCode', index: 'frequCode', align: 'center', width: 40, hidden: true},
- {name: 'dose', index: 'dose', align: 'center', width: 40, hidden: true},
- {name: 'doseUnit', index: 'doseUnit', align: 'center', width: 40, hidden: true},
- {name: 'birthDate', index: 'birthDate', align: 'center', width: 40, hidden: true},
- {name: 'sex', index: 'sex', align: 'center', width: 40, hidden: true},
- {name: 'responceName', index: 'responceName', align: 'center', width: 40, hidden: true},
- {name: 'admissDiagStr', index: 'admissDiagStr', align: 'center', width: 40, hidden: true},
- {name: 'deptCode', index: 'deptCode', align: 'center', width: 40, hidden: true},
- {name: 'wardCode', index: 'wardCode', align: 'center', width: 40, hidden: true},
- {name: 'infantFlag', index: 'infantFlag', align: 'center', width: 40, hidden: true},
- {name: 'drawer', index: 'drawer', align: 'center', width: 40, hidden: true},
- {name: 'alwaysFlag', index: 'alwaysFlag', align: 'center', width: 40, hidden: true},
- {name: 'drugClass', index: 'drugClass', align: 'center', width: 40, hidden: true},
- {name: 'supplyCode', index: 'supplyCode', align: 'center', width: 40, hidden: true},
- {name: 'actOrderNo', index: 'actOrderNo', align: 'center', width: 40, hidden: true},
- {name: 'selfFlag', index: 'selfFlag', align: 'center', width: 40, hidden: true},
- {name: 'separateFlag', index: 'separateFlag', align: 'center', width: 40, hidden: true},
- {name: 'supriceFlag', index: 'supriceFlag', align: 'center', width: 40, hidden: true},
- {name: 'drugFlag', index: 'drugFlag', align: 'center', width: 40, hidden: true},
- {name: 'paySelf', index: 'paySelf', align: 'center', width: 40, hidden: true},
- {name: 'groupNo', index: 'groupNo', align: 'center', width: 40, hidden: true},
- {name: 'serial', index: 'serial', align: 'center', width: 40, hidden: true},
- {name: 'doctorName', index: 'doctorName', align: 'center', width: 40, hidden: true},
- {name: 'pageClass', index: 'pageClass', align: 'center', width: 40, hidden: true},
- {name: 'chargeCode', index: 'chargeCode', align: 'center', width: 40, hidden: true},
- {name: 'kssj', index: 'kssj', align: 'center', width: 40, hidden: true},
- {name: 'jssj', index: 'jssj', align: 'center', width: 40, hidden: true},
- {name: 'ledgerSn', index: 'ledgerSn', align: 'center', width: 40, hidden: true},
- {name: 'detailSn', index: 'detailSn', align: 'center', width: 40, hidden: true},
- {name: 'doctorNameStr', index: 'doctorNameStr', align: 'center', width: 40},
- {
- name: 'nationalCode', index: 'nationalCode', align: 'left', width: 60,
- formatter: function (cellvalue, options, rowObject) {
- return cellvalue == null ? "-" : cellvalue;
- }
- },
- {name: 'execUnit', index: 'execUnit', align: 'center', width: 40, hidden: true}
- ],
- jsonReader: {
- root: "data", repeatitems: false
- },
- beforeEditCell: function (rowid, cellname, v, iRow, iCol) {
- lastrow = iRow;
- lastcell = iCol;
- },
- afterSaveCell: function (rowid, celname, value, iRow, iCol) {
- if (celname === 'manuNo') {
- return true
- }
- let data = $("#tb_detail_table").getRowData(rowid);
- $("#tb_detail_table").setCell(rowid, iCol, value);
- if (value == null || value == 0) {
- //重置
- $("#tb_detail_table").setCell(rowid, "amount", data.oldAmount);
- $("#tb_detail_table").setCell(rowid, "totalMoney", keepTwoDecimal(data.retprice * data.oldAmount));
- } else {
- $("#tb_detail_table").setCell(rowid, "amount", 0);
- $("#tb_detail_table").setCell(rowid, "totalMoney", 0);
- }
- return true
- },
- loadComplete: function (res) { //加载完成(初始加载),回调函数
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == -1) {
- errorMesage(res);
- } else {
- if (!isEmpty(res.data) && res.data.length > 0) {
- $("#tb_detail_table").setSelection(1, false)
- }
- }
- }
- });
- $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='打印药单明细' onclick='getPrintDetail(0)' style='margin-left: 10px;'><i class='fa fa-print'></i></button>");
- $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='打印口服标签' onclick='printLabelData(1)' style='color: green;margin-left: 10px;'><i class='fa fa-print'></i></button>");
- if ($("#submitFlagSearch").val() === '1') {
- $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='确认药单' id='detail_save' onclick='save(1)' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
- } else {
- $("#t_tb_detail_table").append("<button class='registration-no-color-foot-button' title='保存批号' id='manu_save_mx' style='color: green;margin-left: 10px;'><i class='fa fa-floppy-o'></i></button>");
- }
- $("#manu_save_mx").click(function (t) {
- var obj = $('#tb_detail_table');
- var rowIds = obj.getDataIDs();
- var arrayData = new Array();
- if (rowIds.length > 0) {
- for (var i = 0; i < rowIds.length; i++) {
- let rowDate = obj.getRowData(rowIds[i]);
- if (!isEmpty(rowDate.manuNo)) {
- arrayData.push({
- actOrderNo: rowDate.actOrderNo,
- chargeCode: rowDate.chargeCode,
- inpatientNo: rowDate.inpatientNo,
- orderDate: rowDate.occTime,
- manuNo: rowDate.manuNo
- });
- }
- }
- }
- request({
- url: '/modifyManuNoZy',
- method: 'POST',
- data: JSON.stringify(arrayData)
- }).then((res) => {
- successMesage(res);
- initButtonChange("#qld", 0);
- });
- });
- }
- /**
- * 获取时间选择器的时间数组
- * @returns {string[]}
- */
- function getRePortRangeArr() {
- var rePortRange = $('#reportrange span').html();
- var rePortRangeArr = rePortRange.split(" - ");
- rePortRangeArr[0] = rePortRangeArr[0] + " 00:00:00"
- rePortRangeArr[1] = rePortRangeArr[1] + " 23:59:59"
- return rePortRangeArr;
- }
- /**
- * 构建列表查询参数
- * @param params
- */
- function queryParams(params) {
- var rePortRangeArr = getRePortRangeArr();
- let wardCode = ($("#wardCode").val() == null ? null : $("#wardCode").val()[0]);
- var temp = {
- submitBeginDate: isEmpty($("#pageNoSearch").val())?rePortRangeArr[0]:null,
- submitEndDate: isEmpty($("#pageNoSearch").val())?rePortRangeArr[1]:null,
- wardCode: wardCode,
- pageNo: $("#pageNoSearch").val() == "" ? null : $("#pageNoSearch").val(),
- groupNo: groupNo,
- submitFlag: $("#submitFlagSearch").val()
- };
- if (groupNo !== '81' && groupNo !== '83') {
- temp.pageClass = $("#pageClassSearch").val() == "" ? null : $("#pageClassSearch").val();
- }
- return temp;
- };
- /**
- * 清空查询条件
- */
- function cleanParams() {
- searchData = {};
- $("#pageNoSearch").val(null);
- $("#pageClassSearch").val(null);
- $("#wardCode").selectpicker('val', '');
- if (groupNo === '81' || groupNo === '83') {
- $("#submitFlagSearch").val(3);
- } else {
- $("#submitFlagSearch").val(1);
- }
- $('#reportrange span').html(moment().subtract(5, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
- $("#submitFlagSearch").selectpicker('refresh');
- $("#wardCode").removeAttr('disabled');
- $("#pageNoSearch").removeAttr('disabled');
- $("#pageClassSearch").removeAttr('disabled');
- $("#btn_query").removeAttr('disabled');
- $("#btn_clean").removeAttr('disabled');
- $("#wardCode").selectpicker('refresh');
- $("#pageClassSearch").selectpicker('refresh');
- $("#barCode").attr('disabled', true);
- }
- /**
- * 打印西药汇总单
- */
- function printXyCount(flag, pageClassText) {
- if(isEmpty(pageClassText)){
- errorMesageSimaple("药单类型为空,请重新打印药单!");
- return;
- }
- let html = '';
- let totalMoney = 0;
- $('.sjhHz').remove();
- let datas = getJQAllData("tb_summarizing_table");
- let summaryData = [];
- for (var i = 0; i < datas.length; i++) {
- let data = datas[i];
- let summaryInfo = {chargeCode:'', serial: '',amount:0, printPageNo:'', printPageClass:'', retprice:0 };
- summaryInfo.chargeCode = data.chargeCode;
- summaryInfo.serial = data.serial;
- summaryInfo.amount = data.amount;
- summaryInfo.printPageNo = data.pageNo;
- summaryInfo.printPageClass = data.pageClass;
- summaryInfo.retprice = data.retprice;
- summaryData.push(summaryInfo)
- let handle = data.fybz;
- if (pageClass === "T" || pageClass === "HT") {
- if (data.tybz == 0) {
- handle = '退药'
- } else {
- handle = '拒退'
- }
- }
- html += '<tr class="sjhHz">';
- html += '<td class="xtd" style="text-align: center;">' + handle + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.chargeCode + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.location + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.drugName + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.specification + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.amount + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.manufactory + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.retprice + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.totalMoney + '</td>';
- html += '</tr>';
- totalMoney += parseFloat(data.totalMoney);
- summaryInfo = {chargeCode:'', serial: '',amount:0, printPageNo:'', printPageClass:'', retprice:0};
- }
- html += '<tr class="sjhHz">';
- html += '<td colspan="8" style="text-align: right;font-weight: 700;">总计:' + keepTwoDecimal(parseFloat(totalMoney)) + '</td>';
- html += '<td colspan="1"></td>';
- html += '</tr>';
- html += '<tr class="sjhHz"><td colspan="9" style="border: transparent !important;"> </td></tr>';
- html += '<tr class="sjhHz">';
- html += '<td colspan="3" style="text-align: left;font-weight: 700;border: transparent !important;">调配人:</td>';
- html += '<td colspan="3" style="text-align: left;font-weight: 700;border: transparent !important;">核发人:</td>';
- html += '<td colspan="3" style="text-align: left;font-weight: 700;border: transparent !important;">领药人:</td>';
- html += '</tr>';
- $("#hzdy_table").append(html);
- let title = (pageClass == "T" || pageClass == "HT") ? '病房退药单' : '病房汇总领药单(' + pageClassText + ')';
- $(".title").text(flag == 0 ? title + "(重打)" : title);
- $(".groupName").text(groupNo == 71 ? '门诊西药房' : '住院药房');
- let w_code = $("#wardCode").find("option:selected").text();
- $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));
- $(".pageNo").text($("#pageNoSearch").val() == '' ? pageNos : $("#pageNoSearch").val());
- $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm"));
- print("hzdy_table_div");
- // 保存打印数据记录以供数据核对
- saveSummaryData(flag, summaryData);
- }
- /**
- * 打印草药处方
- */
- function printCyCount(flag) {
- let html = '';
- let datas = getJQAllData("tb_summarizing_table");
- let w_code = $("#wardCode").find("option:selected").text();
- $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));
- $(".pageNo").text($("#pageNoSearch").val());
- $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm"));
- $('.sjh').remove();
- for (var i = 0; i < datas.length;) {
- let data = datas[i];
- if (i === 0) {
- $(".inpatientNo").text(data.inpatientNo);
- $(".name").text(data.name);
- $(".bedNo").text(data.bedNo);
- }
- html += '<tr class="sjh">';
- html += '<td class="xtd" style="text-align: left;">' + data.drugName + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.specification + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.minAmount + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.instruction + '</td>';
- if (i !== datas.length - 1) {
- html += '<td class="xtd" style="text-align: left;">' + datas[i + 1].drugName + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + datas[i + 1].specification + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + datas[i + 1].minAmount + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + datas[i + 1].instruction + '</td>';
- html += '</tr>';
- }
- i += 2;
- }
- $("#trContent").append(html);
- let totalContent;
- let fyfsContent;
- if(groupNo === '83'){
- totalContent = '共 ' + datas[0].amount + ' 剂,' + datas[0].orderJe + ' 元/剂,' +
- '药费总金额:' + keepTwoDecimal(datas[0].orderJe * datas[0].amount) + '元。';
- fyfsContent = '每天 ' + datas[0].cyMtjs + ' 剂,' + datas[0].cyJssm + datas[0].cyJsl + 'ml,' +
- '分 ' + datas[0].cyFfcs + ' 次,' + datas[0].fysmContent + '。';
- } else {
- totalContent = '共 ' + datas[0].amount + ' 剂,' + datas[0].orderJe + ' 元/剂,院内代煎 ' + datas[0].quantityDj + ' 剂,' +
- '药费总金额:' + keepTwoDecimal(datas[0].orderJe * datas[0].amount) + '元,代煎费:' + datas[0].quantityDj * datas[0].orderJeDj + '元。';
- fyfsContent = '每天 ' + datas[0].cyMtjs + ' 剂,' + datas[0].cyJssm + datas[0].cyJsl + 'ml,煮取' + datas[0].cyZql + 'ml,复煎 ' + datas[0].cyFj + ' 次,' +
- '分 ' + datas[0].cyFfcs + ' 次,' + datas[0].fysmContent + '。';
- }
- $(".total").text(totalContent + fyfsContent);
- // $(".fyfs").text(fyfsContent);
- $(".doctorName").text(datas[0].doctorName);
- print("zydy_table_div");
- }
- // 手动打印汇总药单
- function printCountT(flag){
- let pageClassText = $("#pageClassSearch").find("option:selected").text();
- printCount(flag, pageClassText);
- }
- /**
- * 打印汇总单
- * @param flag 0:手动打印 1:保存后自动打印
- * @param pageClassText 药单类型
- */
- function printCount(flag, pageClassText) {
- if (groupNo === '81' || groupNo === '83') {
- printCyCount(flag);
- } else {
- printXyCount(flag, pageClassText);
- }
- }
- /**
- *打印明细单
- * @param flag 0:手动打印 1:保存后自动打印
- */
- function getPrintDetail(flag) {
- let datas = getJQAllData("tb_detail_table");
- if (pageClass == "5" || pageClass == "6") {
- $.ajax({
- type: "GET",
- url: '/thmz/getOralPrintData',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: {
- pageNo: hzFlag === 0 ? pageNo : pageNos,
- pageClass: pageClass,
- submitFlag: $("#submitFlagSearch").val()
- },
- success: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == 0) {
- for (let i = 0; i < res.data.list.length; i++) {
- let byjDate = res.data.list[i];
- byjDate["oldAmount"] = byjDate["amount"];
- let flag = true;
- for (let j = 0; j < datas.length; j++) {
- let data = datas[j];
- //发药数量为0,删减汇总数量
- if (byjDate["inpatientNo"] == data["inpatientNo"]
- && byjDate["chargeCode"] == data["chargeCode"] && byjDate["serial"] == data["serial"]) {
- flag = false;
- if (data["amount"] == 0) {
- byjDate["amount"] -= parseFloat(data["oldAmount"])
- }
- }
- }
- if (flag) {
- res.data.list.splice(i, 1);
- i--;
- }
- }
- for (let i = 0; i < res.data.byjList.length; i++) {
- let byjDate = res.data.byjList[i];
- byjDate["oldAmount"] = byjDate["amount"];
- let flag = true;
- for (let j = 0; j < datas.length; j++) {
- let data = datas[j];
- //发药数量为0,删减汇总数量
- if (byjDate["inpatientNo"] == data["inpatientNo"]
- && byjDate["chargeCode"] == data["chargeCode"] && byjDate["serial"] == data["serial"]) {
- flag = false;
- if (data["amount"] == 0) {
- byjDate["amount"] -= parseFloat(data["oldAmount"])
- }
- }
- }
- if (flag) {
- res.data.byjList.splice(i, 1);
- i--;
- }
- }
- printDetail(res.data, 1, flag)
- } else {
- errorMesage(res);
- }
- }
- });
- } else {
- printDetail(datas, 0, flag);
- }
- }
- function printDetail(datas, kfFlag, flag) {
- if (kfFlag == 1) {
- if (flag == 0) {
- printDetailHtml(datas.list.concat(datas.byjList), flag);
- } else if (flag == 1) {
- if (datas.list.length > 0) {
- printDetailHtml(datas.list, flag);
- }
- if (datas.byjList.length > 0) {
- printDetailHtml(datas.byjList, flag);
- }
- }
- } else {
- printDetailHtml(datas, flag);
- }
- }
- /**
- *
- */
- function printDetailHtml(dataArr, flag) {
- let dataCopy = $.extend(true, [], dataArr)
- let html = '';
- let totalMoney = 0;
- let oldInpatientNo = '';//记录上一个病人
- let title = '病房明细领药单(' + $("#pageClassSearch").find("option:selected").text() + ')';
- if (pageClass == '5') {
- title = '长期口服领药单';
- $(".wardName").text(dataCopy[0].wardName);
- } else if (pageClass == '6') {
- title = '临时口服领药单';
- $(".wardName").text(dataCopy[0].wardName);
- } else {
- let w_code = $("#wardCode").find("option:selected").text();
- $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));
- }
- if (flag == 1 && dataCopy[0].byjFlag == 1) {
- title += '(摆药机)'
- } else if (flag == 0) {
- title += '(重打)'
- }
- $(".title").text(title);
- $(".groupName").text(groupNo == 71 ? '门诊西药房' : '住院药房');
- $(".pageNo").text(pageNo);
- $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm"));
- $('.sjh').remove();
- let minOccTime = '';
- for (var i = 0; i < dataCopy.length; i++) {
- let data = dataCopy[i];
- if (pageClass != "A" && pageClass != "5" && (oldInpatientNo == '' || oldInpatientNo != data.inpatientNo)) {//临时口服,统领单
- html += '<tr class="sjh">';
- html += '<td colspan="2" class="xtd" style="text-align: left;border: transparent !important;">年龄:' + getBirthSlot(data.birthDate, new Date()) + '</td>';
- html += '<td colspan="2" class="xtd" style="text-align: left;border: transparent !important;">性别:' + getSex(data.sex) + '</td>';
- html += '<td colspan="2" class="xtd" style="text-align: left;border: transparent !important;">身份:' + data.responceName + '</td>';
- html += '<td colspan="8" class="xtd" style="text-align: left;border: transparent !important;">诊断:';
- if (data.admissDiagStr != null) {
- html += data.admissDiagStr
- }
- html += '</td>';
- html += '</tr>';
- }
- html += '<tr class="sjh">';
- if (pageClass == "5") {
- $(".zyh").hide();
- if (oldInpatientNo == '' || oldInpatientNo != data.inpatientNo) {
- html += '<td class="xtd" style="text-align: center;">' + data.name + '</td>';
- } else {
- html += '<td class="xtd" style="text-align: center;border:0;"></td>';
- }
- } else {
- $(".zyh").show();
- html += '<td class="xtd" style="text-align: center;">' + data.inpatientNo + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.name + '</td>';
- }
- html += '<td class="xtd" style="text-align: center;">' + data.bedNo + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.drugName;
- oldInpatientNo = data.inpatientNo;
- if (pageClass == '5' || pageClass == '6') {
- html += '(' + data.manufactory + ')'
- }
- +'</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.specification + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.oldAmount + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.amount + '</td>';
- if (pageClass == "A") {//医技
- $(".yjmxtd").show();
- $(".kfmxtd").hide();
- $(".kssj").hide();
- $(".jssj").hide();
- html += '<td class="xtd" style="text-align: center;">' + data.retprice + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.totalMoney + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.occTime + '</td>';
- } else if (pageClass == "5" || pageClass == "6") {//口服单
- $(".kfmxtd").show();
- $(".yjmxtd").hide();
- $(".gyfs").hide();
- if (minOccTime === '' || minOccTime > format(data.occTime, "yyyy-MM-dd HH:mm:ss")) {
- minOccTime = format(data.occTime, "yyyy-MM-dd HH:mm:ss")
- }
- html += '<td class="xtd" style="text-align: center;">' + data.frequCode + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.dose + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.doseUnit + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.instruction + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.kssj + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.jssj + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.doctorNameStr + '</td>';
- } else {
- $(".kfmxtd").show();
- $(".yjmxtd").hide();
- $(".kssj").hide();
- $(".jssj").hide();
- html += '<td class="xtd" style="text-align: center;">' + data.frequCode + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.dose + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.doseUnit + '</td>';
- html += '<td class="xtd" style="text-align: left;">' + data.instruction + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.supplyName + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.doctorNameStr + '</td>';
- }
- /*html += '<td class="xtd" style="text-align: center;">' + (isEmpty(data.manuNo) ? "" : data.manuNo) + '</td>';*/
- html += '</tr>';
- totalMoney += parseFloat(data.totalMoney);
- }
- if (pageClass == "5" || pageClass == "6") {//口服单
- $(".kssj").show();
- $(".jssj").show();
- let arr1 = minOccTime.split(" ");
- let sdate = arr1[0].split('-');
- let kssj = new Date(sdate[0], sdate[1] - 1, sdate[2]);
- $(".kssj").text(format(kssj, "yy/MM/dd"));
- kssj.setTime(kssj.getTime() + 24 * 60 * 60 * 1000);
- $(".jssj").text(format(kssj, "yy/MM/dd"));
- }
- html += '<tr class="sjh"><td colspan="13" style="border: transparent !important;"> </td></tr>';
- html += '<tr class="sjh">';
- html += '<td colspan="3" style="text-align: left;font-weight: 700;border: transparent !important;">调配人:<br><br>时间:</td>';
- html += '<td colspan="3" style="text-align: left;font-weight: 700;border: transparent !important;">核发人:<br><br>时间:</td>';
- html += '<td colspan="3" style="text-align: left;font-weight: 700;border: transparent !important;">领药人:<br><br>时间:</td>';
- html += '<td colspan="4" style="text-align: left;font-weight: 700;border: transparent !important;">护士:<br><br>时间:</td>';
- html += '</tr>';
- $("#mxdy_table").append(html);
- print("mxdy_table_div");
- // 清空打印内容,保证每次打印内容都是这次药单打印的内容
- dataCopy == null
- }
- /**
- * 打印标签
- * @param flag 当前是否为明细栏
- * @param isByj 是否使用摆药机
- */
- function printLabelData(flag, isByj) {
- if (groupNo === '81' || groupNo === '83') {
- printZyLabelData();
- } else {
- printXyLabelData(flag, isByj);
- }
- }
- /**
- * 西药打印标签
- * @param flag 当前是否为明细栏
- * @param isByj 是否使用摆药机
- */
- function printXyLabelData(flag, isByj) {
- $.ajax({
- type: "GET",
- url: '/thmz/getLabelPrintDatas',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: {
- pageNo: hzFlag === 0 ? pageNo : pageNos,
- submitFlag: $("#submitFlagSearch").val(),
- isByj: isByj ? isByj : 0
- },
- success: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == 0) {
- if (res.data.length == 0) {
- warningMesageSimaple("没有需要打印的口服标签");
- return;
- }
- printLabel(res.data, flag);
- successMesage(res);
- } else {
- errorMesage(res);
- }
- }
- });
- }
- /**
- * 中药打印标签
- * @param flag 当前是否为明细栏
- * @param isByj 是否使用摆药机
- */
- function printZyLabelData() {
- var ids = $('#tb_summarizing_table').getDataIDs();
- let data = $("#tb_summarizing_table").getRowData(ids[0]);
- $('#zydybqform')[0].reset();
- if (nfdPrintIndex == null) {
- return errorMesageSimaple('未设置内服袋打印机,请在发药参数设置中设置');
- }
- let w_code = $("#wardCode").find("option:selected").text();
- $('#zydyNameLabel').val(data.name);
- $('#bedNoLabel').val(data.bedNo);
- $('#wardLabel').val(w_code.substring(0, w_code.lastIndexOf("(")));
- $('#dyslLabel').val(groupNo === '83' ? data.amount : data.amount * 2);
- let fyfsContent;
- if(groupNo === '83'){
- fyfsContent = '每天' + data.cyMtjs + '剂,' + data.cyJssm + data.cyJsl + 'ml,' +
- '分' + data.cyFfcs + '次,' + data.fysmContent;
- } else {
- fyfsContent = '每天' + data.cyMtjs + '剂,' + data.cyJssm + data.cyJsl + 'ml,煮取' + data.cyZql + 'ml,复煎' + data.cyFj
- + '次,' + '分' + data.cyFfcs + '次,' + data.fysmContent;
- }
- $('#yfLabel').val(fyfsContent);
- $('#dateLabel').val(format(new Date(), "MM-dd"));
- $('#zydybqModal').modal();
- }
- /**
- * 打印标签
- * @param datas
- * @param isMx
- */
- function printLabel(datas, isMx) {
- LODOP = getLodop();
- LODOP.PRINT_INITA(6, 0, "80mm", "60mm", "住院患者内服袋打印");
- LODOP.SET_PRINT_PAGESIZE(1, "80mm", "60mm", "");
- //设置打印机
- LODOP.SET_PRINTER_INDEX(nfdPrintIndex);
- LODOP.SET_PRINT_STYLE("FontSize", 10); //字体大小
- LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
- if(pageClass == 1){//出院带药
- printLabelKf(datas, LODOP);
- }else if(pageClass == 5){//长期口服
- printLabelLongTime(datas, isMx, LODOP);
- }else {
- let tableDatas = getJQAllData(isMx == 1 ? "tb_detail_table" : "tb_summarizing_table");
- var strStyle = "<style>table,td,th {border-width: 1px;" +
- "border-style: solid;border-collapse: collapse;table-layout:fixed;word-wrap:break-word;font-size: 16px}.xtd{border: 1px solid black;}</style>";
- for (var i = 0; i < datas.length; i++) {
- let data = datas[i];
- for (let j = 0; j < tableDatas.length; j++) {
- if (tableDatas[j].fybz.indexOf("发药") != -1 && tableDatas[j].chargeCode == data.chargeCode
- && tableDatas[j].serial == data.serial && ((tableDatas[j].inpatientNo == data.inpatientNo && tableDatas[j].occTime == data.occTime) || isMx == 0)) {
- /*let w_code = $("#wardCode").find("option:selected").text();
- $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));*/
- $(".wardName").text(data.wardName);
- $(".inpatientNo").text($.trim(data.inpatientNo));
- $(".bedNo").text($.trim(data.bedNo));
- $(".name").text($.trim(data.name));
- $(".age").text(getBirthSlot(data.birthDate, new Date()));
- $(".sex").text(getSex(data.sex));
- $(".occTime").text(format(data.occTime, "yyyy/MM/dd HH:mm"));
- $(".drugName").text(data.drugName);
- $(".specification").text(data.specification);
- $(".dose").text(data.dose + data.doseUnit);
- $(".dosage").text(data.dosage.replace(".0", ""));
- $(".instruction").text(data.instruction);
- $(".effDate").text(format(data.effDate, "yyyy/MM/dd"));
- LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("bqdy_table_div").innerHTML);
- LODOP.NewPageA();
- break;
- }
- }
- }
- LODOP.PRINT();
- /*LODOP.NewPageA();*/
- //LODOP.PRINT_DESIGN();
- }
- }
- /**
- * 打印口服标签
- */
- function printLabelLongTime(datas, isMx, LODOP) {
- var strStyle = "<style>table,td,th {border-width: 1px;" +
- "border-style: solid;border-collapse: collapse;table-layout:fixed;word-wrap:break-word;font-size: 13px}.xtd{border: 1px solid black;}</style>";
- let html = '';
- let flag = true;//新的一张标签
- let number = 0;//计数,一张标签只存放五种药品
- let tableDatas = getJQAllData(isMx == 1 ? "tb_detail_table" : "tb_summarizing_table");
- $('.sjh').remove();
- for (var i = 0; i < datas.length; i++) {
- let data = datas[i];
- for (let j = 0; j < tableDatas.length; j++) {
- if (tableDatas[j].fybz.indexOf("发药") != -1
- && tableDatas[j].chargeCode == data.chargeCode && tableDatas[j].serial == data.serial
- && tableDatas[j].inpatientNo == data.inpatientNo
- && (tableDatas[j].occTime == data.occTime || isMx == 0)) {
- if ((i > 0 && (data.inpatientNo != datas[i - 1].inpatientNo || data.occTime != datas[i - 1].occTime)) || number == 5) {
- //服药时间或者病人不同另起一页,超过五种药品另起一页
- if (html != '') {
- for (let j = 0; j < 5 - number; j++) {
- html += '<tr class="sjh">';
- html += '<td class="xtd"> </td>';
- html += '<td class="xtd"></td>';
- html += '<td class="xtd"></td>';
- html += '<td class="xtd"></td>';
- html += '</tr>';
- }
- $("#cq_bqdy_table").append(html);
- LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("cq_bqdy_table_div").innerHTML);
- LODOP.NewPageA();
- html = '';
- number = 0;
- }
- flag = true;
- } else if (i != 0) {
- flag = false;
- }
- if (flag) {
- $('.sjh').remove();
- //let w_code = $("#wardCode").find("option:selected").text();
- //$(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));
- $(".wardName").text($.trim(data.wardName));
- $(".inpatientNo").text($.trim(data.inpatientNo));
- $(".bedNo").text($.trim(data.bedNo));
- $(".name").text($.trim(data.name));
- $(".age").text(getBirthSlot(data.birthDate, new Date()));
- $(".sex").text(getSex(data.sex));
- $(".occTime").text(format(data.occTime, "yyyy/MM/dd HH:mm"));
- }
- html += '<tr class="sjh">';
- html += '<td class="xtd" style="text-align: left;">' + data.drugName + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.specification + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.dose + data.doseUnit + '</td>';
- html += '<td class="xtd" style="text-align: center;">' + data.amount + '</td>';
- html += '</tr>';
- number++;
- break;
- } else {
- // 如果发药的病人第一个药品拒发或者暂缓时需要更新一下病人打印的基本信息
- if (i === 0) {
- $('.sjh').remove();
- $(".wardName").text($.trim(data.wardName));
- $(".inpatientNo").text($.trim(data.inpatientNo));
- $(".bedNo").text($.trim(data.bedNo));
- $(".name").text($.trim(data.name));
- $(".age").text(getBirthSlot(data.birthDate, new Date()));
- $(".sex").text(getSex(data.sex));
- $(".occTime").text(format(data.occTime, "yyyy/MM/dd HH:mm"));
- }
- }
- }
- }
- if (html != '') {
- for (let j = 0; j < 5 - number; j++) {
- html += '<tr class="sjh">';
- html += '<td class="xtd"> </td>';
- html += '<td class="xtd"></td>';
- html += '<td class="xtd"></td>';
- html += '<td class="xtd"></td>';
- html += '</tr>';
- }
- $("#cq_bqdy_table").append(html);
- LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("cq_bqdy_table_div").innerHTML);
- LODOP.PRINT();
- //LODOP.PRINT_DESIGN();
- }
- }
- /**
- * 打印出院带药口服标签
- * @param datas
- */
- function printLabelKf(datas,LODOP) {
- for (let i = 0; i < datas.length; i++) {
- let data = datas[i];
- $("#NO").attr("value",(i+1));
- $("#ypbq_name").attr("value",(data['name']));
- $("#ypbq_patientId").attr("value",(data['inpatientNo']));
- $("#ypbq_sex").attr("value",(getSex(data['sex'])));
- $("#ypbq_age").attr("value",(getBirthSlot(data['birthDate'],new Date())));
- $("#ypbq_drugname").attr("value",(data['drugName']));
- $("#ypbq_specification").attr("value",(data['specification']));
- $("#ypbq_quantity").attr("value",(data['amount']));
- $("#ypbq_printName").attr("value",(data['supplyName']));
- $("#ypbq_dose").attr("value",data['dose']+data['doseUnit']);
- $("#ypbq_instructionText").html(data['instruction']);
- $("#dataTime").attr("value",(formatDate(new Date())));
- LODOP.ADD_PRINT_HTM("5mm", "2mm", "80mm", "60mm", $("div[id='print_view_bq']").html());
- LODOP.NewPageA();
- }
- LODOP.PRINT();
- }
- /**
- * 打印报表
- */
- function print(div_id) {
- setDefaultPrint();
- LODOP = getLodop();
- LODOP.PRINT_INITA(6, 0, "221mm", "93mm", "请领单打印");
- LODOP.SET_PRINT_PAGESIZE(1, "221mm", "93mm", "");
- //设置默认打印机
- LODOP.SET_PRINTER_INDEX(defaultPrintIndex);
- LODOP.SET_PRINT_STYLE("FontSize", 11); //字体大小
- LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
- var strStyle = "<style>table,td,th {border-width: 1px;padding-bottom:0px;" +
- "border-style: solid;border-collapse: collapse;table-layout:fixed;word-wrap:break-word;font-size: 13}.xtd{border: 1px solid black;}</style>";
- LODOP.ADD_PRINT_HTM("0mm", "0mm", "RightMargin:0mm", "BottomMargin:0mm", strStyle + document.getElementById(div_id).innerHTML);
- LODOP.PRINT();
- //LODOP.PREVIEW();
- //LODOP.PRINT_DESIGN();
- }
- /**
- * 保存
- * @param flag 0汇总打印 1明细打印
- */
- function save(flag) {
- if (!confirm("确定要对当前药单进行发药处理吗?")) {
- return;
- }
- if (groupNo === '81' || groupNo === '83') {
- sendZy();
- } else {
- $("#" + (flag == 0 ? "tb_summarizing_table" : "tb_detail_table")).jqGrid("saveCell", lastrow, lastcell);//当前单元格退出编辑模式
- sendXy(flag);
- }
- }
- /**
- * 中药确认发药
- * @param flag
- */
- function sendZy() {
- request({
- url: '/sendZyWard',
- method: 'GET',
- data: {pageNo: pageNo, isTy: 0}
- }).then((res) => {
- successMesage(res);
- initButtonChange("#qld", 0);
- });
- }
- /**
- * 西药确认发药 0汇总打印 1明细打印
- * @param flag
- */
- function sendXy(flag) {
- var tableId = (flag == 0 ? "tb_summarizing_table" : "tb_detail_table");
- var obj = $("#" + tableId);
- var rowIds = obj.getDataIDs();
- var arrayData = new Array();
- if (rowIds.length > 0) {
- for (var i = 0; i < rowIds.length; i++) {
- if (obj.getRowData(rowIds[i]).fybz.indexOf('暂缓') == -1) {
- arrayData.push(obj.getRowData(rowIds[i]));
- }
- }
- }
- $(flag == 0 ? "#collect_save" : "#detail_save").attr('disabled', true);
- $.ajax({
- type: "POST",
- url: '/thmz/sendWard',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: JSON.stringify({
- pageNo: hzFlag === 0 ? pageNo : pageNos,
- yzYpZyOrders: arrayData
- }),
- success: function (res) {
- $(flag == 0 ? "#collect_save" : "#detail_save").attr('disabled', false);
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == 0) {
- successMesage(res);
- if (flag == 0) {
- let pageClassText = $("#pageClassSearch").find("option:selected").text();
- printCount(1, pageClassText);
- } else {
- getPrintDetail(1);
- }
- (groupNo === '81' || groupNo === '83') ? $("#submitFlagSearch").val("4"):$("#submitFlagSearch").val("3");
- $("#submitFlagSearch").selectpicker('refresh');
- if ('5' === pageClass || ('6' === pageClass && confirm("是否需要打印当前药单的口服标签并使用摆药机?"))) {
- if (res.data) {
- printLabelData(flag, 1);//口服药单,并使用摆药机
- request({
- url: '/savePrescriptionByj',
- method: 'POST',
- data: JSON.stringify(res.data)
- }).then((res) => {
- successMesage(res);
- initButtonChange("#"+(flag == 0 ? 'hz' : 'mx'), (flag == 0 ? 1 : 2));
- });
- }
- }else{
- initButtonChange("#"+(flag == 0 ? 'hz' : 'mx'), (flag == 0 ? 1 : 2));
- }
- } else {
- errorMesage(res);
- }
- }
- });
- }
- /**
- * 撤销提交
- * @param pageNo 药单号
- */
- function cancelSubmit(pageNo, wardName, pageClass) {
- if (!confirm("确定要撤销【" + wardName + "】提交的(" + pageNo + ")药单吗?")) {
- return;
- }
- if (groupNo === '81' || groupNo === '83') {
- cancelZySubmit(pageNo)
- } else {
- cancelXySubmit(pageNo, pageClass)
- }
- }
- /**
- * 中药单撤销
- * @param pageNo
- */
- function cancelZySubmit(pageNo) {
- request({
- url: '/sendZyWard',
- method: 'GET',
- data: {pageNo: pageNo, isTy: 1}
- }).then((res) => {
- successMesage(res);
- initTbTable();
- });
- }
- /**
- * 西药单撤销
- * @param pageNo
- * @param wardName
- * @param pageClass
- */
- function cancelXySubmit(pageNo, pageClass) {
- $.ajax({
- type: "GET",
- url: '/thmz/cancelWardPrescriptionSubmit',
- data: {
- pageNo: pageNo,
- pageClass: pageClass
- },
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- success: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == 0) {
- successMesage(res);
- initTbTable();
- } else {
- errorMesage(res);
- }
- }
- });
- }
- // 手动使用摆药机(用来摆药机未使用成功的药单重新使用一次摆药机)
- function callByj(){
- if(!confirm("是否需要重新使用摆药机?")){
- return;
- }
- $.ajax({
- type: "GET",
- url: '/thmz/manualOperationByj',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: {
- pageNo: pageNo
- },
- success: function (res) {
- if (res == '401' || res == 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code == 0) {
- successMesage(res);
- } else {
- errorMesage(res);
- }
- }
- });
- }
- function saveSummaryData(printFlag, summaryData) {
- if(summaryData.length === 0){
- return;
- }
- $.ajax({
- type: "POST",
- url: '/thmz/saveSummaryData',
- contentType: "application/json;charset=UTF-8",
- dataType: "json",
- headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
- data: JSON.stringify({
- pageNo: hzFlag === 0 ? pageNo : pageNos,
- pageClass: pageClass,
- submitFlag: $("#submitFlagSearch").val(),
- printFlag: printFlag,
- summaryData: summaryData
- }),
- success: function (res) {
- if (res === '401' || res === 401) {
- window.location.href = '/thmz/login/view';
- return;
- }
- if (res.code === 0) {
- // 提示药单不一致的情况
- // successMesage(res);
- }
- }
- });
- }
|