tplus-components-touch 3.41.1 → 3.41.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -636,11 +636,14 @@ var PrintUtil = (_temp = _class = function () {
636
636
  Key = _ref13.Key,
637
637
  Sign = _ref13.Sign,
638
638
  Name = _ref13.Name,
639
- Card = _ref13.Card;
639
+ Card = _ref13.Card,
640
+ isLocalSunMi = _ref13.isLocalSunMi;
640
641
  // 商米没有配置则调用本地打印接口
641
642
 
642
643
 
643
- if (_this2.isHorizontalSunMi && !Open) {
644
+ if (_this2.isHorizontalSunMi && isLocalSunMi) {
645
+ _this2.sunMiLocalPrint(cloudContents, Name, callback);
646
+ } else if (_this2.isHorizontalSunMi && !Open) {
644
647
  console.log(cloudContents);
645
648
  _this2.sunmiPrint(cloudContents, callback);
646
649
  } else if (Open) {
@@ -677,7 +680,7 @@ var PrintUtil = (_temp = _class = function () {
677
680
  message = _ref15.message;
678
681
 
679
682
  if (state == 1) {
680
- window.sunMi_OperatingCashier && window.sunMi_OperatingCashier.PrintSmallTicketter(cloudContents + '\n\n').then(function (ret) {
683
+ window.sunMi_OperatingCashier && window.sunMi_OperatingCashier.PrintSmallTicketter(cloudContents + '\n\n', _this2.PrintCount).then(function (ret) {
681
684
  if (ret && ret.state && ret.state == 200) {
682
685
  callback && callback({
683
686
  ret: 0,
@@ -699,12 +702,32 @@ var PrintUtil = (_temp = _class = function () {
699
702
  });
700
703
  };
701
704
 
705
+ this.sunMiLocalPrint = function (cloudContents, deviceName, callback) {
706
+ window.LocalPrintPlugin.printByDeviceName({ deviceName: deviceName, printContent: cloudContents }).then(function (res) {
707
+ console.log("商米本地打印成功", res);
708
+ callback && callback({
709
+ ret: 0,
710
+ msg: "打印成功"
711
+ });
712
+ }).catch(function (error) {
713
+ console.log("商米本地打印失败", error);
714
+
715
+ var _ref16 = error || {},
716
+ message = _ref16.message;
717
+
718
+ callback && callback({
719
+ ret: -1,
720
+ msg: message || "打印失败"
721
+ });
722
+ });
723
+ };
724
+
702
725
  this.cloudAddList = function (printParams, callback) {
703
- var _ref16 = printParams || {},
704
- Key = _ref16.Key,
705
- Sign = _ref16.Sign,
706
- Name = _ref16.Name,
707
- Card = _ref16.Card;
726
+ var _ref17 = printParams || {},
727
+ Key = _ref17.Key,
728
+ Sign = _ref17.Sign,
729
+ Name = _ref17.Name,
730
+ Card = _ref17.Card;
708
731
 
709
732
  var arr = [];
710
733
  arr.push(Sign, Key);
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/cloudPrint/index.js"],"names":["PrintUtil","BTPrintEntity","BTPrintContent","PrintCount","lineSize","Precision","Quantity","Price","TaxAmount","platform","isHorizontalSunMi","enumController","getEnumOj","Differentiate","state","IdsettleStyleList","x","f","Math","round","s","toString","doTestPrint","printParams","callback","cloudAddList","ret","result","cloudPrint","doPrint","Id","_this","API","getPrintDataInfo","then","Store","UserName","Code","CreatedTime","TotalCount","TotalTaxAmount","WipeChange","RetailDetails","Member","BalanceIntegral","Integral","BalanceStorage","RetailPaymentDetails","details","tools","changePrivateInfo","length","map","quantity","toDecimal2NoZero","item","Unit","Name","taxPrice","TaxPrice","taxAmount","tool","formatPrecision","push","Inventory","constr","loadBTPrintData","doDialyPrint","getDialyPrintDataInfo","loadBTDutyAndDialyPrintData","doDutyPrint","getDutyPrintDataInfo","doStoragePrint","getStoragePrintDataInfo","StorageDetails","MadeDate","CardCode","StorageMutiSettleDetails","Person","loadBTStoragePrintData","templateContent","printEntity","params","Mobilephone","MemberName","StorageName","ThisStorageAmount","ThisPresentAmount","AfterBalanceStorage","headerMap","footerMap1","footerMap2","set","format","forEach","StorageAmount","SettleStyle","BTPrintFormatUtil","setLineByteSize","printTitle","size","leftPrintMsg","type","POSCode","POS","POSName","WorkingDate","StartDate","ShiftDate","DailyDate","RetailAmount","ReturnAmount","SalesStorageTotalAmount","CashOutAmount","CouponsDeduct","CouponsAmount","OnlineAmount","TotalCustom","InitialAmount","ImprestAmount","ImprestBalanceAmount","ShiftVoucherDetails","DailyDetails","WorkingTime","ShiftTime","StartTime","DailyTime","Memo","detailTopList","detailContentList","COUPON","Caption","IsTitle","IsFoot","DailyDetailsCommon","OrigAmount","detailsOb","MemberDepositAmount","drawSeparateLine","printStarTitle","mhList","mh","headerText","headerWeight","isTitle","isFoot","bodyValueList","bodyValue","items","printMenuMSG","drawSeparateLine2","spaceCenterPrintMsg","paymentTypeTopList","paymentTypeDetailList","Telephone","phList","index","pBodyValueList","Amount","cloudContents","Open","Key","Sign","Card","console","log","sunmiPrint","arr","printerContent","join","openPrintMsg","content","apiname","deviceCode","times","data","window","sunMi_OperatingCashier","updatePrinterState","status","message","PrintSmallTicketter","msg","openPrinterAddlist"],"mappings":"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","file":"index.js","sourcesContent":["import BTPrintFormatUtil from './BTPrintFormatUtil';\r\nimport API from './api';\r\nimport {tools as tool} from 'mutants-util';\r\nimport {PosInitData} from 'tplus-poslogin';\r\nimport {platform, enumController} from 'mutants-util';\r\nimport tools from \"../../util/tools\";\r\n\r\nclass PrintUtil {\r\n constructor () {\r\n this.BTPrintEntity = {};\r\n this.BTPrintContent = '';\r\n this.PrintCount = 1;\r\n this.lineSize = 32;\r\n this.Precision = {\r\n Quantity: PosInitData ('QuantityPrecision'),\r\n Price: PosInitData ('PricePrecision'),\r\n TaxAmount: PosInitData ('AmountPrecision'),\r\n };\r\n const {isHorizontalSunMi} = platform || {};\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n const { Differentiate } = enumController.getEnumOj();\r\n this.state = {\r\n IdsettleStyleList: {\r\n '10': '微信',\r\n '11': '转账',\r\n '12': '扫码收款',\r\n '13': Differentiate,\r\n '1': '现金',\r\n '5': '支票',\r\n '4': '银行汇款',\r\n '3': '银行本票',\r\n '2': '信用卡',\r\n '6': '积分储值卡',\r\n '7': '储值卡',\r\n '8': '积分抵现',\r\n '9': '支付宝',\r\n }\r\n }\r\n }\r\n\r\n //执行测试打印\r\n doTestPrint = (printParams, callback) => {\r\n this.cloudAddList (printParams, result => {\r\n const {ret} = result;\r\n if (ret === 0) {\r\n this.cloudPrint (\r\n '\\n\\n' + '飞蛾打印机测试打印成功。' + '\\n\\n',\r\n printParams,\r\n callback\r\n );\r\n } else {\r\n if (typeof callback == 'function') callback (result);\r\n }\r\n });\r\n };\r\n\r\n // 触发打印\r\n doPrint = (printParams, Id, callback) => {\r\n if (!printParams || !Id) return;\r\n let _this = this;\r\n API.getPrintDataInfo (Id).then (ret => {\r\n let {\r\n Store,\r\n UserName,\r\n Code,\r\n CreatedTime,\r\n TotalCount,\r\n TotalTaxAmount,\r\n WipeChange,\r\n RetailDetails,\r\n Member,\r\n BalanceIntegral,\r\n Integral,\r\n BalanceStorage,\r\n RetailPaymentDetails\r\n } = ret || {};\r\n let details = [];\r\n\r\n Member = tools.changePrivateInfo(Member, 'print');\r\n\r\n if (RetailDetails && RetailDetails.length > 0) {\r\n RetailDetails.map (item => {\r\n let quantity = this.toDecimal2NoZero (item.Quantity) \r\n // tool.formatPrecision (\r\n // item.Quantity,\r\n // this.Precision.Quantity\r\n // );\r\n quantity += item.Unit.Name;\r\n let taxPrice = this.toDecimal2NoZero (item.TaxPrice);\r\n // item.TaxPrice,\r\n // this.Precision.Price\r\n let taxAmount = tool.formatPrecision (\r\n item.TaxAmount,\r\n this.Precision.TaxAmount\r\n );\r\n details.push ([item.Inventory.Name, quantity, taxPrice, taxAmount]);\r\n });\r\n }\r\n let constr = _this.loadBTPrintData ({\r\n Store,\r\n UserName,\r\n Code,\r\n CreatedTime,\r\n details,\r\n TotalCount,\r\n TotalTaxAmount,\r\n WipeChange,\r\n Member,\r\n BalanceIntegral,\r\n Integral,\r\n BalanceStorage,\r\n RetailPaymentDetails\r\n });\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n // 日结打印\r\n doDialyPrint = (printParams, Id, callback) => {\r\n if (!Id) return;\r\n let _this = this;\r\n API.getDialyPrintDataInfo (Id).then (ret => {\r\n let constr = _this.loadBTDutyAndDialyPrintData (ret, 'Dialy');\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n // 交班打印\r\n doDutyPrint = (printParams, Id, callback) => {\r\n if (!Id) return;\r\n let _this = this;\r\n API.getDutyPrintDataInfo (Id).then (ret => {\r\n let constr = _this.loadBTDutyAndDialyPrintData (ret, 'Duty');\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n // 储值打印\r\n doStoragePrint = (printParams, Id, callback) => {\r\n if (!Id) return;\r\n let _this = this;\r\n API.getStoragePrintDataInfo (Id).then (ret => {\r\n let {\r\n Store,\r\n StorageDetails,\r\n MadeDate,\r\n Member,\r\n CardCode,\r\n StorageMutiSettleDetails,\r\n CreatedTime,\r\n Person,\r\n } = ret || {};\r\n Member = tools.changePrivateInfo(Member, 'print');\r\n let constr = _this.loadBTStoragePrintData ({\r\n Store,\r\n StorageDetails,\r\n MadeDate,\r\n Member,\r\n CardCode,\r\n StorageMutiSettleDetails,\r\n CreatedTime,\r\n Person,\r\n });\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n //储值打印\r\n loadBTStoragePrintData = params => {\r\n let templateContent = '';\r\n let printEntity = {};\r\n const {\r\n Store,\r\n StorageDetails,\r\n CreatedTime,\r\n Member,\r\n CardCode,\r\n StorageMutiSettleDetails,\r\n Person,\r\n } = params || {};\r\n const { Mobilephone, Name : MemberName } = Member || {};\r\n const { Name : StorageName} = Person || {};\r\n const {\r\n ThisStorageAmount,\r\n ThisPresentAmount,\r\n AfterBalanceStorage,\r\n } = StorageDetails[0] || {};\r\n printEntity.headerMap = new Map ();\r\n printEntity.footerMap1 = new Map ();\r\n printEntity.footerMap2 = new Map ();\r\n printEntity.headerMap.set ('日期', CreatedTime || '');\r\n printEntity.headerMap.set ('储值业务员', StorageName || '');\r\n printEntity.headerMap.set ('会员卡号', CardCode || '');\r\n printEntity.headerMap.set ('手机号', Mobilephone || '');\r\n printEntity.headerMap.set ('会员姓名', MemberName || '');\r\n printEntity.headerMap.set ('本次储存金额', tool.format (ThisStorageAmount) || '');\r\n printEntity.headerMap.set ('本次赠送金额', tool.format (ThisPresentAmount) || '');\r\n printEntity.headerMap.set (\r\n '本次储值后金额',\r\n tool.format (AfterBalanceStorage) || ''\r\n );\r\n if (StorageMutiSettleDetails && StorageMutiSettleDetails.length != 0) {\r\n StorageMutiSettleDetails.forEach (details => {\r\n const {StorageAmount,SettleStyle} = details || {};\r\n const { Name } = SettleStyle || {}\r\n printEntity.headerMap.set (\r\n Name,\r\n StorageAmount || '0.00'\r\n );\r\n });\r\n }\r\n printEntity.headerMap.set ('顾客签字', '');\r\n\r\n // 设定打印尺寸\r\n BTPrintFormatUtil.setLineByteSize (this.lineSize);\r\n\r\n //单据头部\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printTitle (Store.Name || '');\r\n if (printEntity.headerMap && printEntity.headerMap.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (printEntity.headerMap);\r\n }\r\n templateContent += '\\n\\n\\n\\n';\r\n return templateContent;\r\n };\r\n\r\n // 交班日结打印 type: Duty 交班 Dialy 日结\r\n loadBTDutyAndDialyPrintData = (params, type) => {\r\n let templateContent = '';\r\n let printEntity = {};\r\n const {\r\n Code,\r\n Store,\r\n UserName,\r\n POSCode,\r\n POS,\r\n POSName,\r\n WorkingDate,\r\n StartDate,\r\n ShiftDate,\r\n DailyDate,\r\n RetailAmount,\r\n ReturnAmount,\r\n SalesStorageTotalAmount,\r\n CashOutAmount,\r\n CouponsDeduct,\r\n CouponsAmount,\r\n OnlineAmount,\r\n TotalCount,\r\n TotalCustom,\r\n Price,\r\n InitialAmount,\r\n ImprestAmount,\r\n ImprestBalanceAmount,\r\n ShiftVoucherDetails,\r\n DailyDetails,\r\n WorkingTime,\r\n ShiftTime,\r\n StartTime,\r\n DailyTime,\r\n Memo\r\n } = params || {};\r\n printEntity.headerMap = new Map ();\r\n printEntity.footerMap1 = new Map ();\r\n printEntity.footerMap2 = new Map ();\r\n printEntity.detailTopList = [];\r\n printEntity.detailContentList = [];\r\n printEntity.headerMap.set ('单号', Code);\r\n printEntity.headerMap.set ('门店', Store.Name || '');\r\n printEntity.headerMap.set ('POS编码', POSCode || '');\r\n printEntity.headerMap.set ('POS名称', POSName || '');\r\n printEntity.headerMap.set ('收 银 员', UserName || '');\r\n printEntity.headerMap.set (\r\n '上班日期',\r\n WorkingDate + \" \" +WorkingTime \r\n );\r\n printEntity.headerMap.set (\r\n type == 'Duty' ? '交班日期' : '日结日期',\r\n type == 'Duty' ? ShiftDate + \" \" + ShiftTime : DailyDate + \" \" + DailyTime\r\n );\r\n\r\n printEntity.footerMap1.set ('销售金额', tool.format (RetailAmount) || '0.00');\r\n printEntity.footerMap1.set ('退货金额', tool.format (ReturnAmount) || '0.00');\r\n printEntity.footerMap1.set (\r\n '净销售金额',\r\n tool.format (RetailAmount + ReturnAmount) || '0.00'\r\n );\r\n printEntity.footerMap1.set (\r\n '储值销售金额',\r\n tool.format (SalesStorageTotalAmount) || '0.00'\r\n );\r\n printEntity.footerMap1.set (\r\n '抵现销售金额',\r\n tool.format (CashOutAmount) || '0.00'\r\n );\r\n printEntity.footerMap1.set (\r\n '券抵扣(负劳务行)',\r\n tool.format (CouponsDeduct) || '0.00'\r\n );\r\n const { Differentiate } = enumController.getEnumOj();\r\n printEntity.footerMap1.set (`${Differentiate.COUPON}抵扣`, tool.format (CouponsAmount) || '0.00');\r\n printEntity.footerMap1.set ('线上收款金额', tool.format (OnlineAmount) || '0.00');\r\n printEntity.footerMap1.set ('水单总数', TotalCount || '0');\r\n printEntity.footerMap1.set ('来客数量', TotalCustom || '0');\r\n printEntity.footerMap1.set ('客单价', tool.format (Price) || '0.00');\r\n\r\n printEntity.detailTopList.push ({\r\n Caption: '结算方式',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '零售收款金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '储值金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n\r\n let details = [];\r\n let DailyDetailsCommon = [];\r\n if (type == 'Duty') {\r\n DailyDetailsCommon = ShiftVoucherDetails;\r\n } else {\r\n DailyDetailsCommon = DailyDetails;\r\n }\r\n if (DailyDetailsCommon && DailyDetailsCommon.length != 0) {\r\n DailyDetailsCommon.forEach (detailsOb => {\r\n const { OrigAmount, MemberDepositAmount,SettleStyle} = detailsOb;\r\n const { Name } = SettleStyle || {}\r\n details.push ([\r\n Name,\r\n tool.format (OrigAmount) || '0.00',\r\n tool.format (MemberDepositAmount) || '0.00',\r\n ]);\r\n });\r\n }\r\n printEntity.detailContentList.push (...details);\r\n\r\n templateContent += '\\n';\r\n // printEntity.footerMap2.set('现金', BalanceIntegral || '');\r\n printEntity.footerMap2.set (\r\n '备用金初始金额',\r\n tool.format (InitialAmount) || '0.00'\r\n );\r\n printEntity.footerMap2.set ('增减备用金', tool.format (ImprestAmount) || '0.00');\r\n printEntity.footerMap2.set (\r\n '备用金余额',\r\n tool.format (InitialAmount+ImprestAmount) || '0.00'\r\n );\r\n // 设定打印尺寸\r\n BTPrintFormatUtil.setLineByteSize (this.lineSize);\r\n\r\n //单据头部\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printTitle (\r\n type == 'Duty' ? '交班' : '日结'\r\n );\r\n templateContent += BTPrintFormatUtil.drawSeparateLine ();\r\n if (printEntity.headerMap && printEntity.headerMap.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (printEntity.headerMap);\r\n }\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printStarTitle ('销售看板');\r\n templateContent += BTPrintFormatUtil.drawSeparateLine ();\r\n //单据底部1\r\n if (printEntity.footerMap1 && printEntity.footerMap1.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (\r\n printEntity.footerMap1\r\n );\r\n }\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printStarTitle ('收银统计');\r\n templateContent += BTPrintFormatUtil.drawSeparateLine ();\r\n\r\n //单据内容--头部\r\n let mhList = [];\r\n if (printEntity.detailTopList && printEntity.detailTopList.length > 0) {\r\n printEntity.detailTopList.forEach (item => {\r\n let mh = {\r\n headerText: item.Caption,\r\n headerWeight: 1,\r\n isTitle: item.IsTitle,\r\n isFoot: item.IsFoot,\r\n };\r\n mhList.push (mh);\r\n });\r\n }\r\n //单据内容--明细\r\n let bodyValueList = [];\r\n printEntity.detailContentList.forEach (items => {\r\n let bodyValue = [];\r\n items.forEach (item => {\r\n bodyValue.push (item);\r\n });\r\n bodyValueList.push (bodyValue);\r\n });\r\n templateContent += BTPrintFormatUtil.printMenuMSG (\r\n bodyValueList,\r\n mhList,\r\n true\r\n );\r\n\r\n //单据底部2\r\n if (printEntity.footerMap2 && printEntity.footerMap2.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (\r\n printEntity.footerMap2\r\n );\r\n }\r\n templateContent += BTPrintFormatUtil.drawSeparateLine2 ();\r\n templateContent += '备注:'+ (Memo || '');\r\n templateContent += '\\n'; //备注\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.spaceCenterPrintMsg (\r\n '收银员签字:',\r\n '收银主管签字:'\r\n );\r\n templateContent += '\\n\\n\\n\\n';\r\n return templateContent;\r\n };\r\n\r\n //正常打印机(58mm)数据 小票打印\r\n loadBTPrintData = params => {\r\n let templateContent = '';\r\n let printEntity = {};\r\n const {\r\n Store,\r\n UserName,\r\n Code,\r\n CreatedTime,\r\n details,\r\n TotalCount,\r\n TotalTaxAmount,\r\n WipeChange,\r\n Member,\r\n BalanceIntegral,\r\n Integral,\r\n BalanceStorage,\r\n RetailPaymentDetails\r\n } = params || {};\r\n printEntity.headerMap = new Map ();\r\n printEntity.detailTopList = [];\r\n printEntity.paymentTypeTopList = [];\r\n printEntity.paymentTypeDetailList = [];\r\n printEntity.detailContentList = [];\r\n printEntity.footerMap1 = new Map ();\r\n printEntity.footerMap2 = new Map ();\r\n printEntity.headerMap.set ('门店名称', Store.Name || '');\r\n printEntity.headerMap.set ('门店电话', Store.Telephone || '');\r\n printEntity.headerMap.set ('收银员', UserName || '');\r\n printEntity.headerMap.set ('单号', Code);\r\n printEntity.headerMap.set ('日期', CreatedTime || '');\r\n printEntity.detailTopList.push ({\r\n Caption: '商品名称',\r\n IsTitle: true,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '数量',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '单价',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n\r\n //支付方式\r\n printEntity.paymentTypeTopList.push ({\r\n Caption: '支付方式',\r\n IsTitle: false,\r\n IsFoot: false,\r\n })\r\n printEntity.paymentTypeTopList.push ({\r\n Caption: '金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n })\r\n printEntity.paymentTypeDetailList.push(...RetailPaymentDetails)\r\n\r\n printEntity.detailContentList.push (...details);\r\n printEntity.footerMap1.set ('数量', TotalCount);\r\n printEntity.footerMap1.set ('金额', TotalTaxAmount);\r\n printEntity.footerMap1.set ('抹零', WipeChange || '0.00');\r\n\r\n printEntity.footerMap2.set ('会员卡号', (Member && Member.CardCode) || '');\r\n printEntity.footerMap2.set ('会员手机', (Member && Member.Mobilephone) || '');\r\n printEntity.footerMap2.set ('积分余额', BalanceIntegral || '0');\r\n printEntity.footerMap2.set ('本次积分', Integral || '0');\r\n printEntity.footerMap2.set ('储值余额', BalanceStorage || '0.00');\r\n // 设定打印尺寸\r\n BTPrintFormatUtil.setLineByteSize (this.lineSize);\r\n\r\n //单据头部\r\n templateContent += '\\n';\r\n if (printEntity.headerMap && printEntity.headerMap.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (printEntity.headerMap);\r\n }\r\n\r\n templateContent += '\\n';\r\n\r\n //单据内容--头部\r\n let mhList = [];\r\n if (printEntity.detailTopList && printEntity.detailTopList.length > 0) {\r\n printEntity.detailTopList.forEach (item => {\r\n let mh = {\r\n headerText: item.Caption,\r\n headerWeight: 1,\r\n isTitle: item.IsTitle,\r\n isFoot: item.IsFoot,\r\n };\r\n mhList.push (mh);\r\n });\r\n }\r\n //单据内容--明细\r\n let bodyValueList = [];\r\n printEntity.detailContentList.forEach (items => {\r\n let bodyValue = [];\r\n items.forEach (item => {\r\n bodyValue.push (item);\r\n });\r\n bodyValueList.push (bodyValue);\r\n });\r\n templateContent += BTPrintFormatUtil.printMenuMSG (\r\n bodyValueList,\r\n mhList,\r\n true\r\n );\r\n\r\n //单据底部1\r\n if (printEntity.footerMap1 && printEntity.footerMap1.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg(\r\n printEntity.footerMap1\r\n );\r\n }\r\n templateContent += BTPrintFormatUtil.drawSeparateLine();\r\n templateContent += '\\n';\r\n\r\n //支付方式--头部\r\n let phList = [];\r\n if (printEntity.paymentTypeTopList && printEntity.paymentTypeTopList.length > 0) {\r\n printEntity.paymentTypeTopList.forEach ((item,index) => {\r\n let mh = {\r\n headerText: item.Caption,\r\n headerWeight: index == 0 ? 3 : 1,\r\n isTitle: item.IsTitle,\r\n isFoot: item.IsFoot,\r\n };\r\n phList.push (mh);\r\n });\r\n }\r\n //支付方式--明细\r\n let pBodyValueList = [];\r\n printEntity.paymentTypeDetailList.forEach (items => {\r\n let bodyValue = [];\r\n const { Amount = '0.00', SettleStyle: { Name = \"其他方式\" } } = items;\r\n bodyValue.push(Name);\r\n bodyValue.push(tool.format (Amount));\r\n pBodyValueList.push (bodyValue);\r\n });\r\n templateContent += BTPrintFormatUtil.printMenuMSG (\r\n pBodyValueList,\r\n phList,\r\n true\r\n );\r\n\r\n \r\n //单据底部2\r\n if (printEntity.footerMap2 && printEntity.footerMap2.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (\r\n printEntity.footerMap2\r\n );\r\n }\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.drawSeparateLine2 ();\r\n templateContent += '\\n';\r\n templateContent += '\\t谢谢惠顾,欢迎再次光临';\r\n templateContent += '\\n\\n\\n';\r\n return templateContent;\r\n };\r\n\r\n //小票-云打印\r\n cloudPrint = (cloudContents, printParams, callback) => {\r\n const { Open ,Key, Sign, Name, Card} = printParams || {};\r\n // 商米没有配置则调用本地打印接口\r\n if (this.isHorizontalSunMi && !Open) {\r\n console.log (cloudContents);\r\n this.sunmiPrint (cloudContents, callback);\r\n } else if(Open) {\r\n const {Key, Sign, Name, Card} = printParams || {};\r\n let arr = [];\r\n arr.push (Sign, Key);\r\n if (Name) arr.push (Name);\r\n if (Card) arr.push (Card);\r\n let printerContent = arr.join ('#');\r\n let PrintCount = this.PrintCount; //打印次数\r\n API.openPrintMsg ({\r\n content: cloudContents,\r\n printerContent: printerContent,\r\n apiname: 'Open_printMsg',\r\n deviceCode: Sign,\r\n times: PrintCount,\r\n }).then (s => {\r\n if (typeof callback == 'function' && s && s.data) callback (s.data);\r\n });\r\n }\r\n };\r\n\r\n //小票-商米打印\r\n sunmiPrint = (cloudContents, callback) => {\r\n window.sunMi_OperatingCashier &&\r\n window.sunMi_OperatingCashier\r\n // 检测打印机状态\r\n .updatePrinterState().then(status => {\r\n const { state , message } = status || {};\r\n if(state == 1){\r\n window.sunMi_OperatingCashier &&\r\n window.sunMi_OperatingCashier\r\n .PrintSmallTicketter (cloudContents + '\\n\\n')\r\n .then (ret => {\r\n if(ret && ret.state && ret.state == 200){\r\n callback && callback ({\r\n ret:0,\r\n msg:\"打印成功\"\r\n });\r\n }else{\r\n callback && callback ({\r\n ret:-1,\r\n msg:ret.message?ret.message:\"打印失败\"\r\n });\r\n }\r\n });\r\n }else{\r\n callback && callback ({\r\n ret:-1,\r\n msg:message?message:\"打印失败\"\r\n });\r\n }\r\n })\r\n };\r\n\r\n cloudAddList = (printParams, callback) => {\r\n const {Key, Sign, Name, Card} = printParams || {};\r\n let arr = [];\r\n arr.push (Sign, Key);\r\n if (Name) arr.push (Name);\r\n if (Card) arr.push (Card);\r\n let printerContent = arr.join ('#');\r\n let PrintCount = this.PrintCount; //按照添加一次的\r\n API.openPrinterAddlist ({\r\n content: '',\r\n printerContent,\r\n apiname: 'Open_printerAddlist',\r\n deviceCode: Sign,\r\n times: PrintCount,\r\n }).then (s => {\r\n if (typeof callback == 'function' && s && s.data) callback (s.data);\r\n });\r\n };\r\n toDecimal2NoZero(x) {\r\n var f = Math.round(x * 100) / 100;\r\n var s = f.toString();\r\n return s;\r\n }\r\n}\r\nexport default PrintUtil;\r\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/cloudPrint/index.js"],"names":["PrintUtil","BTPrintEntity","BTPrintContent","PrintCount","lineSize","Precision","Quantity","Price","TaxAmount","platform","isHorizontalSunMi","enumController","getEnumOj","Differentiate","state","IdsettleStyleList","x","f","Math","round","s","toString","doTestPrint","printParams","callback","cloudAddList","ret","result","cloudPrint","doPrint","Id","_this","API","getPrintDataInfo","then","Store","UserName","Code","CreatedTime","TotalCount","TotalTaxAmount","WipeChange","RetailDetails","Member","BalanceIntegral","Integral","BalanceStorage","RetailPaymentDetails","details","tools","changePrivateInfo","length","map","quantity","toDecimal2NoZero","item","Unit","Name","taxPrice","TaxPrice","taxAmount","tool","formatPrecision","push","Inventory","constr","loadBTPrintData","doDialyPrint","getDialyPrintDataInfo","loadBTDutyAndDialyPrintData","doDutyPrint","getDutyPrintDataInfo","doStoragePrint","getStoragePrintDataInfo","StorageDetails","MadeDate","CardCode","StorageMutiSettleDetails","Person","loadBTStoragePrintData","templateContent","printEntity","params","Mobilephone","MemberName","StorageName","ThisStorageAmount","ThisPresentAmount","AfterBalanceStorage","headerMap","footerMap1","footerMap2","set","format","forEach","StorageAmount","SettleStyle","BTPrintFormatUtil","setLineByteSize","printTitle","size","leftPrintMsg","type","POSCode","POS","POSName","WorkingDate","StartDate","ShiftDate","DailyDate","RetailAmount","ReturnAmount","SalesStorageTotalAmount","CashOutAmount","CouponsDeduct","CouponsAmount","OnlineAmount","TotalCustom","InitialAmount","ImprestAmount","ImprestBalanceAmount","ShiftVoucherDetails","DailyDetails","WorkingTime","ShiftTime","StartTime","DailyTime","Memo","detailTopList","detailContentList","COUPON","Caption","IsTitle","IsFoot","DailyDetailsCommon","OrigAmount","detailsOb","MemberDepositAmount","drawSeparateLine","printStarTitle","mhList","mh","headerText","headerWeight","isTitle","isFoot","bodyValueList","bodyValue","items","printMenuMSG","drawSeparateLine2","spaceCenterPrintMsg","paymentTypeTopList","paymentTypeDetailList","Telephone","phList","index","pBodyValueList","Amount","cloudContents","Open","Key","Sign","Card","isLocalSunMi","sunMiLocalPrint","console","log","sunmiPrint","arr","printerContent","join","openPrintMsg","content","apiname","deviceCode","times","data","window","sunMi_OperatingCashier","updatePrinterState","status","message","PrintSmallTicketter","msg","deviceName","LocalPrintPlugin","printByDeviceName","printContent","res","catch","error","openPrinterAddlist"],"mappings":"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","file":"index.js","sourcesContent":["import BTPrintFormatUtil from './BTPrintFormatUtil';\r\nimport API from './api';\r\nimport {tools as tool} from 'mutants-util';\r\nimport {PosInitData} from 'tplus-poslogin';\r\nimport {platform, enumController} from 'mutants-util';\r\nimport tools from \"../../util/tools\";\r\n\r\nclass PrintUtil {\r\n constructor () {\r\n this.BTPrintEntity = {};\r\n this.BTPrintContent = '';\r\n this.PrintCount = 1;\r\n this.lineSize = 32;\r\n this.Precision = {\r\n Quantity: PosInitData ('QuantityPrecision'),\r\n Price: PosInitData ('PricePrecision'),\r\n TaxAmount: PosInitData ('AmountPrecision'),\r\n };\r\n const {isHorizontalSunMi} = platform || {};\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n const { Differentiate } = enumController.getEnumOj();\r\n this.state = {\r\n IdsettleStyleList: {\r\n '10': '微信',\r\n '11': '转账',\r\n '12': '扫码收款',\r\n '13': Differentiate,\r\n '1': '现金',\r\n '5': '支票',\r\n '4': '银行汇款',\r\n '3': '银行本票',\r\n '2': '信用卡',\r\n '6': '积分储值卡',\r\n '7': '储值卡',\r\n '8': '积分抵现',\r\n '9': '支付宝',\r\n }\r\n }\r\n }\r\n\r\n //执行测试打印\r\n doTestPrint = (printParams, callback) => {\r\n this.cloudAddList (printParams, result => {\r\n const {ret} = result;\r\n if (ret === 0) {\r\n this.cloudPrint (\r\n '\\n\\n' + '飞蛾打印机测试打印成功。' + '\\n\\n',\r\n printParams,\r\n callback\r\n );\r\n } else {\r\n if (typeof callback == 'function') callback (result);\r\n }\r\n });\r\n };\r\n\r\n // 触发打印\r\n doPrint = (printParams, Id, callback) => {\r\n if (!printParams || !Id) return;\r\n let _this = this;\r\n API.getPrintDataInfo (Id).then (ret => {\r\n let {\r\n Store,\r\n UserName,\r\n Code,\r\n CreatedTime,\r\n TotalCount,\r\n TotalTaxAmount,\r\n WipeChange,\r\n RetailDetails,\r\n Member,\r\n BalanceIntegral,\r\n Integral,\r\n BalanceStorage,\r\n RetailPaymentDetails\r\n } = ret || {};\r\n let details = [];\r\n\r\n Member = tools.changePrivateInfo(Member, 'print');\r\n\r\n if (RetailDetails && RetailDetails.length > 0) {\r\n RetailDetails.map (item => {\r\n let quantity = this.toDecimal2NoZero (item.Quantity) \r\n // tool.formatPrecision (\r\n // item.Quantity,\r\n // this.Precision.Quantity\r\n // );\r\n quantity += item.Unit.Name;\r\n let taxPrice = this.toDecimal2NoZero (item.TaxPrice);\r\n // item.TaxPrice,\r\n // this.Precision.Price\r\n let taxAmount = tool.formatPrecision (\r\n item.TaxAmount,\r\n this.Precision.TaxAmount\r\n );\r\n details.push ([item.Inventory.Name, quantity, taxPrice, taxAmount]);\r\n });\r\n }\r\n let constr = _this.loadBTPrintData ({\r\n Store,\r\n UserName,\r\n Code,\r\n CreatedTime,\r\n details,\r\n TotalCount,\r\n TotalTaxAmount,\r\n WipeChange,\r\n Member,\r\n BalanceIntegral,\r\n Integral,\r\n BalanceStorage,\r\n RetailPaymentDetails\r\n });\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n // 日结打印\r\n doDialyPrint = (printParams, Id, callback) => {\r\n if (!Id) return;\r\n let _this = this;\r\n API.getDialyPrintDataInfo (Id).then (ret => {\r\n let constr = _this.loadBTDutyAndDialyPrintData (ret, 'Dialy');\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n // 交班打印\r\n doDutyPrint = (printParams, Id, callback) => {\r\n if (!Id) return;\r\n let _this = this;\r\n API.getDutyPrintDataInfo (Id).then (ret => {\r\n let constr = _this.loadBTDutyAndDialyPrintData (ret, 'Duty');\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n // 储值打印\r\n doStoragePrint = (printParams, Id, callback) => {\r\n if (!Id) return;\r\n let _this = this;\r\n API.getStoragePrintDataInfo (Id).then (ret => {\r\n let {\r\n Store,\r\n StorageDetails,\r\n MadeDate,\r\n Member,\r\n CardCode,\r\n StorageMutiSettleDetails,\r\n CreatedTime,\r\n Person,\r\n } = ret || {};\r\n Member = tools.changePrivateInfo(Member, 'print');\r\n let constr = _this.loadBTStoragePrintData ({\r\n Store,\r\n StorageDetails,\r\n MadeDate,\r\n Member,\r\n CardCode,\r\n StorageMutiSettleDetails,\r\n CreatedTime,\r\n Person,\r\n });\r\n _this.cloudPrint (constr, printParams, callback);\r\n });\r\n };\r\n\r\n //储值打印\r\n loadBTStoragePrintData = params => {\r\n let templateContent = '';\r\n let printEntity = {};\r\n const {\r\n Store,\r\n StorageDetails,\r\n CreatedTime,\r\n Member,\r\n CardCode,\r\n StorageMutiSettleDetails,\r\n Person,\r\n } = params || {};\r\n const { Mobilephone, Name : MemberName } = Member || {};\r\n const { Name : StorageName} = Person || {};\r\n const {\r\n ThisStorageAmount,\r\n ThisPresentAmount,\r\n AfterBalanceStorage,\r\n } = StorageDetails[0] || {};\r\n printEntity.headerMap = new Map ();\r\n printEntity.footerMap1 = new Map ();\r\n printEntity.footerMap2 = new Map ();\r\n printEntity.headerMap.set ('日期', CreatedTime || '');\r\n printEntity.headerMap.set ('储值业务员', StorageName || '');\r\n printEntity.headerMap.set ('会员卡号', CardCode || '');\r\n printEntity.headerMap.set ('手机号', Mobilephone || '');\r\n printEntity.headerMap.set ('会员姓名', MemberName || '');\r\n printEntity.headerMap.set ('本次储存金额', tool.format (ThisStorageAmount) || '');\r\n printEntity.headerMap.set ('本次赠送金额', tool.format (ThisPresentAmount) || '');\r\n printEntity.headerMap.set (\r\n '本次储值后金额',\r\n tool.format (AfterBalanceStorage) || ''\r\n );\r\n if (StorageMutiSettleDetails && StorageMutiSettleDetails.length != 0) {\r\n StorageMutiSettleDetails.forEach (details => {\r\n const {StorageAmount,SettleStyle} = details || {};\r\n const { Name } = SettleStyle || {}\r\n printEntity.headerMap.set (\r\n Name,\r\n StorageAmount || '0.00'\r\n );\r\n });\r\n }\r\n printEntity.headerMap.set ('顾客签字', '');\r\n\r\n // 设定打印尺寸\r\n BTPrintFormatUtil.setLineByteSize (this.lineSize);\r\n\r\n //单据头部\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printTitle (Store.Name || '');\r\n if (printEntity.headerMap && printEntity.headerMap.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (printEntity.headerMap);\r\n }\r\n templateContent += '\\n\\n\\n\\n';\r\n return templateContent;\r\n };\r\n\r\n // 交班日结打印 type: Duty 交班 Dialy 日结\r\n loadBTDutyAndDialyPrintData = (params, type) => {\r\n let templateContent = '';\r\n let printEntity = {};\r\n const {\r\n Code,\r\n Store,\r\n UserName,\r\n POSCode,\r\n POS,\r\n POSName,\r\n WorkingDate,\r\n StartDate,\r\n ShiftDate,\r\n DailyDate,\r\n RetailAmount,\r\n ReturnAmount,\r\n SalesStorageTotalAmount,\r\n CashOutAmount,\r\n CouponsDeduct,\r\n CouponsAmount,\r\n OnlineAmount,\r\n TotalCount,\r\n TotalCustom,\r\n Price,\r\n InitialAmount,\r\n ImprestAmount,\r\n ImprestBalanceAmount,\r\n ShiftVoucherDetails,\r\n DailyDetails,\r\n WorkingTime,\r\n ShiftTime,\r\n StartTime,\r\n DailyTime,\r\n Memo\r\n } = params || {};\r\n printEntity.headerMap = new Map ();\r\n printEntity.footerMap1 = new Map ();\r\n printEntity.footerMap2 = new Map ();\r\n printEntity.detailTopList = [];\r\n printEntity.detailContentList = [];\r\n printEntity.headerMap.set ('单号', Code);\r\n printEntity.headerMap.set ('门店', Store.Name || '');\r\n printEntity.headerMap.set ('POS编码', POSCode || '');\r\n printEntity.headerMap.set ('POS名称', POSName || '');\r\n printEntity.headerMap.set ('收 银 员', UserName || '');\r\n printEntity.headerMap.set (\r\n '上班日期',\r\n WorkingDate + \" \" +WorkingTime \r\n );\r\n printEntity.headerMap.set (\r\n type == 'Duty' ? '交班日期' : '日结日期',\r\n type == 'Duty' ? ShiftDate + \" \" + ShiftTime : DailyDate + \" \" + DailyTime\r\n );\r\n\r\n printEntity.footerMap1.set ('销售金额', tool.format (RetailAmount) || '0.00');\r\n printEntity.footerMap1.set ('退货金额', tool.format (ReturnAmount) || '0.00');\r\n printEntity.footerMap1.set (\r\n '净销售金额',\r\n tool.format (RetailAmount + ReturnAmount) || '0.00'\r\n );\r\n printEntity.footerMap1.set (\r\n '储值销售金额',\r\n tool.format (SalesStorageTotalAmount) || '0.00'\r\n );\r\n printEntity.footerMap1.set (\r\n '抵现销售金额',\r\n tool.format (CashOutAmount) || '0.00'\r\n );\r\n printEntity.footerMap1.set (\r\n '券抵扣(负劳务行)',\r\n tool.format (CouponsDeduct) || '0.00'\r\n );\r\n const { Differentiate } = enumController.getEnumOj();\r\n printEntity.footerMap1.set (`${Differentiate.COUPON}抵扣`, tool.format (CouponsAmount) || '0.00');\r\n printEntity.footerMap1.set ('线上收款金额', tool.format (OnlineAmount) || '0.00');\r\n printEntity.footerMap1.set ('水单总数', TotalCount || '0');\r\n printEntity.footerMap1.set ('来客数量', TotalCustom || '0');\r\n printEntity.footerMap1.set ('客单价', tool.format (Price) || '0.00');\r\n\r\n printEntity.detailTopList.push ({\r\n Caption: '结算方式',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '零售收款金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '储值金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n\r\n let details = [];\r\n let DailyDetailsCommon = [];\r\n if (type == 'Duty') {\r\n DailyDetailsCommon = ShiftVoucherDetails;\r\n } else {\r\n DailyDetailsCommon = DailyDetails;\r\n }\r\n if (DailyDetailsCommon && DailyDetailsCommon.length != 0) {\r\n DailyDetailsCommon.forEach (detailsOb => {\r\n const { OrigAmount, MemberDepositAmount,SettleStyle} = detailsOb;\r\n const { Name } = SettleStyle || {}\r\n details.push ([\r\n Name,\r\n tool.format (OrigAmount) || '0.00',\r\n tool.format (MemberDepositAmount) || '0.00',\r\n ]);\r\n });\r\n }\r\n printEntity.detailContentList.push (...details);\r\n\r\n templateContent += '\\n';\r\n // printEntity.footerMap2.set('现金', BalanceIntegral || '');\r\n printEntity.footerMap2.set (\r\n '备用金初始金额',\r\n tool.format (InitialAmount) || '0.00'\r\n );\r\n printEntity.footerMap2.set ('增减备用金', tool.format (ImprestAmount) || '0.00');\r\n printEntity.footerMap2.set (\r\n '备用金余额',\r\n tool.format (InitialAmount+ImprestAmount) || '0.00'\r\n );\r\n // 设定打印尺寸\r\n BTPrintFormatUtil.setLineByteSize (this.lineSize);\r\n\r\n //单据头部\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printTitle (\r\n type == 'Duty' ? '交班' : '日结'\r\n );\r\n templateContent += BTPrintFormatUtil.drawSeparateLine ();\r\n if (printEntity.headerMap && printEntity.headerMap.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (printEntity.headerMap);\r\n }\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printStarTitle ('销售看板');\r\n templateContent += BTPrintFormatUtil.drawSeparateLine ();\r\n //单据底部1\r\n if (printEntity.footerMap1 && printEntity.footerMap1.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (\r\n printEntity.footerMap1\r\n );\r\n }\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.printStarTitle ('收银统计');\r\n templateContent += BTPrintFormatUtil.drawSeparateLine ();\r\n\r\n //单据内容--头部\r\n let mhList = [];\r\n if (printEntity.detailTopList && printEntity.detailTopList.length > 0) {\r\n printEntity.detailTopList.forEach (item => {\r\n let mh = {\r\n headerText: item.Caption,\r\n headerWeight: 1,\r\n isTitle: item.IsTitle,\r\n isFoot: item.IsFoot,\r\n };\r\n mhList.push (mh);\r\n });\r\n }\r\n //单据内容--明细\r\n let bodyValueList = [];\r\n printEntity.detailContentList.forEach (items => {\r\n let bodyValue = [];\r\n items.forEach (item => {\r\n bodyValue.push (item);\r\n });\r\n bodyValueList.push (bodyValue);\r\n });\r\n templateContent += BTPrintFormatUtil.printMenuMSG (\r\n bodyValueList,\r\n mhList,\r\n true\r\n );\r\n\r\n //单据底部2\r\n if (printEntity.footerMap2 && printEntity.footerMap2.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (\r\n printEntity.footerMap2\r\n );\r\n }\r\n templateContent += BTPrintFormatUtil.drawSeparateLine2 ();\r\n templateContent += '备注:'+ (Memo || '');\r\n templateContent += '\\n'; //备注\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.spaceCenterPrintMsg (\r\n '收银员签字:',\r\n '收银主管签字:'\r\n );\r\n templateContent += '\\n\\n\\n\\n';\r\n return templateContent;\r\n };\r\n\r\n //正常打印机(58mm)数据 小票打印\r\n loadBTPrintData = params => {\r\n let templateContent = '';\r\n let printEntity = {};\r\n const {\r\n Store,\r\n UserName,\r\n Code,\r\n CreatedTime,\r\n details,\r\n TotalCount,\r\n TotalTaxAmount,\r\n WipeChange,\r\n Member,\r\n BalanceIntegral,\r\n Integral,\r\n BalanceStorage,\r\n RetailPaymentDetails\r\n } = params || {};\r\n printEntity.headerMap = new Map ();\r\n printEntity.detailTopList = [];\r\n printEntity.paymentTypeTopList = [];\r\n printEntity.paymentTypeDetailList = [];\r\n printEntity.detailContentList = [];\r\n printEntity.footerMap1 = new Map ();\r\n printEntity.footerMap2 = new Map ();\r\n printEntity.headerMap.set ('门店名称', Store.Name || '');\r\n printEntity.headerMap.set ('门店电话', Store.Telephone || '');\r\n printEntity.headerMap.set ('收银员', UserName || '');\r\n printEntity.headerMap.set ('单号', Code);\r\n printEntity.headerMap.set ('日期', CreatedTime || '');\r\n printEntity.detailTopList.push ({\r\n Caption: '商品名称',\r\n IsTitle: true,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '数量',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '单价',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n printEntity.detailTopList.push ({\r\n Caption: '金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n });\r\n\r\n //支付方式\r\n printEntity.paymentTypeTopList.push ({\r\n Caption: '支付方式',\r\n IsTitle: false,\r\n IsFoot: false,\r\n })\r\n printEntity.paymentTypeTopList.push ({\r\n Caption: '金额',\r\n IsTitle: false,\r\n IsFoot: false,\r\n })\r\n printEntity.paymentTypeDetailList.push(...RetailPaymentDetails)\r\n\r\n printEntity.detailContentList.push (...details);\r\n printEntity.footerMap1.set ('数量', TotalCount);\r\n printEntity.footerMap1.set ('金额', TotalTaxAmount);\r\n printEntity.footerMap1.set ('抹零', WipeChange || '0.00');\r\n\r\n printEntity.footerMap2.set ('会员卡号', (Member && Member.CardCode) || '');\r\n printEntity.footerMap2.set ('会员手机', (Member && Member.Mobilephone) || '');\r\n printEntity.footerMap2.set ('积分余额', BalanceIntegral || '0');\r\n printEntity.footerMap2.set ('本次积分', Integral || '0');\r\n printEntity.footerMap2.set ('储值余额', BalanceStorage || '0.00');\r\n // 设定打印尺寸\r\n BTPrintFormatUtil.setLineByteSize (this.lineSize);\r\n\r\n //单据头部\r\n templateContent += '\\n';\r\n if (printEntity.headerMap && printEntity.headerMap.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (printEntity.headerMap);\r\n }\r\n\r\n templateContent += '\\n';\r\n\r\n //单据内容--头部\r\n let mhList = [];\r\n if (printEntity.detailTopList && printEntity.detailTopList.length > 0) {\r\n printEntity.detailTopList.forEach (item => {\r\n let mh = {\r\n headerText: item.Caption,\r\n headerWeight: 1,\r\n isTitle: item.IsTitle,\r\n isFoot: item.IsFoot,\r\n };\r\n mhList.push (mh);\r\n });\r\n }\r\n //单据内容--明细\r\n let bodyValueList = [];\r\n printEntity.detailContentList.forEach (items => {\r\n let bodyValue = [];\r\n items.forEach (item => {\r\n bodyValue.push (item);\r\n });\r\n bodyValueList.push (bodyValue);\r\n });\r\n templateContent += BTPrintFormatUtil.printMenuMSG (\r\n bodyValueList,\r\n mhList,\r\n true\r\n );\r\n\r\n //单据底部1\r\n if (printEntity.footerMap1 && printEntity.footerMap1.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg(\r\n printEntity.footerMap1\r\n );\r\n }\r\n templateContent += BTPrintFormatUtil.drawSeparateLine();\r\n templateContent += '\\n';\r\n\r\n //支付方式--头部\r\n let phList = [];\r\n if (printEntity.paymentTypeTopList && printEntity.paymentTypeTopList.length > 0) {\r\n printEntity.paymentTypeTopList.forEach ((item,index) => {\r\n let mh = {\r\n headerText: item.Caption,\r\n headerWeight: index == 0 ? 3 : 1,\r\n isTitle: item.IsTitle,\r\n isFoot: item.IsFoot,\r\n };\r\n phList.push (mh);\r\n });\r\n }\r\n //支付方式--明细\r\n let pBodyValueList = [];\r\n printEntity.paymentTypeDetailList.forEach (items => {\r\n let bodyValue = [];\r\n const { Amount = '0.00', SettleStyle: { Name = \"其他方式\" } } = items;\r\n bodyValue.push(Name);\r\n bodyValue.push(tool.format (Amount));\r\n pBodyValueList.push (bodyValue);\r\n });\r\n templateContent += BTPrintFormatUtil.printMenuMSG (\r\n pBodyValueList,\r\n phList,\r\n true\r\n );\r\n\r\n \r\n //单据底部2\r\n if (printEntity.footerMap2 && printEntity.footerMap2.size > 0) {\r\n templateContent += BTPrintFormatUtil.leftPrintMsg (\r\n printEntity.footerMap2\r\n );\r\n }\r\n templateContent += '\\n';\r\n templateContent += BTPrintFormatUtil.drawSeparateLine2 ();\r\n templateContent += '\\n';\r\n templateContent += '\\t谢谢惠顾,欢迎再次光临';\r\n templateContent += '\\n\\n\\n';\r\n return templateContent;\r\n };\r\n\r\n //小票-云打印\r\n cloudPrint = (cloudContents, printParams, callback) => {\r\n const { Open ,Key, Sign, Name, Card,isLocalSunMi} = printParams || {};\r\n // 商米没有配置则调用本地打印接口\r\n if(this.isHorizontalSunMi && isLocalSunMi){\r\n this.sunMiLocalPrint(cloudContents, Name, callback);\r\n }else if (this.isHorizontalSunMi && !Open) {\r\n console.log (cloudContents);\r\n this.sunmiPrint (cloudContents, callback);\r\n } else if(Open) {\r\n const {Key, Sign, Name, Card} = printParams || {};\r\n let arr = [];\r\n arr.push (Sign, Key);\r\n if (Name) arr.push (Name);\r\n if (Card) arr.push (Card);\r\n let printerContent = arr.join ('#');\r\n let PrintCount = this.PrintCount; //打印次数\r\n API.openPrintMsg ({\r\n content: cloudContents,\r\n printerContent: printerContent,\r\n apiname: 'Open_printMsg',\r\n deviceCode: Sign,\r\n times: PrintCount,\r\n }).then (s => {\r\n if (typeof callback == 'function' && s && s.data) callback (s.data);\r\n });\r\n }\r\n };\r\n\r\n //小票-商米打印\r\n sunmiPrint = (cloudContents, callback) => {\r\n window.sunMi_OperatingCashier &&\r\n window.sunMi_OperatingCashier\r\n // 检测打印机状态\r\n .updatePrinterState().then(status => {\r\n const { state , message } = status || {};\r\n if(state == 1){\r\n window.sunMi_OperatingCashier &&\r\n window.sunMi_OperatingCashier\r\n .PrintSmallTicketter (cloudContents + '\\n\\n',this.PrintCount)\r\n .then (ret => {\r\n if(ret && ret.state && ret.state == 200){\r\n callback && callback ({\r\n ret:0,\r\n msg:\"打印成功\"\r\n });\r\n }else{\r\n callback && callback ({\r\n ret:-1,\r\n msg:ret.message?ret.message:\"打印失败\"\r\n });\r\n }\r\n });\r\n }else{\r\n callback && callback ({\r\n ret:-1,\r\n msg:message?message:\"打印失败\"\r\n });\r\n }\r\n })\r\n };\r\n\r\n sunMiLocalPrint = (cloudContents,deviceName,callback)=>{\r\n window.LocalPrintPlugin.printByDeviceName({deviceName,printContent:cloudContents}).then((res)=>{\r\n console.log(\"商米本地打印成功\",res);\r\n callback && callback ({\r\n ret:0,\r\n msg:\"打印成功\"\r\n });\r\n }).catch((error)=>{\r\n console.log(\"商米本地打印失败\",error)\r\n const { message } = error || {}\r\n callback && callback ({\r\n ret:-1,\r\n msg: message ||\"打印失败\"\r\n });\r\n })\r\n }\r\n\r\n\r\n cloudAddList = (printParams, callback) => {\r\n const {Key, Sign, Name, Card} = printParams || {};\r\n let arr = [];\r\n arr.push (Sign, Key);\r\n if (Name) arr.push (Name);\r\n if (Card) arr.push (Card);\r\n let printerContent = arr.join ('#');\r\n let PrintCount = this.PrintCount; //按照添加一次的\r\n API.openPrinterAddlist ({\r\n content: '',\r\n printerContent,\r\n apiname: 'Open_printerAddlist',\r\n deviceCode: Sign,\r\n times: PrintCount,\r\n }).then (s => {\r\n if (typeof callback == 'function' && s && s.data) callback (s.data);\r\n });\r\n };\r\n toDecimal2NoZero(x) {\r\n var f = Math.round(x * 100) / 100;\r\n var s = f.toString();\r\n return s;\r\n }\r\n}\r\nexport default PrintUtil;\r\n"]}
@@ -9,6 +9,10 @@ var _regenerator = require('babel-runtime/regenerator');
9
9
 
10
10
  var _regenerator2 = _interopRequireDefault(_regenerator);
11
11
 
12
+ var _extends2 = require('babel-runtime/helpers/extends');
13
+
14
+ var _extends3 = _interopRequireDefault(_extends2);
15
+
12
16
  var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
13
17
 
14
18
  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
@@ -43,7 +47,7 @@ var t = _mutantsMicrofx.i18n.getFixedT(null, 'newretail'); /*
43
47
  * @Author: chenlongad
44
48
  * @Date: 2020-11-17 10:02:02
45
49
  * @LastEditors: chenlongad
46
- * @LastEditTime: 2022-01-12 15:26:11
50
+ * @LastEditTime: 2022-03-14 10:38:12
47
51
  */
48
52
 
49
53
 
@@ -130,34 +134,38 @@ var printDispatch = exports.printDispatch = function printDispatch(doName, ID, o
130
134
 
131
135
  _ref3 = _mutantsUtil.platform || {}, isHorizontalSunMi = _ref3.isHorizontalSunMi;
132
136
 
133
- if (!(isOpenPrint && checkedPrintType === "3" || !checkedPrintType && !!isHorizontalSunMi)) {
134
- _context.next = 21;
137
+ if (!(isOpenPrint && (checkedPrintType === "3" || checkedPrintType === "4") || !checkedPrintType && !!isHorizontalSunMi)) {
138
+ _context.next = 22;
135
139
  break;
136
140
  }
137
141
 
138
- // 1.如果未开启打印并且是商米平台 使用自带的打印机 2如果开启打印并且使用飞蛾打印机
142
+ // 1.如果未开启打印并且是商米平台 使用自带的打印机 2如果开启打印并且使用飞蛾打印机 3 // 配置商米的外接打印机或者内置打印机
139
143
  if (!!isHorizontalSunMi && openCashBox) {
140
144
  // 开启商米的钱箱
141
145
  syncOpenCashBox(printEntity);
142
146
  }
143
- _context.next = 17;
147
+
148
+ if (checkedPrintType === "4") {
149
+ cloudPrintArguments = (0, _extends3.default)({}, _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('sunMiLocalPrintArguments'), { isLocalSunMi: true });
150
+ }
151
+ _context.next = 18;
144
152
  return cloudPrintNoTemplate(doName, ID, cloudPrintArguments || {});
145
153
 
146
- case 17:
154
+ case 18:
147
155
  result = _context.sent;
148
156
 
149
157
  res(result);
150
- _context.next = 44;
158
+ _context.next = 45;
151
159
  break;
152
160
 
153
- case 21:
161
+ case 22:
154
162
  if (!(isOpenPrint && (checkedPrintType === "2" || checkedPrintType === "1"))) {
155
- _context.next = 43;
163
+ _context.next = 44;
156
164
  break;
157
165
  }
158
166
 
159
167
  if (!(_mutantsMicrofx.env.platform !== _mutantsMicrofx.env.constant.platform.electron && checkedPrintType === "1")) {
160
- _context.next = 25;
168
+ _context.next = 26;
161
169
  break;
162
170
  }
163
171
 
@@ -165,50 +173,50 @@ var printDispatch = exports.printDispatch = function printDispatch(doName, ID, o
165
173
  _message2.default.warn(t('打印小票只能在客户端中执行'));
166
174
  return _context.abrupt('return', res());
167
175
 
168
- case 25:
176
+ case 26:
169
177
  _context.t0 = doName;
170
- _context.next = _context.t0 === DoNameList.DO_PRINT ? 28 : _context.t0 === DoNameList.DO_MT_RETAIL ? 28 : _context.t0 === DoNameList.DO_ONLY_PRINT ? 28 : _context.t0 === DoNameList.DO_DUTY_PRINT ? 28 : _context.t0 === DoNameList.DO_DIALY_PRINT ? 28 : _context.t0 === DoNameList.DO_STORAGE_PRINT ? 28 : _context.t0 === DoNameList.DO_PROJECT_STORAGE_PRINT ? 28 : _context.t0 === DoNameList.DO_PROJECT_CONSUME_PRINT ? 28 : 37;
178
+ _context.next = _context.t0 === DoNameList.DO_PRINT ? 29 : _context.t0 === DoNameList.DO_MT_RETAIL ? 29 : _context.t0 === DoNameList.DO_ONLY_PRINT ? 29 : _context.t0 === DoNameList.DO_DUTY_PRINT ? 29 : _context.t0 === DoNameList.DO_DIALY_PRINT ? 29 : _context.t0 === DoNameList.DO_STORAGE_PRINT ? 29 : _context.t0 === DoNameList.DO_PROJECT_STORAGE_PRINT ? 29 : _context.t0 === DoNameList.DO_PROJECT_CONSUME_PRINT ? 29 : 38;
171
179
  break;
172
180
 
173
- case 28:
181
+ case 29:
174
182
  if (!global[DoPrintGlobalFunction[doName]]) {
175
- _context.next = 34;
183
+ _context.next = 35;
176
184
  break;
177
185
  }
178
186
 
179
- _context.next = 31;
187
+ _context.next = 32;
180
188
  return global[DoPrintGlobalFunction[doName]].execute(ID, dto, openCashBox);
181
189
 
182
- case 31:
190
+ case 32:
183
191
  return _context.abrupt('return', res());
184
192
 
185
- case 34:
193
+ case 35:
186
194
  if (electronPrint) {
187
- _context.next = 37;
195
+ _context.next = 38;
188
196
  break;
189
197
  }
190
198
 
191
199
  _message2.default.warn(t('打印小票只能在客户端中执行'));
192
200
  return _context.abrupt('return', res());
193
201
 
194
- case 37:
202
+ case 38:
195
203
  if (!electronPrint) {
196
- _context.next = 40;
204
+ _context.next = 41;
197
205
  break;
198
206
  }
199
207
 
200
- _context.next = 40;
208
+ _context.next = 41;
201
209
  return electronPrint();
202
210
 
203
- case 40:
211
+ case 41:
204
212
  res();
205
- _context.next = 44;
213
+ _context.next = 45;
206
214
  break;
207
215
 
208
- case 43:
216
+ case 44:
209
217
  res();
210
218
 
211
- case 44:
219
+ case 45:
212
220
  case 'end':
213
221
  return _context.stop();
214
222
  }
@@ -222,17 +230,11 @@ var printDispatch = exports.printDispatch = function printDispatch(doName, ID, o
222
230
  }());
223
231
  };
224
232
 
225
- var cloudPrintNoTemplate = function cloudPrintNoTemplate(doName, ID, _ref4) {
226
- var Open = _ref4.Open,
227
- Key = _ref4.Key,
228
- Sign = _ref4.Sign,
229
- Name = _ref4.Name,
230
- Card = _ref4.Card;
231
-
233
+ var cloudPrintNoTemplate = function cloudPrintNoTemplate(doName, ID, cloudPrintArguments) {
232
234
  return new _promise2.default(function (resolve) {
233
235
  var printUtil = new _index2.default();
234
236
  if (doName === 'doOnlyRetail') doName = 'doPrint';
235
- printUtil[doName]({ Open: Open, Key: Key, Sign: Sign, Name: Name, Card: Card }, ID, function (s) {
237
+ printUtil[doName](cloudPrintArguments, ID, function (s) {
236
238
  var msg = s.msg,
237
239
  ret = s.ret;
238
240
 
@@ -249,14 +251,14 @@ var cloudPrintNoTemplate = function cloudPrintNoTemplate(doName, ID, _ref4) {
249
251
  };
250
252
 
251
253
  var syncOpenCashBox = function () {
252
- var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(printEntity) {
253
- var _ref6, CashBoxCmd;
254
+ var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(printEntity) {
255
+ var _ref5, CashBoxCmd;
254
256
 
255
257
  return _regenerator2.default.wrap(function _callee2$(_context2) {
256
258
  while (1) {
257
259
  switch (_context2.prev = _context2.next) {
258
260
  case 0:
259
- _ref6 = printEntity || {}, CashBoxCmd = _ref6.CashBoxCmd;
261
+ _ref5 = printEntity || {}, CashBoxCmd = _ref5.CashBoxCmd;
260
262
  return _context2.abrupt('return', window.sunMi_OperatingCashier && window.sunMi_OperatingCashier.OpenDrawer(CashBoxCmd));
261
263
 
262
264
  case 2:
@@ -268,7 +270,7 @@ var syncOpenCashBox = function () {
268
270
  }));
269
271
 
270
272
  return function syncOpenCashBox(_x2) {
271
- return _ref5.apply(this, arguments);
273
+ return _ref4.apply(this, arguments);
272
274
  };
273
275
  }();
274
276
 
@@ -277,8 +279,8 @@ var getLoginInfo = function getLoginInfo() {
277
279
  };
278
280
 
279
281
  var isOldOpen = exports.isOldOpen = function isOldOpen(printDetailEntitys) {
280
- var _ref7 = _mutantsUtil.platform || {},
281
- isVerticalTouch = _ref7.isVerticalTouch;
282
+ var _ref6 = _mutantsUtil.platform || {},
283
+ isVerticalTouch = _ref6.isVerticalTouch;
282
284
 
283
285
  if (isVerticalTouch) return true;
284
286
  var isOpenPrintValue = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('isOpenPrint');
@@ -290,10 +292,15 @@ var isOldOpen = exports.isOldOpen = function isOldOpen(printDetailEntitys) {
290
292
  }).length > 0;
291
293
  var cloudPrintArguments = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('cloudPrintArguments');
292
294
 
293
- var _ref8 = cloudPrintArguments || {},
294
- cloudOpen = _ref8.Open;
295
+ var _ref7 = cloudPrintArguments || {},
296
+ cloudOpen = _ref7.Open;
297
+
298
+ var sunMiLocalPrintArguments = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('sunMiLocalPrintArguments');
295
299
 
296
- return localOrYinMeiOpen || cloudOpen;
300
+ var _ref8 = sunMiLocalPrintArguments || {},
301
+ sunMiOpen = _ref8.Open;
302
+
303
+ return localOrYinMeiOpen || cloudOpen || sunMiOpen;
297
304
  };
298
305
 
299
306
  var getCheckedPrintTypeDefaults = exports.getCheckedPrintTypeDefaults = function getCheckedPrintTypeDefaults() {
@@ -306,6 +313,7 @@ var getCheckedPrintTypeDefaults = exports.getCheckedPrintTypeDefaults = function
306
313
 
307
314
  var checkedPrintType = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('checkedPrintType');
308
315
  var cloudPrintArguments = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('cloudPrintArguments');
316
+ var sunMiLocalPrintArguments = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('sunMiLocalPrintArguments');
309
317
  if (checkedPrintType === null) {
310
318
  if (hasElectron || !!isVerticalTouch) {
311
319
  checkedPrintType = '1';
@@ -313,8 +321,13 @@ var getCheckedPrintTypeDefaults = exports.getCheckedPrintTypeDefaults = function
313
321
  var _ref10 = cloudPrintArguments || {},
314
322
  Open = _ref10.Open;
315
323
 
324
+ var _ref11 = sunMiLocalPrintArguments || {},
325
+ sunMiOpen = _ref11.Open;
326
+
316
327
  if (Open) {
317
328
  checkedPrintType = '3';
329
+ } else if (sunMiOpen) {
330
+ checkedPrintType = '4';
318
331
  } else {
319
332
  checkedPrintType = '3';
320
333
  // checkedPrintType = '2' 后续改回这个 放开映美打印机后
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/cloudPrint/printDispatch.js"],"names":["t","i18n","getFixedT","DoNameList","DO_PRINT","DO_ONLY_PRINT","DO_MT_RETAIL","DO_DUTY_PRINT","DO_DIALY_PRINT","DO_STORAGE_PRINT","DO_PROJECT_STORAGE_PRINT","DO_PROJECT_CONSUME_PRINT","DoDesName","doPrint","doMtRetail","doOnlyRetail","doDutyPrint","doDialyPrint","doStoragePrint","doProjectStoragePrint","doProjectConsumePrint","DoPrintGlobalFunction","printDispatch","doName","ID","otherParams","res","getLoginInfo","IdStore","posCode","API","GetPrintInfomation","Idstore","POSCode","printEntity","AutoPrintTicket","isOpenPrint","isOldOpen","PrintDetailEntitys","checkedPrintType","getCheckedPrintTypeDefaults","cloudPrintArguments","localStore","get","electronPrint","openCashBox","dto","platform","isHorizontalSunMi","syncOpenCashBox","cloudPrintNoTemplate","result","env","constant","electron","Message","warn","global","execute","Open","Key","Sign","Name","Card","resolve","printUtil","PrintUtil","msg","s","ret","success","error","CashBoxCmd","window","sunMi_OperatingCashier","OpenDrawer","stores","user","options","printDetailEntitys","isVerticalTouch","isOpenPrintValue","localOrYinMeiOpen","filter","item","IsEnablePrinter","length","cloudOpen","hasElectron"],"mappings":"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","file":"printDispatch.js","sourcesContent":["/*\r\n * @Descripttion: \r\n * @version: \r\n * @Author: chenlongad\r\n * @Date: 2020-11-17 10:02:02\r\n * @LastEditors: chenlongad\r\n * @LastEditTime: 2022-01-12 15:26:11\r\n */\r\nimport { platform } from 'mutants-util';\r\nimport { stores, localStore, env, i18n } from 'mutants-microfx';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport PrintUtil from './index'\r\nimport Message from '../message';\r\nconst t = i18n.getFixedT(null, 'newretail');\r\nimport API from './api';\r\n\r\n// 打印调用方法对照\r\nexport const DoNameList = {\r\n DO_PRINT:\"doPrint\",\r\n DO_ONLY_PRINT:\"doOnlyRetail\",\r\n DO_MT_RETAIL:\"doMtRetail\",\r\n DO_DUTY_PRINT:\"doDutyPrint\",\r\n DO_DIALY_PRINT:\"doDialyPrint\",\r\n DO_STORAGE_PRINT:\"doStoragePrint\",\r\n DO_PROJECT_STORAGE_PRINT:\"doProjectStoragePrint\",\r\n DO_PROJECT_CONSUME_PRINT:\"doProjectConsumePrint\"\r\n}\r\n\r\n// 打印调用方法名字对照\r\nconst DoDesName = {\r\n doPrint:\"小票\",\r\n doMtRetail:\"美团\",\r\n doOnlyRetail:\"小票\",\r\n doDutyPrint:\"交班\",\r\n doDialyPrint:\"日结\",\r\n doStoragePrint:\"储值\",\r\n doProjectStoragePrint:\"项目储值\",\r\n doProjectConsumePrint:\"扣次\"\r\n}\r\n\r\n// window打印调用方法对照\r\nconst DoPrintGlobalFunction = {\r\n doPrint:\"RetailPrintProcessBlock\",\r\n doOnlyRetail:\"OnlyRetailPrintProcess\",\r\n doMtRetail:\"MeiTuanPrintProcessBlock\",\r\n doDutyPrint:\"printShiftVoucher\",\r\n doDialyPrint:\"printDailyVoucher\",\r\n doStoragePrint:\"StoragePrintProcessBlock\",\r\n doProjectStoragePrint:\"ProjectStoragePrintProcessBlock\",\r\n doProjectConsumePrint:\"ProjectConsumePrintProcessBlock\"\r\n}\r\n\r\n\r\nexport const printDispatch = (doName,ID,otherParams) => {\r\n return new Promise(async (res) => {\r\n const { IdStore, posCode } = getLoginInfo();\r\n const printEntity = await API.GetPrintInfomation({\r\n Idstore: IdStore,\r\n POSCode: posCode\r\n });\r\n // 开启结算完自动打印小票的选项 只判断是结算小票打印 其他的打印方式继续打印\r\n if (!printEntity.AutoPrintTicket && doName == DoNameList.DO_PRINT) {\r\n return res();\r\n }\r\n // 是否开启打印机\r\n const isOpenPrint = isOldOpen(printEntity.PrintDetailEntitys);\r\n\r\n // 获取打印机开启的类型\r\n let checkedPrintType = getCheckedPrintTypeDefaults()\r\n\r\n if(!isOpenPrint) checkedPrintType = null;\r\n\r\n // 获取云打印参数\r\n const cloudPrintArguments = localStore && localStore.get('cloudPrintArguments');\r\n\r\n let { electronPrint,openCashBox,dto} = otherParams || {};\r\n if(!dto){\r\n dto={};\r\n dto.Idstore = PosInitData('storeID');\r\n dto.POSCode = PosInitData('posCode');\r\n }\r\n\r\n const { isHorizontalSunMi } = platform || {};\r\n if (isOpenPrint && checkedPrintType === \"3\" || !checkedPrintType && !!isHorizontalSunMi) {\r\n // 1.如果未开启打印并且是商米平台 使用自带的打印机 2如果开启打印并且使用飞蛾打印机\r\n if(!!isHorizontalSunMi && openCashBox){\r\n // 开启商米的钱箱\r\n syncOpenCashBox(printEntity) \r\n }\r\n let result = await cloudPrintNoTemplate(doName, ID, cloudPrintArguments || {});\r\n res(result);\r\n } else if (isOpenPrint && (checkedPrintType === \"2\" || checkedPrintType === \"1\")) {\r\n if (env.platform !== env.constant.platform.electron && checkedPrintType === \"1\") {//获取当前是否处于Electron环境中\r\n Message.warn(t('打印小票只能在客户端中执行'))\r\n return res();\r\n }\r\n switch (doName) {\r\n case DoNameList.DO_PRINT:\r\n case DoNameList.DO_MT_RETAIL:\r\n case DoNameList.DO_ONLY_PRINT:\r\n case DoNameList.DO_DUTY_PRINT:\r\n case DoNameList.DO_DIALY_PRINT:\r\n case DoNameList.DO_STORAGE_PRINT:\r\n case DoNameList.DO_PROJECT_STORAGE_PRINT:\r\n case DoNameList.DO_PROJECT_CONSUME_PRINT: {\r\n if (global[DoPrintGlobalFunction[doName]]) {\r\n await global[DoPrintGlobalFunction[doName]].execute(ID,dto, openCashBox);\r\n return res();\r\n } else {\r\n if(!electronPrint){\r\n Message.warn(t('打印小票只能在客户端中执行'))\r\n return res();\r\n }\r\n }\r\n }\r\n }\r\n \r\n if (electronPrint) await electronPrint()\r\n res();\r\n }else {\r\n res();\r\n }\r\n })\r\n}\r\n\r\nconst cloudPrintNoTemplate = (doName,ID,{Open, Key, Sign, Name, Card }) => {\r\n return new Promise((resolve) => {\r\n const printUtil = new PrintUtil();\r\n if(doName === 'doOnlyRetail') doName = 'doPrint';\r\n printUtil[doName]({Open, Key, Sign, Name, Card }, ID, s => {\r\n const { msg, ret } = s;\r\n if (ret === 0) {\r\n Message.success(t(`打印${DoDesName[doName]}小票成功。`))\r\n }else if(ret === -1){\r\n Message.error(t(msg))\r\n } else {\r\n Message.error(t(`打印${DoDesName[doName]}小票失败。`))\r\n }\r\n resolve();\r\n })\r\n })\r\n}\r\n\r\nconst syncOpenCashBox = async(printEntity) =>{\r\n const { CashBoxCmd } = printEntity || {}\r\n return window.sunMi_OperatingCashier && window.sunMi_OperatingCashier.OpenDrawer(CashBoxCmd);\r\n}\r\n\r\nconst getLoginInfo = () => {\r\n return stores.user.options.get('loginInfo');\r\n}\r\n\r\nexport const isOldOpen = (printDetailEntitys) => {\r\n const { isVerticalTouch } = platform || {}\r\n if(isVerticalTouch) return true;\r\n const isOpenPrintValue = localStore && localStore.get('isOpenPrint');\r\n if(isOpenPrintValue !==null){\r\n return isOpenPrintValue === \"true\";\r\n }\r\n const localOrYinMeiOpen = printDetailEntitys && printDetailEntitys.filter((item)=>{\r\n return item.IsEnablePrinter === true\r\n }).length > 0;\r\n const cloudPrintArguments = localStore && localStore.get('cloudPrintArguments');\r\n const { Open:cloudOpen } = cloudPrintArguments || {};\r\n return localOrYinMeiOpen || cloudOpen;\r\n}\r\n\r\nexport const getCheckedPrintTypeDefaults = () => {\r\n const hasElectron = (env.platform === env.constant.platform.electron);\r\n const { isVerticalTouch } = platform || {}\r\n // 打印机选择的类型\r\n let checkedPrintType = localStore && localStore.get('checkedPrintType');\r\n const cloudPrintArguments = localStore && localStore.get('cloudPrintArguments');\r\n if(checkedPrintType === null) {\r\n if(hasElectron || !!isVerticalTouch){\r\n checkedPrintType = '1'\r\n }else {\r\n const { Open } = cloudPrintArguments || {};\r\n if(Open){\r\n checkedPrintType = '3'\r\n }else{\r\n checkedPrintType = '3'\r\n // checkedPrintType = '2' 后续改回这个 放开映美打印机后\r\n }\r\n }\r\n }\r\n return checkedPrintType\r\n}"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/cloudPrint/printDispatch.js"],"names":["t","i18n","getFixedT","DoNameList","DO_PRINT","DO_ONLY_PRINT","DO_MT_RETAIL","DO_DUTY_PRINT","DO_DIALY_PRINT","DO_STORAGE_PRINT","DO_PROJECT_STORAGE_PRINT","DO_PROJECT_CONSUME_PRINT","DoDesName","doPrint","doMtRetail","doOnlyRetail","doDutyPrint","doDialyPrint","doStoragePrint","doProjectStoragePrint","doProjectConsumePrint","DoPrintGlobalFunction","printDispatch","doName","ID","otherParams","res","getLoginInfo","IdStore","posCode","API","GetPrintInfomation","Idstore","POSCode","printEntity","AutoPrintTicket","isOpenPrint","isOldOpen","PrintDetailEntitys","checkedPrintType","getCheckedPrintTypeDefaults","cloudPrintArguments","localStore","get","electronPrint","openCashBox","dto","platform","isHorizontalSunMi","syncOpenCashBox","isLocalSunMi","cloudPrintNoTemplate","result","env","constant","electron","Message","warn","global","execute","resolve","printUtil","PrintUtil","msg","s","ret","success","error","CashBoxCmd","window","sunMi_OperatingCashier","OpenDrawer","stores","user","options","printDetailEntitys","isVerticalTouch","isOpenPrintValue","localOrYinMeiOpen","filter","item","IsEnablePrinter","length","cloudOpen","Open","sunMiLocalPrintArguments","sunMiOpen","hasElectron"],"mappings":"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","file":"printDispatch.js","sourcesContent":["/*\r\n * @Descripttion: \r\n * @version: \r\n * @Author: chenlongad\r\n * @Date: 2020-11-17 10:02:02\r\n * @LastEditors: chenlongad\r\n * @LastEditTime: 2022-03-14 10:38:12\r\n */\r\nimport { platform } from 'mutants-util';\r\nimport { stores, localStore, env, i18n } from 'mutants-microfx';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport PrintUtil from './index'\r\nimport Message from '../message';\r\nconst t = i18n.getFixedT(null, 'newretail');\r\nimport API from './api';\r\n\r\n// 打印调用方法对照\r\nexport const DoNameList = {\r\n DO_PRINT:\"doPrint\",\r\n DO_ONLY_PRINT:\"doOnlyRetail\",\r\n DO_MT_RETAIL:\"doMtRetail\",\r\n DO_DUTY_PRINT:\"doDutyPrint\",\r\n DO_DIALY_PRINT:\"doDialyPrint\",\r\n DO_STORAGE_PRINT:\"doStoragePrint\",\r\n DO_PROJECT_STORAGE_PRINT:\"doProjectStoragePrint\",\r\n DO_PROJECT_CONSUME_PRINT:\"doProjectConsumePrint\"\r\n}\r\n\r\n// 打印调用方法名字对照\r\nconst DoDesName = {\r\n doPrint:\"小票\",\r\n doMtRetail:\"美团\",\r\n doOnlyRetail:\"小票\",\r\n doDutyPrint:\"交班\",\r\n doDialyPrint:\"日结\",\r\n doStoragePrint:\"储值\",\r\n doProjectStoragePrint:\"项目储值\",\r\n doProjectConsumePrint:\"扣次\"\r\n}\r\n\r\n// window打印调用方法对照\r\nconst DoPrintGlobalFunction = {\r\n doPrint:\"RetailPrintProcessBlock\",\r\n doOnlyRetail:\"OnlyRetailPrintProcess\",\r\n doMtRetail:\"MeiTuanPrintProcessBlock\",\r\n doDutyPrint:\"printShiftVoucher\",\r\n doDialyPrint:\"printDailyVoucher\",\r\n doStoragePrint:\"StoragePrintProcessBlock\",\r\n doProjectStoragePrint:\"ProjectStoragePrintProcessBlock\",\r\n doProjectConsumePrint:\"ProjectConsumePrintProcessBlock\"\r\n}\r\n\r\n\r\nexport const printDispatch = (doName,ID,otherParams) => {\r\n return new Promise(async (res) => {\r\n const { IdStore, posCode } = getLoginInfo();\r\n const printEntity = await API.GetPrintInfomation({\r\n Idstore: IdStore,\r\n POSCode: posCode\r\n });\r\n // 开启结算完自动打印小票的选项 只判断是结算小票打印 其他的打印方式继续打印\r\n if (!printEntity.AutoPrintTicket && doName == DoNameList.DO_PRINT) {\r\n return res();\r\n }\r\n // 是否开启打印机\r\n const isOpenPrint = isOldOpen(printEntity.PrintDetailEntitys);\r\n\r\n // 获取打印机开启的类型\r\n let checkedPrintType = getCheckedPrintTypeDefaults()\r\n\r\n if(!isOpenPrint) checkedPrintType = null;\r\n\r\n // 获取云打印参数\r\n let cloudPrintArguments = localStore && localStore.get('cloudPrintArguments');\r\n\r\n let { electronPrint,openCashBox,dto} = otherParams || {};\r\n if(!dto){\r\n dto={};\r\n dto.Idstore = PosInitData('storeID');\r\n dto.POSCode = PosInitData('posCode');\r\n }\r\n\r\n const { isHorizontalSunMi } = platform || {};\r\n if (isOpenPrint && (checkedPrintType === \"3\" || checkedPrintType === \"4\" )|| !checkedPrintType && !!isHorizontalSunMi) {\r\n // 1.如果未开启打印并且是商米平台 使用自带的打印机 2如果开启打印并且使用飞蛾打印机 3 // 配置商米的外接打印机或者内置打印机\r\n if(!!isHorizontalSunMi && openCashBox){\r\n // 开启商米的钱箱\r\n syncOpenCashBox(printEntity) \r\n }\r\n\r\n if(checkedPrintType === \"4\"){\r\n cloudPrintArguments = {...localStore && localStore.get('sunMiLocalPrintArguments'),isLocalSunMi:true};\r\n }\r\n let result = await cloudPrintNoTemplate(doName, ID, cloudPrintArguments || {});\r\n res(result);\r\n } else if (isOpenPrint && (checkedPrintType === \"2\" || checkedPrintType === \"1\")) {\r\n if (env.platform !== env.constant.platform.electron && checkedPrintType === \"1\") {//获取当前是否处于Electron环境中\r\n Message.warn(t('打印小票只能在客户端中执行'))\r\n return res();\r\n }\r\n switch (doName) {\r\n case DoNameList.DO_PRINT:\r\n case DoNameList.DO_MT_RETAIL:\r\n case DoNameList.DO_ONLY_PRINT:\r\n case DoNameList.DO_DUTY_PRINT:\r\n case DoNameList.DO_DIALY_PRINT:\r\n case DoNameList.DO_STORAGE_PRINT:\r\n case DoNameList.DO_PROJECT_STORAGE_PRINT:\r\n case DoNameList.DO_PROJECT_CONSUME_PRINT: {\r\n if (global[DoPrintGlobalFunction[doName]]) {\r\n await global[DoPrintGlobalFunction[doName]].execute(ID,dto, openCashBox);\r\n return res();\r\n } else {\r\n if(!electronPrint){\r\n Message.warn(t('打印小票只能在客户端中执行'))\r\n return res();\r\n }\r\n }\r\n }\r\n }\r\n \r\n if (electronPrint) await electronPrint()\r\n res();\r\n }else {\r\n res();\r\n }\r\n })\r\n}\r\n\r\nconst cloudPrintNoTemplate = (doName,ID,cloudPrintArguments) => {\r\n return new Promise((resolve) => {\r\n const printUtil = new PrintUtil();\r\n if(doName === 'doOnlyRetail') doName = 'doPrint';\r\n printUtil[doName](cloudPrintArguments, ID, s => {\r\n const { msg, ret } = s;\r\n if (ret === 0) {\r\n Message.success(t(`打印${DoDesName[doName]}小票成功。`))\r\n }else if(ret === -1){\r\n Message.error(t(msg))\r\n } else {\r\n Message.error(t(`打印${DoDesName[doName]}小票失败。`))\r\n }\r\n resolve();\r\n })\r\n })\r\n}\r\n\r\nconst syncOpenCashBox = async(printEntity) =>{\r\n const { CashBoxCmd } = printEntity || {}\r\n return window.sunMi_OperatingCashier && window.sunMi_OperatingCashier.OpenDrawer(CashBoxCmd);\r\n}\r\n\r\nconst getLoginInfo = () => {\r\n return stores.user.options.get('loginInfo');\r\n}\r\n\r\nexport const isOldOpen = (printDetailEntitys) => {\r\n const { isVerticalTouch } = platform || {}\r\n if(isVerticalTouch) return true;\r\n const isOpenPrintValue = localStore && localStore.get('isOpenPrint');\r\n if(isOpenPrintValue !==null){\r\n return isOpenPrintValue === \"true\";\r\n }\r\n const localOrYinMeiOpen = printDetailEntitys && printDetailEntitys.filter((item)=>{\r\n return item.IsEnablePrinter === true\r\n }).length > 0;\r\n const cloudPrintArguments = localStore && localStore.get('cloudPrintArguments');\r\n const { Open:cloudOpen } = cloudPrintArguments || {};\r\n const sunMiLocalPrintArguments = localStore && localStore.get('sunMiLocalPrintArguments');\r\n const { Open:sunMiOpen } = sunMiLocalPrintArguments || {};\r\n return localOrYinMeiOpen || cloudOpen || sunMiOpen;\r\n}\r\n\r\nexport const getCheckedPrintTypeDefaults = () => {\r\n const hasElectron = (env.platform === env.constant.platform.electron);\r\n const { isVerticalTouch } = platform || {}\r\n // 打印机选择的类型\r\n let checkedPrintType = localStore && localStore.get('checkedPrintType');\r\n const cloudPrintArguments = localStore && localStore.get('cloudPrintArguments');\r\n const sunMiLocalPrintArguments = localStore && localStore.get('sunMiLocalPrintArguments');\r\n if(checkedPrintType === null) {\r\n if(hasElectron || !!isVerticalTouch){\r\n checkedPrintType = '1'\r\n }else {\r\n const { Open } = cloudPrintArguments || {};\r\n const { Open:sunMiOpen } = sunMiLocalPrintArguments || {};\r\n if(Open){\r\n checkedPrintType = '3'\r\n }else if(sunMiOpen){\r\n checkedPrintType = '4'\r\n }else{\r\n checkedPrintType = '3'\r\n // checkedPrintType = '2' 后续改回这个 放开映美打印机后\r\n }\r\n }\r\n }\r\n return checkedPrintType\r\n}"]}