sun-biz 0.0.3-beta.10 → 0.0.3-beta.12

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.
@@ -655,8 +655,8 @@ function useAppConfigData(name) {
655
655
  * @param params
656
656
  * @returns
657
657
  */ const queryUserList = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/user/queryUserListByExample', params);
658
- function useDialog() {
659
- const visible = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
658
+ function useDialog(initialVisible = false) {
659
+ const visible = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(initialVisible);
660
660
  const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
661
661
  const openDialog = ()=>visible.value = true;
662
662
  const closeDialog = ()=>visible.value = false;
@@ -672,6 +672,7 @@ function useDialog() {
672
672
  };
673
673
  }
674
674
  const _hoisted_1 = {
675
+ key: 0,
675
676
  class: "dialog-footer"
676
677
  };
677
678
  /* ESM default export */ const pro_dialogvue_type_script_setup_true_lang_ts_name_ProDialog = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
@@ -680,6 +681,10 @@ const _hoisted_1 = {
680
681
  confirmFn: {
681
682
  type: Function
682
683
  },
684
+ showConfirmButton: {
685
+ type: Boolean,
686
+ default: true
687
+ },
683
688
  confirmDisabled: {
684
689
  type: Boolean,
685
690
  default: false
@@ -688,23 +693,35 @@ const _hoisted_1 = {
688
693
  type: Boolean,
689
694
  default: false
690
695
  },
691
- includeFooter: {
696
+ closeOnCancel: {
692
697
  type: Boolean,
693
698
  default: true
694
699
  }
695
700
  },
696
701
  emits: [
697
- "success"
702
+ "success",
703
+ "cancel"
698
704
  ],
699
705
  setup (__props, { expose: __expose, emit: __emit }) {
700
706
  const { visible, closeDialog, openDialog } = useDialog();
701
707
  const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
702
708
  const attrs = (0, __WEBPACK_EXTERNAL_MODULE_vue__.useAttrs)();
709
+ const dialogRef = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
703
710
  const emits = __emit;
711
+ // 纯关闭弹窗,不执行其他操作,用于左上角X
712
+ const justCloseDialog = ()=>{
713
+ closeDialog();
714
+ };
715
+ // 处理常规关闭,支持before-close钩子
704
716
  const handleClose = ()=>{
705
717
  if (attrs?.["before-close"]) (attrs?.["before-close"])(closeDialog);
706
718
  else closeDialog();
707
719
  };
720
+ // 处理取消按钮点击
721
+ const handleCancel = ()=>{
722
+ emits("cancel");
723
+ if (__props.closeOnCancel) handleClose();
724
+ };
708
725
  const handleConfirm = async ()=>{
709
726
  if (__props.confirmFn) {
710
727
  loading.value = true;
@@ -715,52 +732,66 @@ const _hoisted_1 = {
715
732
  handleClose();
716
733
  emits("success");
717
734
  }
718
- } catch (error) {
735
+ } catch {
719
736
  loading.value = false;
720
737
  }
721
738
  }
722
739
  };
723
740
  __expose({
741
+ ref: dialogRef,
724
742
  open: openDialog,
725
- close: closeDialog
743
+ close: closeDialog,
744
+ visible
726
745
  });
727
746
  return (_ctx, _cache)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, [
728
747
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE_element_sun__.ElDialog), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
748
+ ref_key: "dialogRef",
749
+ ref: dialogRef
750
+ }, _ctx.$attrs, {
729
751
  modelValue: (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(visible),
730
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>(0, __WEBPACK_EXTERNAL_MODULE_vue__.isRef)(visible) ? visible.value = $event : null)
731
- }, _ctx.$attrs), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createSlots)({
752
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>(0, __WEBPACK_EXTERNAL_MODULE_vue__.isRef)(visible) ? visible.value = $event : null),
753
+ onClose: justCloseDialog
754
+ }), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createSlots)({
755
+ footer: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
756
+ _ctx.$slots.footer ? (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, "footer", {
757
+ key: 1
758
+ }) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", _hoisted_1, [
759
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE_element_sun__.ElButton), {
760
+ onClick: handleCancel
761
+ }, {
762
+ default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[1] || (_cache[1] = [
763
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("取消")
764
+ ])),
765
+ _: 1
766
+ }),
767
+ _ctx.showConfirmButton ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE_element_sun__.ElButton), {
768
+ key: 0,
769
+ loading: loading.value,
770
+ type: "primary",
771
+ disabled: _ctx.confirmDisabled,
772
+ onClick: handleConfirm
773
+ }, {
774
+ default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[2] || (_cache[2] = [
775
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)(" 确认 ")
776
+ ])),
777
+ _: 1
778
+ }, 8, [
779
+ "loading",
780
+ "disabled"
781
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
782
+ ]))
783
+ ]),
732
784
  default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
733
785
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, "default")
734
786
  ]),
735
787
  _: 2
736
788
  }, [
737
- _ctx.includeFooter ? {
738
- name: "footer",
739
- fn: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
740
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", _hoisted_1, [
741
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE_element_sun__.ElButton), {
742
- onClick: handleClose
743
- }, {
744
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[1] || (_cache[1] = [
745
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("取消")
746
- ])),
747
- _: 1
748
- }),
749
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE_element_sun__.ElButton), {
750
- loading: loading.value,
751
- type: "primary",
752
- disabled: _ctx.confirmDisabled,
753
- onClick: handleConfirm
754
- }, {
755
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[2] || (_cache[2] = [
756
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)(" 确认 ")
757
- ])),
758
- _: 1
759
- }, 8, [
760
- "loading",
761
- "disabled"
762
- ])
763
- ])
789
+ _ctx.$slots.header ? {
790
+ name: "header",
791
+ fn: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(({ titleClass })=>[
792
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, "header", {
793
+ titleClass: titleClass
794
+ })
764
795
  ]),
765
796
  key: "0"
766
797
  } : void 0
@@ -3060,7 +3091,10 @@ const BannerInfo_exports_ = BannerInfovue_type_script_setup_true_lang_ts_name_ba
3060
3091
  /* ESM default export */ const printTemplatevue_type_script_lang_ts_setup_true_name_printDialog = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
3061
3092
  __name: 'printTemplate',
3062
3093
  props: {
3063
- printTemplateList: {}
3094
+ printTemplateList: {},
3095
+ onTemplateConfirm: {
3096
+ type: Function
3097
+ }
3064
3098
  },
3065
3099
  setup (__props, { expose: __expose }) {
3066
3100
  const props = __props;
@@ -3093,7 +3127,7 @@ const BannerInfo_exports_ = BannerInfovue_type_script_setup_true_lang_ts_name_ba
3093
3127
  const handleConfirmSubmit = async ()=>{
3094
3128
  await formRef.value?.validate();
3095
3129
  const printTemplate = printTemplateList.value.find((item)=>item.receiptTemplateRuleId === templateModel.value.templateId);
3096
- await templateConfirm(printTemplate);
3130
+ await props.onTemplateConfirm(printTemplate);
3097
3131
  return [];
3098
3132
  };
3099
3133
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.onMounted)(()=>{
@@ -3530,328 +3564,321 @@ var constant_DATA_SOURCE_CONTENT_TYPE_CODE = /*#__PURE__*/ function(DATA_SOURCE_
3530
3564
  // 将容器添加到 body
3531
3565
  document.body.appendChild(container);
3532
3566
  }
3533
- let defaultContext = {
3534
- printParams: void 0,
3535
- receiptInfo: void 0,
3536
- splitResult: [
3537
- {
3538
- receiptSort: 1,
3539
- receiptSplitResultId: null,
3540
- receiptSplitTypeCode: constant_RECEIPT_SPLIT_TYPE_CODE.NO_SPLIT
3567
+ const createPrint = ()=>{
3568
+ /**
3569
+ * 打印主步骤
3570
+ */ // 1.获取单据信息
3571
+ // 2.设计时标志===0弹窗询问
3572
+ // 3.打印模板选择
3573
+ // 4.分单
3574
+ // 5.组织分单结果
3575
+ // 6.票据业务
3576
+ // 7.循环分单结果,进行单据打印
3577
+ /** 初始数据 */ /** 此处是为了防止下次进入的时候存在缓存数据 */ const initData = ()=>({
3578
+ printParams: void 0,
3579
+ receiptInfo: void 0,
3580
+ splitResult: [
3581
+ {
3582
+ receiptSort: 1,
3583
+ receiptSplitResultId: null,
3584
+ receiptSplitTypeCode: constant_RECEIPT_SPLIT_TYPE_CODE.NO_SPLIT
3585
+ }
3586
+ ],
3587
+ printTemplate: void 0,
3588
+ printTemplateList: [],
3589
+ receiptAllotInfo: [],
3590
+ dataSourceContentItem: void 0,
3591
+ dataSourceContentTypeCodeItem: void 0
3592
+ });
3593
+ let defaultContext = initData();
3594
+ // 打印
3595
+ const printStart = async (params)=>{
3596
+ /** 初始化 */ defaultContext = initData();
3597
+ defaultContext.printParams = params;
3598
+ await fetchReceiptInfo();
3599
+ if (!defaultContext.receiptInfo) return;
3600
+ return await dialogAsk();
3601
+ };
3602
+ /**
3603
+ * 获取单据信息
3604
+ */ const fetchReceiptInfo = async ()=>{
3605
+ const [, res] = await queryReceiptByExample({
3606
+ receiptIds: [
3607
+ defaultContext.printParams?.receiptId
3608
+ ]
3609
+ });
3610
+ if (res?.success) defaultContext = {
3611
+ ...defaultContext,
3612
+ receiptInfo: res.data[0]
3613
+ };
3614
+ };
3615
+ /**
3616
+ * 设计时标志===0弹窗询问
3617
+ */ const dialogAsk = async ()=>{
3618
+ if (defaultContext?.printParams?.designFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES) return nextAction();
3619
+ const { receiptPrintRuleCode, receiptPrintCategCode, receiptNameDisplay, menuXReceiptList } = defaultContext.receiptInfo || {};
3620
+ // 通用
3621
+ if (receiptPrintRuleCode === constant_RECEIPT_PRINT_RULE_CODE.GENERAL) return await messageBoxAskJudge(receiptPrintCategCode, receiptNameDisplay);
3622
+ // 按菜单
3623
+ if (receiptPrintRuleCode === constant_RECEIPT_PRINT_RULE_CODE.MENU) {
3624
+ //获取菜单打印配置信息
3625
+ const menuReceiptInfo = menuXReceiptList?.find((item)=>item.sysXMenuId === defaultContext.printParams?.sysMenuId);
3626
+ const code = menuReceiptInfo?.receiptPrintCategCode ? menuReceiptInfo?.receiptPrintCategCode : receiptPrintCategCode;
3627
+ return await messageBoxAskJudge(code, receiptNameDisplay);
3628
+ // ElMessage.error(`${receiptNameDisplay} 未设置菜单打印类别.`);
3541
3629
  }
3542
- ],
3543
- printTemplate: void 0,
3544
- printTemplateList: [],
3545
- receiptAllotInfo: [],
3546
- dataSourceContentItem: void 0,
3547
- dataSourceContentTypeCodeItem: void 0
3548
- };
3549
- /**
3550
- * 打印主步骤
3551
- */ // 1.获取单据信息
3552
- // 2.设计时标志===0弹窗询问
3553
- // 3.打印模板选择
3554
- // 4.分单
3555
- // 5.组织分单结果
3556
- // 6.票据业务
3557
- // 7.循环分单结果,进行单据打印
3558
- /** 初始数据 */ /** 此处是为了防止下次进入的时候存在缓存数据 */ const print_initData = async ()=>{
3559
- defaultContext = {
3560
- printParams: void 0,
3561
- receiptInfo: void 0,
3562
- splitResult: [
3563
- {
3564
- receiptSort: 1,
3565
- receiptSplitResultId: null,
3566
- receiptSplitTypeCode: constant_RECEIPT_SPLIT_TYPE_CODE.NO_SPLIT
3567
- }
3568
- ],
3569
- printTemplate: void 0,
3570
- printTemplateList: [],
3571
- receiptAllotInfo: [],
3572
- dataSourceContentItem: void 0,
3573
- dataSourceContentTypeCodeItem: void 0
3574
3630
  };
3575
- };
3576
- // 打印
3577
- const printStart = async (params)=>{
3578
- /** 初始化 */ await print_initData();
3579
- defaultContext.printParams = params;
3580
- await fetchReceiptInfo();
3581
- if (!defaultContext.receiptInfo) return;
3582
- await dialogAsk();
3583
- };
3584
- /**
3585
- * 获取单据信息
3586
- */ const fetchReceiptInfo = async ()=>{
3587
- const [, res] = await queryReceiptByExample({
3588
- receiptIds: [
3589
- defaultContext.printParams?.receiptId
3590
- ]
3591
- });
3592
- if (res?.success) {
3593
- defaultContext.receiptInfo = res.data[0];
3594
- return true;
3595
- }
3596
- return false;
3597
- };
3598
- /**
3599
- * 设计时标志===0弹窗询问
3600
- */ const dialogAsk = async ()=>{
3601
- if (defaultContext?.printParams?.designFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES) {
3602
- nextAction();
3603
- return;
3604
- }
3605
- const { receiptPrintRuleCode, receiptPrintCategCode, receiptNameDisplay, menuXReceiptList } = defaultContext.receiptInfo || {};
3606
- // 通用
3607
- if (receiptPrintRuleCode === constant_RECEIPT_PRINT_RULE_CODE.GENERAL) await messageBoxAskJudge(receiptPrintCategCode, receiptNameDisplay);
3608
- // 按菜单
3609
- if (receiptPrintRuleCode === constant_RECEIPT_PRINT_RULE_CODE.MENU) {
3610
- //获取菜单打印配置信息
3611
- const menuReceiptInfo = menuXReceiptList?.find((item)=>item.sysXMenuId === defaultContext.printParams?.sysMenuId);
3612
- const code = menuReceiptInfo?.receiptPrintCategCode ? menuReceiptInfo?.receiptPrintCategCode : receiptPrintCategCode;
3613
- await messageBoxAskJudge(code, receiptNameDisplay);
3614
- // ElMessage.error(`${receiptNameDisplay} 未设置菜单打印类别.`);
3615
- }
3616
- };
3617
- /**
3618
- * 弹窗询问判断方法
3619
- */ const messageBoxAskJudge = async (receiptPrintCategCode, receiptNameDisplay)=>{
3620
- if (receiptPrintCategCode === constant_RECEIPT_PRINT_CATEG_CODE.ASK_PRINT || receiptPrintCategCode === constant_RECEIPT_PRINT_CATEG_CODE.ASK_ISSUE_NO_PRINT) await messageBoxAsk(receiptPrintCategCode, receiptNameDisplay);
3621
- else await nextAction();
3622
- };
3623
- /**
3624
- * ElMessageBox询问
3625
- */ const messageBoxAsk = async (code, receiptNameDisplay)=>{
3626
- __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessageBox.confirm(`是否${code === constant_RECEIPT_PRINT_CATEG_CODE.ASK_PRINT ? "打印" : "开具"} ${receiptNameDisplay}`, "提示", {
3627
- confirmButtonText: "确定",
3628
- cancelButtonText: "取消",
3629
- type: "warning"
3630
- }).then(async ()=>{
3631
- await nextAction();
3632
- });
3633
- };
3634
- /**
3635
- * 34567
3636
- */ const nextAction = async ()=>{
3637
- // 3.打印模板选择
3638
- await printTemplateFn();
3639
- if (!defaultContext?.printTemplate) return;
3640
- };
3641
- /**
3642
- * 打印模板选择
3643
- */ const printTemplateFn = async ()=>{
3644
- const { chooseReceiptTemplateRuleList, receiptNameDisplay } = defaultContext?.receiptInfo || {};
3645
- // 打印模板list
3646
- defaultContext.printTemplateList = chooseReceiptTemplateRuleList?.filter((item)=>item.enabledFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES) ?? [];
3647
- if (defaultContext?.printTemplateList.length > 1) createPrintTemplate({
3648
- printTemplateList: defaultContext?.printTemplateList
3649
- });
3650
- else if (defaultContext?.printTemplateList.length === 1) {
3651
- defaultContext.printTemplate = defaultContext?.printTemplateList[0];
3631
+ /**
3632
+ * 弹窗询问判断方法
3633
+ */ const messageBoxAskJudge = async (receiptPrintCategCode, receiptNameDisplay)=>{
3634
+ if (receiptPrintCategCode === constant_RECEIPT_PRINT_CATEG_CODE.ASK_PRINT || receiptPrintCategCode === constant_RECEIPT_PRINT_CATEG_CODE.ASK_ISSUE_NO_PRINT) return await messageBoxAsk(receiptPrintCategCode, receiptNameDisplay);
3635
+ return await nextAction();
3636
+ };
3637
+ /**
3638
+ * ElMessageBox询问
3639
+ */ const messageBoxAsk = async (code, receiptNameDisplay)=>{
3640
+ __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessageBox.confirm(`是否${code === constant_RECEIPT_PRINT_CATEG_CODE.ASK_PRINT ? "打印" : "开具"} ${receiptNameDisplay}`, "提示", {
3641
+ confirmButtonText: "确定",
3642
+ cancelButtonText: "取消",
3643
+ type: "warning"
3644
+ }).then(async ()=>await nextAction());
3645
+ };
3646
+ /**
3647
+ * 34567
3648
+ */ const nextAction = async ()=>{
3649
+ // 3.打印模板选择
3650
+ const data = await printTemplateFn();
3651
+ if (!defaultContext?.printTemplate) return;
3652
+ return data;
3653
+ };
3654
+ /**
3655
+ * 打印模板选择
3656
+ */ const printTemplateFn = async ()=>{
3657
+ const { chooseReceiptTemplateRuleList, receiptNameDisplay } = defaultContext?.receiptInfo || {};
3658
+ // 打印模板list
3659
+ defaultContext.printTemplateList = chooseReceiptTemplateRuleList?.filter((item)=>item.enabledFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES) ?? [];
3660
+ if (defaultContext?.printTemplateList.length > 1) createPrintTemplate({
3661
+ printTemplateList: defaultContext?.printTemplateList,
3662
+ onTemplateConfirm: templateConfirm
3663
+ });
3664
+ else if (defaultContext?.printTemplateList.length === 1) {
3665
+ defaultContext.printTemplate = defaultContext?.printTemplateList[0];
3666
+ await splitReceiptFn();
3667
+ return await printLoop();
3668
+ } else {
3669
+ __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error(`${receiptNameDisplay} 没有有效的模板`);
3670
+ throw new Error(`${receiptNameDisplay} 没有有效的模板`);
3671
+ }
3672
+ };
3673
+ /**
3674
+ * 模板选择
3675
+ */ const templateConfirm = async (template)=>{
3676
+ defaultContext.printTemplate = template;
3652
3677
  await splitReceiptFn();
3653
- await printLoop();
3654
- } else {
3655
- __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error(`${receiptNameDisplay} 没有有效的模板`);
3656
- throw new Error(`${receiptNameDisplay} 没有有效的模板`);
3657
- }
3658
- };
3659
- /**
3660
- * 模板选择
3661
- */ const templateConfirm = async (template)=>{
3662
- defaultContext.printTemplate = template;
3663
- await splitReceiptFn();
3664
- await printLoop();
3665
- };
3666
- /**
3667
- * 分单
3668
- */ const splitReceiptFn = async ()=>{
3669
- if (defaultContext.printParams?.designFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO) {
3670
- //5
3671
- if (!defaultContext?.printParams?.dataSourceContent && (defaultContext?.receiptInfo?.invoiceFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO || defaultContext?.receiptInfo?.invoiceFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES && defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.ISSUE)) await receiptSplitResultFn();
3672
- //6
3673
- if (defaultContext?.printParams?.invoiceInfo?.invoiceAllotId && defaultContext?.receiptInfo?.invoiceFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES && defaultContext?.receiptInfo?.receiptPrintCategCode !== constant_RECEIPT_PRINT_CATEG_CODE.NO_PRINT) {
3678
+ return await printLoop();
3679
+ };
3680
+ /**
3681
+ * 分单
3682
+ */ const splitReceiptFn = async ()=>{
3683
+ if (defaultContext.printParams?.designFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO) {
3684
+ //5
3685
+ if (!defaultContext?.printParams?.dataSourceContent && (defaultContext?.receiptInfo?.invoiceFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO || defaultContext?.receiptInfo?.invoiceFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES && defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.ISSUE)) await receiptSplitResultFn();
3686
+ //6
3687
+ if (defaultContext?.printParams?.invoiceInfo?.invoiceAllotId && defaultContext?.receiptInfo?.invoiceFlag === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES && defaultContext?.receiptInfo?.receiptPrintCategCode !== constant_RECEIPT_PRINT_CATEG_CODE.NO_PRINT) {
3688
+ const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3689
+ interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3690
+ menuId: defaultContext?.printParams?.sysMenuId,
3691
+ tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV001,
3692
+ params: {
3693
+ receiptId: defaultContext?.printParams?.receiptId,
3694
+ invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId
3695
+ }
3696
+ });
3697
+ if (res?.success) {
3698
+ defaultContext.receiptAllotInfo = res?.data?.bizOutputParam ?? [];
3699
+ await invoiceSplitResultFn();
3700
+ }
3701
+ }
3702
+ }
3703
+ };
3704
+ /**
3705
+ * 单据分单接口
3706
+ */ const receiptSplitResultFn = async ()=>{
3707
+ const [, res] = await splitReceipt({
3708
+ receiptId: defaultContext?.printParams?.receiptId,
3709
+ bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3710
+ bizIds: defaultContext?.printParams?.bizIds
3711
+ });
3712
+ if (res?.success) defaultContext.splitResult = res.data?.receiptDataSourceList ?? [];
3713
+ };
3714
+ /**
3715
+ * 票据分单
3716
+ */ const invoiceSplitResultFn = async ()=>{
3717
+ // 票据操作类型代码---1开具
3718
+ if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.ISSUE) {
3719
+ const invoiceInfo = (defaultContext?.receiptAllotInfo ?? [])[0];
3720
+ if (invoiceInfo?.invoiceMediaTypeCode === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_MEDIA_TYPE_CODE.ELECTRONIC && (defaultContext?.splitResult?.length ?? 0) < (invoiceInfo?.residueCount ?? 0)) {
3721
+ __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error(`当前票据数量不足,所需票据张数[${defaultContext?.splitResult?.length}],剩余张数[${invoiceInfo?.residueCount}]!`);
3722
+ throw new Error(`当前票据数量不足,所需票据张数[${defaultContext?.splitResult?.length}],剩余张数[${invoiceInfo?.residueCount}]!`);
3723
+ }
3674
3724
  const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3675
3725
  interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3676
3726
  menuId: defaultContext?.printParams?.sysMenuId,
3677
- tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV001,
3727
+ tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV101,
3678
3728
  params: {
3679
- receiptId: defaultContext?.printParams?.receiptId,
3680
- invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId
3729
+ invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3730
+ invoiceUsageCode: defaultContext?.printParams?.invoiceInfo?.invoiceUsageCode,
3731
+ orgIssueFlag: defaultContext?.printParams?.invoiceInfo?.orgIssueFlag,
3732
+ issueOrgName: defaultContext?.printParams?.invoiceInfo?.issueOrgName,
3733
+ socialCreditNo: defaultContext?.printParams?.invoiceInfo?.socialCreditNo,
3734
+ invoiceMemo: defaultContext?.printParams?.invoiceInfo?.invoiceMemo,
3735
+ invoiceList: defaultContext?.splitResult
3681
3736
  }
3682
3737
  });
3683
- if (res?.success) {
3684
- defaultContext.receiptAllotInfo = res?.data?.bizOutputParam ?? [];
3685
- await invoiceSplitResultFn();
3686
- }
3738
+ if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3687
3739
  }
3688
- }
3689
- };
3690
- /**
3691
- * 单据分单接口
3692
- */ const receiptSplitResultFn = async ()=>{
3693
- const [, res] = await splitReceipt({
3694
- receiptId: defaultContext?.printParams?.receiptId,
3695
- bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3696
- bizIds: defaultContext?.printParams?.bizIds
3697
- });
3698
- if (res?.success) defaultContext.splitResult = res.data?.receiptDataSourceList ?? [];
3699
- };
3700
- /**
3701
- * 票据分单
3702
- */ const invoiceSplitResultFn = async ()=>{
3703
- // 票据操作类型代码---1开具
3704
- if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.ISSUE) {
3705
- const invoiceInfo = (defaultContext?.receiptAllotInfo ?? [])[0];
3706
- if (invoiceInfo?.invoiceMediaTypeCode === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_MEDIA_TYPE_CODE.ELECTRONIC && (defaultContext?.splitResult?.length ?? 0) < (invoiceInfo?.residueCount ?? 0)) {
3707
- __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error(`当前票据数量不足,所需票据张数[${defaultContext?.splitResult?.length}],剩余张数[${invoiceInfo?.residueCount}]!`);
3708
- throw new Error(`当前票据数量不足,所需票据张数[${defaultContext?.splitResult?.length}],剩余张数[${invoiceInfo?.residueCount}]!`);
3740
+ // 票据操作类型代码---6重开
3741
+ if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.REOPEN) {
3742
+ const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3743
+ interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3744
+ menuId: defaultContext?.printParams?.sysMenuId,
3745
+ tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV104,
3746
+ params: {
3747
+ invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3748
+ invoiceIds: defaultContext?.printParams?.invoiceInfo?.invoiceIds
3749
+ }
3750
+ });
3751
+ if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3709
3752
  }
3710
- const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3711
- interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3712
- menuId: defaultContext?.printParams?.sysMenuId,
3713
- tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV101,
3714
- params: {
3715
- invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3716
- invoiceUsageCode: defaultContext?.printParams?.invoiceInfo?.invoiceUsageCode,
3717
- orgIssueFlag: defaultContext?.printParams?.invoiceInfo?.orgIssueFlag,
3718
- issueOrgName: defaultContext?.printParams?.invoiceInfo?.issueOrgName,
3719
- socialCreditNo: defaultContext?.printParams?.invoiceInfo?.socialCreditNo,
3720
- invoiceMemo: defaultContext?.printParams?.invoiceInfo?.invoiceMemo,
3721
- invoiceList: defaultContext?.splitResult
3722
- }
3723
- });
3724
- if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3725
- }
3726
- // 票据操作类型代码---6重开
3727
- if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.REOPEN) {
3728
- const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3729
- interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3730
- menuId: defaultContext?.printParams?.sysMenuId,
3731
- tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV104,
3732
- params: {
3733
- invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3734
- invoiceIds: defaultContext?.printParams?.invoiceInfo?.invoiceIds
3735
- }
3736
- });
3737
- if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3738
- }
3739
- // 票据操作类型代码---5换开
3740
- if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.CHANGE) {
3741
- const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3742
- interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3743
- menuId: defaultContext?.printParams?.sysMenuId,
3744
- tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV103,
3745
- params: {
3746
- invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3747
- invoiceIds: defaultContext?.printParams?.invoiceInfo?.invoiceIds
3748
- }
3749
- });
3750
- if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3751
- }
3752
- // 票据操作类型代码---3红冲
3753
- if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.CHANGE) {
3754
- const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3755
- interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3756
- menuId: defaultContext?.printParams?.sysMenuId,
3757
- tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV102,
3758
- params: {
3759
- invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3760
- invoiceUsageCode: defaultContext?.printParams?.invoiceInfo?.invoiceUsageCode,
3761
- bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3762
- oldBizId: defaultContext?.printParams?.invoiceInfo?.oldBizId,
3763
- redBizId: defaultContext?.printParams?.bizIds,
3764
- onlyRedFlag: defaultContext?.printParams?.invoiceInfo?.onlyRedFlag
3765
- }
3766
- });
3767
- if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3768
- }
3769
- };
3770
- /** 循环打印 */ const printLoop = async ()=>{
3771
- defaultContext?.splitResult?.forEach(async (item)=>{
3772
- await printReceiptFn(item);
3773
- });
3774
- };
3775
- /**
3776
- * 7.单据打印
3777
- */ const printReceiptFn = async (item)=>{
3778
- if (defaultContext?.receiptInfo?.printInterfaceId) {
3779
- __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error("暂不支持打印接口");
3780
- throw new Error("暂不支持打印接口");
3781
- }
3782
- if (defaultContext?.printParams?.dataSourceContent) {
3783
- defaultContext.dataSourceContentItem = defaultContext?.printParams?.dataSourceContent;
3784
- defaultContext.dataSourceContentTypeCodeItem = defaultContext?.printParams?.dataSourceContentTypeCode;
3785
- }
3786
- if (!defaultContext?.printParams?.dataSourceContent) {
3787
- if (defaultContext?.printParams?.insurInterfaceId) {
3788
- __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error("暂不支持医保单据内容获取!");
3789
- throw new Error("暂不支持医保单据内容获取!");
3753
+ // 票据操作类型代码---5换开
3754
+ if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.CHANGE) {
3755
+ const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3756
+ interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3757
+ menuId: defaultContext?.printParams?.sysMenuId,
3758
+ tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV103,
3759
+ params: {
3760
+ invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3761
+ invoiceIds: defaultContext?.printParams?.invoiceInfo?.invoiceIds
3762
+ }
3763
+ });
3764
+ if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3790
3765
  }
3791
- if ([
3792
- constant_ELECTRONIC_INVOICE_CODE.OUTPATIENT_REGISTRATION,
3793
- constant_ELECTRONIC_INVOICE_CODE.OUTPATIENT_CHARGE,
3794
- constant_ELECTRONIC_INVOICE_CODE.HOSPITALIZATION_SETTLEMENT,
3795
- constant_ELECTRONIC_INVOICE_CODE.PREPAYMENT
3796
- ].includes(defaultContext?.receiptInfo?.receiptId)) {
3797
- const [, res] = await queryInvoiceBizNos({
3798
- invoiceUsageCode: defaultContext?.printParams?.invoiceInfo?.invoiceUsageCode,
3799
- bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3800
- bizIds: defaultContext?.printParams?.bizIds,
3801
- onlyLastFlag: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO,
3802
- receiptSplitResultId: item.receiptSplitResultId
3766
+ // 票据操作类型代码---3红冲
3767
+ if (defaultContext?.printParams?.invoiceInfo?.invOperateTypeCode === constant_INV_OPERATE_TYPE_CODE.CHANGE) {
3768
+ const [, res] = await (0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.interfaceInvoke)({
3769
+ interfaceId: defaultContext?.printParams?.invoiceInfo?.invoiceInterfaceId ?? defaultContext?.receiptInfo?.invoiceInterfaceId,
3770
+ menuId: defaultContext?.printParams?.sysMenuId,
3771
+ tradeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.INVOICE_CODE.INV102,
3772
+ params: {
3773
+ invoiceAllotId: defaultContext?.printParams?.invoiceInfo?.invoiceAllotId,
3774
+ invoiceUsageCode: defaultContext?.printParams?.invoiceInfo?.invoiceUsageCode,
3775
+ bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3776
+ oldBizId: defaultContext?.printParams?.invoiceInfo?.oldBizId,
3777
+ redBizId: defaultContext?.printParams?.bizIds,
3778
+ onlyRedFlag: defaultContext?.printParams?.invoiceInfo?.onlyRedFlag
3779
+ }
3803
3780
  });
3804
- if (res?.success) {
3805
- defaultContext.dataSourceContentItem = ((res.data?.bizIssueList ?? [])[0].invoiceList ?? [])[0].eInvoiceH5Url;
3806
- defaultContext.dataSourceContentTypeCodeItem = constant_DATA_SOURCE_CONTENT_TYPE_CODE.H5;
3781
+ if (res?.success) defaultContext.splitResult = res.data?.invoiceList ?? [];
3782
+ }
3783
+ };
3784
+ /** 循环打印 */ const printLoop = async ()=>{
3785
+ // 修改这里:使用 Promise.all 等待所有异步操作完成
3786
+ const results = await Promise.all((defaultContext?.splitResult || []).map(async (item)=>await printReceiptFn(item)));
3787
+ // 检查结果数组中是否所有项都是 undefined
3788
+ const allUndefined = results.every((item)=>void 0 === item);
3789
+ // 如果所有项都是 undefined,返回空数组,否则返回原结果
3790
+ return allUndefined ? [] : results;
3791
+ };
3792
+ /**
3793
+ * 7.单据打印
3794
+ */ const printReceiptFn = async (item)=>{
3795
+ if (defaultContext?.receiptInfo?.printInterfaceId) {
3796
+ __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error("暂不支持打印接口");
3797
+ throw new Error("暂不支持打印接口");
3798
+ }
3799
+ if (defaultContext?.printParams?.dataSourceContent) {
3800
+ defaultContext.dataSourceContentItem = defaultContext?.printParams?.dataSourceContent;
3801
+ defaultContext.dataSourceContentTypeCodeItem = defaultContext?.printParams?.dataSourceContentTypeCode;
3802
+ }
3803
+ if (!defaultContext?.printParams?.dataSourceContent) {
3804
+ if (defaultContext?.printParams?.insurInterfaceId) {
3805
+ __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error("暂不支持医保单据内容获取!");
3806
+ throw new Error("暂不支持医保单据内容获取!");
3807
3807
  }
3808
- } else {
3809
- const [, res] = await queryReceiptDataSource({
3810
- receiptId: defaultContext?.printParams?.receiptId,
3811
- designFlag: defaultContext?.printParams?.designFlag,
3812
- bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3813
- bizIds: defaultContext?.printParams?.bizIds,
3814
- receiptSplitResultId: item.receiptSplitResultId
3815
- });
3816
- if (res?.success) {
3817
- defaultContext.dataSourceContentItem = res.data?.dataSourceContent;
3818
- defaultContext.dataSourceContentTypeCodeItem = constant_DATA_SOURCE_CONTENT_TYPE_CODE.JSON;
3808
+ if ([
3809
+ constant_ELECTRONIC_INVOICE_CODE.OUTPATIENT_REGISTRATION,
3810
+ constant_ELECTRONIC_INVOICE_CODE.OUTPATIENT_CHARGE,
3811
+ constant_ELECTRONIC_INVOICE_CODE.HOSPITALIZATION_SETTLEMENT,
3812
+ constant_ELECTRONIC_INVOICE_CODE.PREPAYMENT
3813
+ ].includes(defaultContext?.receiptInfo?.receiptId)) {
3814
+ const [, res] = await queryInvoiceBizNos({
3815
+ invoiceUsageCode: defaultContext?.printParams?.invoiceInfo?.invoiceUsageCode,
3816
+ bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3817
+ bizIds: defaultContext?.printParams?.bizIds,
3818
+ onlyLastFlag: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO,
3819
+ receiptSplitResultId: item.receiptSplitResultId
3820
+ });
3821
+ if (res?.success) {
3822
+ defaultContext.dataSourceContentItem = ((res.data?.bizIssueList ?? [])[0].invoiceList ?? [])[0].eInvoiceH5Url;
3823
+ defaultContext.dataSourceContentTypeCodeItem = constant_DATA_SOURCE_CONTENT_TYPE_CODE.H5;
3824
+ }
3825
+ } else {
3826
+ const [, res] = await queryReceiptDataSource({
3827
+ receiptId: defaultContext?.printParams?.receiptId,
3828
+ designFlag: defaultContext?.printParams?.designFlag,
3829
+ bizIdTypeCode: defaultContext?.printParams?.bizIdTypeCode,
3830
+ bizIds: defaultContext?.printParams?.bizIds,
3831
+ receiptSplitResultId: item.receiptSplitResultId
3832
+ });
3833
+ if (res?.success) {
3834
+ defaultContext.dataSourceContentItem = res.data?.dataSourceContent;
3835
+ defaultContext.dataSourceContentTypeCodeItem = constant_DATA_SOURCE_CONTENT_TYPE_CODE.JSON;
3836
+ }
3819
3837
  }
3820
3838
  }
3821
- }
3822
- /** h5 */ if (defaultContext?.dataSourceContentTypeCodeItem === constant_DATA_SOURCE_CONTENT_TYPE_CODE.H5) location.href = defaultContext?.dataSourceContentItem;
3823
- /** base64 */ if (defaultContext?.dataSourceContentTypeCodeItem === constant_DATA_SOURCE_CONTENT_TYPE_CODE.BASE64) {
3824
- __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error("暂不支持该方式打印");
3825
- throw new Error("暂不支持该方式打印");
3826
- }
3827
- if (defaultContext?.dataSourceContentTypeCodeItem === constant_DATA_SOURCE_CONTENT_TYPE_CODE.JSON) {
3828
- const params = {
3829
- formOperationType: defaultContext?.printParams?.formOperationType,
3830
- printType: defaultContext?.printParams?.printType,
3831
- receiptId: defaultContext?.printParams?.receiptId,
3832
- receiptTemplateRuleId: defaultContext?.printTemplate?.receiptTemplateRuleId,
3833
- receiptTemplateName: defaultContext?.printTemplate?.receiptTemplateName,
3834
- dataSourceContentTypeCode: defaultContext?.dataSourceContentTypeCodeItem,
3835
- dataSourceContent: defaultContext?.dataSourceContentItem,
3836
- printQty: defaultContext?.receiptInfo?.printQty
3837
- };
3838
- /** 判断是否客户端打印 */ const { isLocalPrint } = use_app_config([
3839
- use_app_config_MAIN_APP_CONFIG.IS_LOCAL_PRINT
3840
- ]);
3841
- if (isLocalPrint) {
3842
- const [, res] = await designPreviewPrintReceipt(params);
3843
- if (res?.success) return res.data ?? [];
3844
- } else {
3845
- /** 调用接口 */ const [, res] = await designPreviewPrintReceiptWeb(params);
3846
- if (res?.success) {
3847
- if (defaultContext?.printParams?.formOperationType === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FORM_OPERATION_TYPE.PRINT) useWebPrint(res?.data);
3848
- else useDesignAndPreview(res?.data, defaultContext?.printParams?.formOperationType === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FORM_OPERATION_TYPE.DESIGN ? "设计" : "预览");
3839
+ /** h5 */ if (defaultContext?.dataSourceContentTypeCodeItem === constant_DATA_SOURCE_CONTENT_TYPE_CODE.H5) location.href = defaultContext?.dataSourceContentItem;
3840
+ /** base64 */ if (defaultContext?.dataSourceContentTypeCodeItem === constant_DATA_SOURCE_CONTENT_TYPE_CODE.BASE64) {
3841
+ __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error("暂不支持该方式打印");
3842
+ throw new Error("暂不支持该方式打印");
3843
+ }
3844
+ if (defaultContext?.dataSourceContentTypeCodeItem === constant_DATA_SOURCE_CONTENT_TYPE_CODE.JSON) {
3845
+ const params = {
3846
+ formOperationType: defaultContext?.printParams?.formOperationType,
3847
+ printType: defaultContext?.printParams?.printType,
3848
+ receiptId: defaultContext?.printParams?.receiptId,
3849
+ receiptTemplateRuleId: defaultContext?.printTemplate?.receiptTemplateRuleId,
3850
+ receiptTemplateName: defaultContext?.printTemplate?.receiptTemplateName,
3851
+ dataSourceContentTypeCode: defaultContext?.dataSourceContentTypeCodeItem,
3852
+ dataSourceContent: defaultContext?.dataSourceContentItem,
3853
+ printQty: defaultContext?.receiptInfo?.printQty
3854
+ };
3855
+ /** 判断是否客户端打印 */ const { isLocalPrint } = use_app_config([
3856
+ use_app_config_MAIN_APP_CONFIG.IS_LOCAL_PRINT
3857
+ ]);
3858
+ if (isLocalPrint) {
3859
+ const [, res] = await designPreviewPrintReceipt(params);
3860
+ if (res?.success) return res.data ?? [];
3861
+ } else {
3862
+ /** 调用接口 */ const [, res] = await designPreviewPrintReceiptWeb(params);
3863
+ if (res?.success) {
3864
+ if (defaultContext?.printParams?.printType === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.PRINT_TYPE.GENERATE_IMAGE) return res.data;
3865
+ if (defaultContext?.printParams?.formOperationType === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FORM_OPERATION_TYPE.PRINT) useWebPrint(res?.data);
3866
+ else useDesignAndPreview(res?.data, defaultContext?.printParams?.formOperationType === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FORM_OPERATION_TYPE.DESIGN ? "设计" : "预览");
3867
+ }
3849
3868
  }
3850
3869
  }
3851
- }
3870
+ };
3871
+ return {
3872
+ printFn: async (params)=>{
3873
+ const data = await printStart(params);
3874
+ return data;
3875
+ },
3876
+ templateConfirm
3877
+ };
3852
3878
  };
3853
3879
  const print = async (params)=>{
3854
- await printStart(params);
3880
+ const { printFn } = createPrint();
3881
+ return await printFn(params);
3855
3882
  };
3856
3883
  /* ESM default export */ const printReceiptBtnvue_type_script_setup_true_lang_ts_name_printReceipt = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
3857
3884
  __name: 'printReceiptBtn',
@@ -3861,20 +3888,24 @@ const print = async (params)=>{
3861
3888
  type: Boolean,
3862
3889
  default: ()=>void 0
3863
3890
  },
3864
- printParams: {}
3891
+ printParams: {},
3892
+ isPrint: {
3893
+ type: Boolean,
3894
+ default: true
3895
+ }
3865
3896
  },
3866
3897
  emits: [
3867
3898
  "success",
3868
3899
  "fail",
3869
3900
  "selectItem"
3870
3901
  ],
3871
- setup (__props, { emit: __emit }) {
3902
+ setup (__props, { expose: __expose, emit: __emit }) {
3872
3903
  const emits = __emit;
3873
3904
  const receiptList = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>__props.receiptList);
3874
3905
  const showReceipt = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>receiptList && __props.receiptList.length > 0);
3875
3906
  /** 选择单据 */ const handleCommand = async (item)=>{
3876
3907
  emits("selectItem", item);
3877
- await handlePrint(item);
3908
+ if (__props.isPrint) await handlePrint(item);
3878
3909
  };
3879
3910
  /** 打印单据 */ const handlePrint = async (item)=>{
3880
3911
  const res = await print({
@@ -3883,6 +3914,9 @@ const print = async (params)=>{
3883
3914
  });
3884
3915
  res ? emits("success", res) : emits("fail");
3885
3916
  };
3917
+ __expose({
3918
+ print: (item)=>handlePrint(item)
3919
+ });
3886
3920
  return (_ctx, _cache)=>{
3887
3921
  const _component_el_button = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-button");
3888
3922
  const _component_el_dropdown_item = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-dropdown-item");
@@ -3982,6 +4016,7 @@ const Title_exports_ = Titlevue_type_script_setup_true_lang_ts_name_sunTitle;
3982
4016
  props: {
3983
4017
  dataSearchBizIdTypeCode: {},
3984
4018
  codeSystemNo: {},
4019
+ dataDictionaryId: {},
3985
4020
  disabled: {
3986
4021
  type: Boolean
3987
4022
  },
@@ -4019,12 +4054,15 @@ const Title_exports_ = Titlevue_type_script_setup_true_lang_ts_name_sunTitle;
4019
4054
  let inputChange = debounce(fetchData, 500);
4020
4055
  async function fetchData(value) {
4021
4056
  loading.value = true;
4057
+ let params = {};
4058
+ if (props.codeSystemNo) params.codeSystemNo = props.codeSystemNo;
4059
+ if (props.dataDictionaryId) params.dataDictionaryId = props.dataDictionaryId;
4022
4060
  let [, result] = await queryDictDataListByExample({
4023
4061
  dataSearchBizIdTypeCode: props.dataSearchBizIdTypeCode || '',
4024
- codeSystemNo: props.codeSystemNo,
4025
4062
  keyWord: value,
4026
4063
  sysMenuId: menuId || '',
4027
- hospitalId: currentOrg?.orgId || ''
4064
+ hospitalId: currentOrg?.orgId || '',
4065
+ ...params
4028
4066
  });
4029
4067
  loading.value = false;
4030
4068
  if (result?.success) {
@@ -4036,9 +4074,9 @@ const Title_exports_ = Titlevue_type_script_setup_true_lang_ts_name_sunTitle;
4036
4074
  }
4037
4075
  }
4038
4076
  /**
4039
- *
4040
- * @param value 下拉框选择
4041
- */ function change(value) {
4077
+ *
4078
+ * @param value 下拉框选择
4079
+ */ function change(value) {
4042
4080
  let name = (tableData.value.find((item)=>item.value === value) || {})['label'];
4043
4081
  emit('change', value, name);
4044
4082
  }
@@ -4082,7 +4120,7 @@ const Title_exports_ = Titlevue_type_script_setup_true_lang_ts_name_sunTitle;
4082
4120
  const dict_select_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(dict_selectvue_type_script_setup_true_lang_ts, [
4083
4121
  [
4084
4122
  '__scopeId',
4085
- "data-v-211a3fa0"
4123
+ "data-v-665ba894"
4086
4124
  ]
4087
4125
  ]);
4088
4126
  /* ESM default export */ const dict_select = dict_select_exports_;
@@ -5887,4 +5925,4 @@ const invoicevue_type_script_setup_true_lang_ts_name_proInvoice_hoisted_4 = {
5887
5925
  const invoice_exports_ = invoicevue_type_script_setup_true_lang_ts_name_proInvoice;
5888
5926
  /* ESM default export */ const invoice = invoice_exports_;
5889
5927
  var __webpack_exports__COMPONENT_CODE = __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.COMPONENT_CODE;
5890
- export { access_info as AccessInfo, BANNER_COMPONENT_CONFIG, BannerInfo, copy_text_with_tooltip as CopyTextWithTooltip, dbgrid_component_setting as DbgridComponentSetting, dict_select as DictSelect, flag_select as FlagSelect, form_design_render as FormDesignRender, FormUnit, hospital_select as HospitalSelect, patient_access as PatientAccess, PatientInfo, printReceiptBtn as PrintReceiptBtn, pro_dialog as ProDialog, pro_form as ProForm, invoice as ProInvoice, pro_table as ProTable, Title, convertToSpellNo, convertToWbNo, print, usePrintReceipt, __webpack_exports__COMPONENT_CODE as COMPONENT_CODE };
5928
+ export { access_info as AccessInfo, BANNER_COMPONENT_CONFIG, BannerInfo, copy_text_with_tooltip as CopyTextWithTooltip, constant_DATA_SOURCE_CONTENT_TYPE_CODE as DATA_SOURCE_CONTENT_TYPE_CODE, dbgrid_component_setting as DbgridComponentSetting, dict_select as DictSelect, flag_select as FlagSelect, form_design_render as FormDesignRender, FormUnit, hospital_select as HospitalSelect, patient_access as PatientAccess, PatientInfo, printReceiptBtn as PrintReceiptBtn, pro_dialog as ProDialog, pro_form as ProForm, invoice as ProInvoice, pro_table as ProTable, Title, convertToSpellNo, convertToWbNo, print, usePrintReceipt, __webpack_exports__COMPONENT_CODE as COMPONENT_CODE };