sun-biz 0.0.2-beta.25 → 0.0.2-beta.27

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.
@@ -8,7 +8,7 @@ import "@sun-toolkit/shared";
8
8
  import * as __WEBPACK_EXTERNAL_MODULE_i18next_vue__ from "i18next-vue";
9
9
  import * as __WEBPACK_EXTERNAL_MODULE_js_pinyin__ from "js-pinyin";
10
10
  var __webpack_modules__ = {
11
- "./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.97.1_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js": function(__unused_webpack_module, exports) {
11
+ "./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.98.0_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js": function(__unused_webpack_module, exports) {
12
12
  // runtime helper for setting properties on components
13
13
  // in a tree-shakable way
14
14
  exports["default"] = (sfc, props)=>{
@@ -70,8 +70,8 @@ function __webpack_require__(moduleId) {
70
70
  };
71
71
  }
72
72
  });
73
- // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.97.1_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js
74
- var exportHelper = __webpack_require__("./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.97.1_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js");
73
+ // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.98.0_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js
74
+ var exportHelper = __webpack_require__("./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.98.0_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js");
75
75
  const __exports__ = /*#__PURE__*/ (0, exportHelper["default"])(Containervue_type_script_setup_true_lang_tsx, [
76
76
  [
77
77
  '__scopeId',
@@ -625,7 +625,9 @@ function useAppConfigData(name) {
625
625
  * [1-10012-1]获取值域列表
626
626
  * @param data
627
627
  * @returns
628
- */ const queryDataSetByCodeSystemCodes = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/codeSystem/queryDataSetByCodeSystemCodes', params);
628
+ */ const queryDataSetByCodeSystemCodes = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/codeSystem/queryDataSetByCodeSystemCodes', params, {
629
+ cancel: false
630
+ });
629
631
  function use_fetch_dataset_useFetchDataset(codeSystemCodes, enabledFlag) {
630
632
  const list = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
631
633
  async function fetchData() {
@@ -1609,10 +1611,9 @@ const pro_tablevue_type_script_lang_ts_setup_true_name_ProTable_hoisted_2 = {
1609
1611
  'expand' == item.type ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, {
1610
1612
  key: 0
1611
1613
  }, [
1612
- item.render ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(item.render), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
1613
- key: 0,
1614
- ref_for: true
1615
- }, scope), null, 16)) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, item.type, (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
1614
+ item.render ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(item.render(scope.row, scope.$index)), {
1615
+ key: 0
1616
+ })) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, item.type, (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
1616
1617
  key: 1,
1617
1618
  ref_for: true
1618
1619
  }, scope))
@@ -1711,12 +1712,17 @@ const pro_table_exports_ = pro_tablevue_type_script_lang_ts_setup_true_name_ProT
1711
1712
  * 1-10115-1 根据条件查询菜单的检索方式列表(业务态)
1712
1713
  * @param params
1713
1714
  * @returns
1714
- */ const queryPatientAccessConfig = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/searchcomponent/queryMenuXSearchTypeByExample', params);
1715
- const queryBizDataList = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.basicRequest)('/bizsearch/queryBizDataListByExample', {
1715
+ */ const queryPatientAccessConfig = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)("/searchcomponent/queryMenuXSearchTypeByExample", params);
1716
+ const queryBizDataList = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.basicRequest)("/bizsearch/queryBizDataListByExample", {
1716
1717
  ...params,
1717
1718
  pageSize: 100,
1718
1719
  pageNum: 1
1719
1720
  });
1721
+ /**
1722
+ * [4-10073-1] 根据业务标识获取Banner数据
1723
+ * @param params
1724
+ * @returns
1725
+ */ const getBannerDataByBizId = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.basicRequest)("/banner/getBannerDataByBizId", params);
1720
1726
  /* eslint-disable @typescript-eslint/no-explicit-any */ // support refreshDeps & ready
1721
1727
  const useAutoRunPlugin_useAutoRunPlugin = (fetchInstance, { manual, ready = true, refreshDeps = [], refreshDepsAction })=>{
1722
1728
  const hasAutoRun = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
@@ -2411,41 +2417,41 @@ const _hoisted_5 = {
2411
2417
  setup (__props) {
2412
2418
  const displayList = [
2413
2419
  {
2414
- label: '门诊号',
2415
- prop: 'omrn'
2420
+ label: "门诊号",
2421
+ prop: "omrn"
2416
2422
  },
2417
2423
  {
2418
- label: '医保费别',
2419
- prop: 'medInsuranceName'
2424
+ label: "医保费别",
2425
+ prop: "medInsuranceName"
2420
2426
  },
2421
2427
  {
2422
- label: '证件类型',
2423
- prop: 'certificateTypeDesc'
2428
+ label: "证件类型",
2429
+ prop: "certificateTypeDesc"
2424
2430
  },
2425
2431
  {
2426
- label: '证件号码',
2427
- prop: 'certificateNo'
2432
+ label: "证件号码",
2433
+ prop: "certificateNo"
2428
2434
  },
2429
2435
  {
2430
- label: '出生日期',
2431
- prop: 'birthDate'
2436
+ label: "出生日期",
2437
+ prop: "birthDate"
2432
2438
  }
2433
2439
  ];
2434
2440
  /**
2435
- *
2436
- * @param birthDay 出生日期
2437
- * @param curDate 当前日期
2438
- * @returns
2439
- */ const birthToAgeDiff = (birthDay, curDate)=>{
2441
+ *
2442
+ * @param birthDay 出生日期
2443
+ * @param curDate 当前日期
2444
+ * @returns
2445
+ */ const birthToAgeDiff = (birthDay, curDate)=>{
2440
2446
  const birth = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(birthDay);
2441
2447
  const now = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(curDate);
2442
- if (birth.valueOf() > now.valueOf()) return '未出生~';
2448
+ if (birth.valueOf() > now.valueOf()) return "未出生~";
2443
2449
  let years = now.year() - birth.year();
2444
2450
  let months = now.month() - birth.month();
2445
2451
  let days = now.date() - birth.date();
2446
2452
  if (days < 0) {
2447
2453
  months -= 1;
2448
- days += (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(now).subtract(1, 'month').daysInMonth();
2454
+ days += (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(now).subtract(1, "month").daysInMonth();
2449
2455
  }
2450
2456
  if (months < 0) {
2451
2457
  years -= 1;
@@ -2455,7 +2461,7 @@ const _hoisted_5 = {
2455
2461
  };
2456
2462
  const age = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2457
2463
  if (__props.data?.birthDate) return birthToAgeDiff(__props.data.birthDate);
2458
- return '--';
2464
+ return "--";
2459
2465
  });
2460
2466
  return (_ctx, _cache)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("ul", (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2461
2467
  class: "flex items-center bg-table-header py-1",
@@ -2469,8 +2475,8 @@ const _hoisted_5 = {
2469
2475
  icon: "User",
2470
2476
  size: 28
2471
2477
  }),
2472
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", PatientInfovue_type_script_setup_true_lang_ts_hoisted_1, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.patientName || '--'), 1),
2473
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("small", PatientInfovue_type_script_setup_true_lang_ts_hoisted_2, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.genderDesc || '--'), 1),
2478
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", PatientInfovue_type_script_setup_true_lang_ts_hoisted_1, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.patientName || "--"), 1),
2479
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("small", PatientInfovue_type_script_setup_true_lang_ts_hoisted_2, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.genderDesc || "--"), 1),
2474
2480
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("small", PatientInfovue_type_script_setup_true_lang_ts_hoisted_3, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(age.value), 1)
2475
2481
  ]),
2476
2482
  ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(displayList, (item)=>(0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("li", {
@@ -2478,13 +2484,166 @@ const _hoisted_5 = {
2478
2484
  class: "ml-3 text-base"
2479
2485
  }, [
2480
2486
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_4, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.label), 1),
2481
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_5, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.[item.prop] || '--'), 1)
2487
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_5, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.[item.prop] || "--"), 1)
2482
2488
  ])), 64))
2483
2489
  ], 16));
2484
2490
  }
2485
2491
  });
2486
2492
  const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2487
2493
  /* ESM default export */ const PatientInfo = PatientInfo_exports_;
2494
+ const BANNER_COMPONENT_CONFIG = {
2495
+ /** 患者信息banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.PATIENT]: {
2496
+ componentId: "1636915184113131520",
2497
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.PER_PATIENT
2498
+ },
2499
+ /** 挂号信息banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.REGISTRATION]: {
2500
+ componentId: "1636915259593826304",
2501
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.OENC_REGISTRATION
2502
+ },
2503
+ /** 收费信息banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.CHARGE]: {
2504
+ componentId: "1636915313062813696",
2505
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.OFIN_SETTLEMENT
2506
+ },
2507
+ /** 住院就诊banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.HOSPITALIZATION]: {
2508
+ componentId: "1636915397762588672",
2509
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.IENC_ENCOUNTER
2510
+ }
2511
+ };
2512
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_1 = {
2513
+ class: "col-span-1"
2514
+ };
2515
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2 = {
2516
+ class: "flex items-center gap-2 pl-2"
2517
+ };
2518
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3 = {
2519
+ class: "flex flex-1 flex-col gap-3 text-center"
2520
+ };
2521
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4 = {
2522
+ class: "flex items-center justify-center gap-3"
2523
+ };
2524
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5 = {
2525
+ key: 0,
2526
+ class: "flex items-center gap-8 pl-12 pt-2 text-center"
2527
+ };
2528
+ const _hoisted_6 = {
2529
+ class: "text-green-300"
2530
+ };
2531
+ const _hoisted_7 = {
2532
+ key: 0
2533
+ };
2534
+ const _hoisted_8 = {
2535
+ class: "text-slate-600"
2536
+ };
2537
+ const _hoisted_9 = {
2538
+ class: "mx-2 max-w-16 break-all"
2539
+ };
2540
+ /* ESM default export */ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2541
+ __name: 'BannerInfo',
2542
+ props: {
2543
+ code: {},
2544
+ bizId: {}
2545
+ },
2546
+ setup (__props) {
2547
+ const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
2548
+ const bannerInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2549
+ // 确保布局列数为有效数字
2550
+ const parseLayoutColumns = (value)=>{
2551
+ const parsed = parseInt(value, 10);
2552
+ if (isNaN(parsed)) return 6;
2553
+ return parsed;
2554
+ };
2555
+ // 计算实际布局列数
2556
+ const layoutColumns = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>parseLayoutColumns(bannerInfo.value?.layoutTypeCode));
2557
+ /** 如果是住院就诊,返回就诊状态和天数 */ const encounterInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2558
+ if (BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode !== __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.IENC_ENCOUNTER) return null;
2559
+ const bannerItems = bannerInfo.value?.bannerItemList ?? [];
2560
+ return {
2561
+ inEncStatusDesc: bannerItems.find((item)=>"inEncStatusDesc" === item.bindingFieldNo)?.dataValue ?? "--",
2562
+ inpatientDays: bannerItems.find((item)=>"inpatientDays" === item.bindingFieldNo)?.dataValue ?? "--"
2563
+ };
2564
+ });
2565
+ /** 获取banner配置 */ const queryBannerConfig = async ()=>{
2566
+ loading.value = true;
2567
+ console.log(123, BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode, BANNER_COMPONENT_CONFIG[__props.code].componentId);
2568
+ const [, res] = await getBannerDataByBizId({
2569
+ bizId: __props.bizId ?? void 0,
2570
+ bizIdTypeCode: BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode,
2571
+ componentId: BANNER_COMPONENT_CONFIG[__props.code].componentId
2572
+ });
2573
+ loading.value = false;
2574
+ if (res?.success) {
2575
+ res.data.bannerItemList = (res?.data?.bannerItemList ?? [])?.filter((item)=>item.displayFlag);
2576
+ bannerInfo.value = res?.data;
2577
+ }
2578
+ };
2579
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.watch)(()=>__props.bizId, async ()=>{
2580
+ await queryBannerConfig();
2581
+ });
2582
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.onMounted)(async ()=>{
2583
+ await queryBannerConfig();
2584
+ });
2585
+ return (_ctx, _cache)=>{
2586
+ const _component_el_avatar = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-avatar");
2587
+ const _directive_loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDirective)("loading");
2588
+ return (0, __WEBPACK_EXTERNAL_MODULE_vue__.withDirectives)(((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", {
2589
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
2590
+ "grid items-center gap-3 bg-table-header py-1 text-base",
2591
+ {
2592
+ [`grid-cols-${layoutColumns.value + 2}`]: true
2593
+ }
2594
+ ])
2595
+ }, [
2596
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_1, [
2597
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2, [
2598
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_avatar, {
2599
+ size: 50,
2600
+ icon: "User"
2601
+ }),
2602
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3, [
2603
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.personName ?? "--"), 1),
2604
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4, [
2605
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.genderDesc ?? "--"), 1),
2606
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.age ?? "--"), 1)
2607
+ ])
2608
+ ])
2609
+ ]),
2610
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(BANNER_COMPONENT_CONFIG)[_ctx.code].bizIdTypeCode === (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE).IENC_ENCOUNTER ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5, [
2611
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_6, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inEncStatusDesc), 1),
2612
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inpatientDays), 1)
2613
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
2614
+ ]),
2615
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
2616
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
2617
+ "grid gap-3",
2618
+ {
2619
+ [`grid-cols-${layoutColumns.value}`]: true,
2620
+ [`col-span-${layoutColumns.value + 1}`]: true
2621
+ }
2622
+ ])
2623
+ }, [
2624
+ ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(true), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(bannerInfo.value?.bannerItemList ?? [], (item)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", {
2625
+ key: item.formDesignDetailId,
2626
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)({
2627
+ [`col-span-${Math.floor(item.displayWidthRatio * Number(layoutColumns.value))}`]: true
2628
+ })
2629
+ }, [
2630
+ item.displayFlag ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", _hoisted_7, [
2631
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_8, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.labelNameDisplay) + ":", 1),
2632
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_9, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.dataValue || "--"), 1)
2633
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
2634
+ ], 2))), 128))
2635
+ ], 2)
2636
+ ], 2)), [
2637
+ [
2638
+ _directive_loading,
2639
+ loading.value
2640
+ ]
2641
+ ]);
2642
+ };
2643
+ }
2644
+ });
2645
+ const BannerInfo_exports_ = BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent;
2646
+ /* ESM default export */ const BannerInfo = BannerInfo_exports_;
2488
2647
  /* ESM default export */ const printTemplatevue_type_script_lang_ts_setup_true_name_printDialog = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2489
2648
  __name: 'printTemplate',
2490
2649
  props: {
@@ -2633,6 +2792,8 @@ const createPrintTemplate = (options)=>{
2633
2792
  const pluginMainRequest = async (methodName, params)=>{
2634
2793
  try {
2635
2794
  const paramsJson = JSON.stringify(params);
2795
+ console.log("API方法", methodName);
2796
+ console.log("参数", paramsJson);
2636
2797
  // 检查方法是否存在
2637
2798
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2638
2799
  // @ts-ignore
@@ -2828,7 +2989,7 @@ var constant_DATA_SOURCE_CONTENT_TYPE_CODE = /*#__PURE__*/ function(DATA_SOURCE_
2828
2989
  */ DATA_SOURCE_CONTENT_TYPE_CODE["BASE64"] = "BASE64";
2829
2990
  return DATA_SOURCE_CONTENT_TYPE_CODE;
2830
2991
  }({});
2831
- const defaultContext = {
2992
+ let defaultContext = {
2832
2993
  printParams: void 0,
2833
2994
  receiptInfo: void 0,
2834
2995
  splitResult: [
@@ -2853,8 +3014,27 @@ const defaultContext = {
2853
3014
  // 5.组织分单结果
2854
3015
  // 6.票据业务
2855
3016
  // 7.循环分单结果,进行单据打印
3017
+ /** 初始数据 */ /** 此处是为了防止下次进入的时候存在缓存数据 */ const print_initData = async ()=>{
3018
+ defaultContext = {
3019
+ printParams: void 0,
3020
+ receiptInfo: void 0,
3021
+ splitResult: [
3022
+ {
3023
+ receiptSort: 1,
3024
+ receiptSplitResultId: null,
3025
+ receiptSplitTypeCode: constant_RECEIPT_SPLIT_TYPE_CODE.NO_SPLIT
3026
+ }
3027
+ ],
3028
+ printTemplate: void 0,
3029
+ printTemplateList: [],
3030
+ receiptAllotInfo: [],
3031
+ dataSourceContentItem: void 0,
3032
+ dataSourceContentTypeCodeItem: void 0
3033
+ };
3034
+ };
2856
3035
  // 打印
2857
3036
  const printStart = async (params)=>{
3037
+ /** 初始化 */ await print_initData();
2858
3038
  defaultContext.printParams = params;
2859
3039
  await fetchReceiptInfo();
2860
3040
  if (!defaultContext.receiptInfo) return;
@@ -5040,4 +5220,4 @@ const invoicevue_type_script_setup_true_lang_ts_name_proInvoice_hoisted_3 = {
5040
5220
  const invoice_exports_ = invoicevue_type_script_setup_true_lang_ts_name_proInvoice;
5041
5221
  /* ESM default export */ const invoice = invoice_exports_;
5042
5222
  var __webpack_exports__COMPONENT_CODE = __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.COMPONENT_CODE;
5043
- export { 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 };
5223
+ export { 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 };
@@ -1,4 +1,4 @@
1
- import type { ConfigReqParams, SearchReqParams, AccessConfig, TPatient } from './types.d';
1
+ import type { ConfigReqParams, SearchReqParams, AccessConfig, TPatient, BannerReqParams, BannerReqItem } from "./types.d";
2
2
  /**
3
3
  * 1-10115-1 根据条件查询菜单的检索方式列表(业务态)
4
4
  * @param params
@@ -16,3 +16,9 @@ export declare const queryBizDataList: (params: SearchReqParams) => Promise<[imp
16
16
  data: TPatient[];
17
17
  };
18
18
  }> | undefined]>;
19
+ /**
20
+ * [4-10073-1] 根据业务标识获取Banner数据
21
+ * @param params
22
+ * @returns
23
+ */
24
+ export declare const getBannerDataByBizId: (params: BannerReqParams) => Promise<[import("@sun-toolkit/request").SunApiResultData<null> | undefined, import("@sun-toolkit/request").SunApiResultData<BannerReqItem> | undefined]>;
@@ -0,0 +1,23 @@
1
+ import { BIZ_ID_TYPE_CODE } from "@sun-toolkit/enums";
2
+ export declare const BANNER_COMPONENT_CONFIG: {
3
+ /** 患者信息banner */
4
+ PATIENT: {
5
+ componentId: string;
6
+ bizIdTypeCode: BIZ_ID_TYPE_CODE;
7
+ };
8
+ /** 挂号信息banner */
9
+ REGISTRATION: {
10
+ componentId: string;
11
+ bizIdTypeCode: BIZ_ID_TYPE_CODE;
12
+ };
13
+ /** 收费信息banner */
14
+ CHARGE: {
15
+ componentId: string;
16
+ bizIdTypeCode: BIZ_ID_TYPE_CODE;
17
+ };
18
+ /** 住院就诊banner */
19
+ HOSPITALIZATION: {
20
+ componentId: string;
21
+ bizIdTypeCode: BIZ_ID_TYPE_CODE;
22
+ };
23
+ };
@@ -1,5 +1,7 @@
1
1
  import { COMPONENT_CODE } from "@sun-toolkit/enums";
2
2
  export { default as PatientAccess } from "./index.vue";
3
3
  export { default as PatientInfo } from "./PatientInfo.vue";
4
- export type { AccessResponse as PatientAccessResponse } from "./types.d";
4
+ export { default as BannerInfo } from "./BannerInfo.vue";
5
+ export type { AccessResponse as PatientAccessResponse, BannerReqParams, BannerReqItem, } from "./types.d";
6
+ export { BANNER_COMPONENT_CONFIG } from "./constant";
5
7
  export { COMPONENT_CODE };
@@ -436,7 +436,9 @@ function useSelectByDirectionEvent(options) {
436
436
  * [1-10012-1]获取值域列表
437
437
  * @param data
438
438
  * @returns
439
- */ const queryDataSetByCodeSystemCodes = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/codeSystem/queryDataSetByCodeSystemCodes', params);
439
+ */ const queryDataSetByCodeSystemCodes = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/codeSystem/queryDataSetByCodeSystemCodes', params, {
440
+ cancel: false
441
+ });
440
442
  function useFetchDataset(codeSystemCodes, enabledFlag) {
441
443
  const list = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
442
444
  async function fetchData() {
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { default as useRequest } from "./hooks/use-request";
14
14
  export { default as useAppConfigData, MAIN_APP_CONFIG, } from "./hooks/use-app-config";
15
15
  export { default as useDirectionSelect } from "./hooks/use-direction-select";
16
16
  export { default as useFetchDataset } from "./hooks/use-fetch-dataset";
17
- export { useEditableTable } from './hooks/use-editable-table';
18
- export type { TableRef } from './hooks/use-editable-table';
17
+ export { useEditableTable } from "./hooks/use-editable-table";
18
+ export type { TableRef } from "./hooks/use-editable-table";
19
19
  export { useColumnConfig, useFormConfig } from "./hooks/use-column&form-config";
20
20
  export { debounce, isNumber, decimalCount, formatDecimalNumber } from "./utils";
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import * as __WEBPACK_EXTERNAL_MODULE__sun_toolkit_shared__ from "@sun-toolkit/s
8
8
  import * as __WEBPACK_EXTERNAL_MODULE_i18next_vue__ from "i18next-vue";
9
9
  import * as __WEBPACK_EXTERNAL_MODULE_js_pinyin__ from "js-pinyin";
10
10
  var __webpack_modules__ = {
11
- "./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.97.1_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js": function(__unused_webpack_module, exports) {
11
+ "./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.98.0_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js": function(__unused_webpack_module, exports) {
12
12
  // runtime helper for setting properties on components
13
13
  // in a tree-shakable way
14
14
  exports["default"] = (sfc, props)=>{
@@ -70,8 +70,8 @@ function __webpack_require__(moduleId) {
70
70
  };
71
71
  }
72
72
  });
73
- // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.97.1_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js
74
- var exportHelper = __webpack_require__("./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.97.1_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js");
73
+ // EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.98.0_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js
74
+ var exportHelper = __webpack_require__("./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.13_typescript@5.7.3__webpack@5.98.0_esbuild@0.24.2_/node_modules/vue-loader/dist/exportHelper.js");
75
75
  const __exports__ = /*#__PURE__*/ (0, exportHelper["default"])(Containervue_type_script_setup_true_lang_tsx, [
76
76
  [
77
77
  '__scopeId',
@@ -625,7 +625,9 @@ function useAppConfigData(name) {
625
625
  * [1-10012-1]获取值域列表
626
626
  * @param data
627
627
  * @returns
628
- */ const queryDataSetByCodeSystemCodes = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/codeSystem/queryDataSetByCodeSystemCodes', params);
628
+ */ const queryDataSetByCodeSystemCodes = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/codeSystem/queryDataSetByCodeSystemCodes', params, {
629
+ cancel: false
630
+ });
629
631
  function useFetchDataset(codeSystemCodes, enabledFlag) {
630
632
  const list = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
631
633
  async function fetchData() {
@@ -1610,10 +1612,9 @@ const pro_tablevue_type_script_lang_ts_setup_true_name_ProTable_hoisted_2 = {
1610
1612
  'expand' == item.type ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, {
1611
1613
  key: 0
1612
1614
  }, [
1613
- item.render ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(item.render), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
1614
- key: 0,
1615
- ref_for: true
1616
- }, scope), null, 16)) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, item.type, (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
1615
+ item.render ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(item.render(scope.row, scope.$index)), {
1616
+ key: 0
1617
+ })) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderSlot)(_ctx.$slots, item.type, (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
1617
1618
  key: 1,
1618
1619
  ref_for: true
1619
1620
  }, scope))
@@ -1712,12 +1713,17 @@ const pro_table_exports_ = pro_tablevue_type_script_lang_ts_setup_true_name_ProT
1712
1713
  * 1-10115-1 根据条件查询菜单的检索方式列表(业务态)
1713
1714
  * @param params
1714
1715
  * @returns
1715
- */ const queryPatientAccessConfig = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)('/searchcomponent/queryMenuXSearchTypeByExample', params);
1716
- const queryBizDataList = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.basicRequest)('/bizsearch/queryBizDataListByExample', {
1716
+ */ const queryPatientAccessConfig = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.dictRequest)("/searchcomponent/queryMenuXSearchTypeByExample", params);
1717
+ const queryBizDataList = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.basicRequest)("/bizsearch/queryBizDataListByExample", {
1717
1718
  ...params,
1718
1719
  pageSize: 100,
1719
1720
  pageNum: 1
1720
1721
  });
1722
+ /**
1723
+ * [4-10073-1] 根据业务标识获取Banner数据
1724
+ * @param params
1725
+ * @returns
1726
+ */ const getBannerDataByBizId = (params)=>(0, __WEBPACK_EXTERNAL_MODULE__sun_toolkit_request__.basicRequest)("/banner/getBannerDataByBizId", params);
1721
1727
  /* eslint-disable @typescript-eslint/no-explicit-any */ // support refreshDeps & ready
1722
1728
  const useAutoRunPlugin = (fetchInstance, { manual, ready = true, refreshDeps = [], refreshDepsAction })=>{
1723
1729
  const hasAutoRun = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
@@ -2809,41 +2815,41 @@ const _hoisted_5 = {
2809
2815
  setup (__props) {
2810
2816
  const displayList = [
2811
2817
  {
2812
- label: '门诊号',
2813
- prop: 'omrn'
2818
+ label: "门诊号",
2819
+ prop: "omrn"
2814
2820
  },
2815
2821
  {
2816
- label: '医保费别',
2817
- prop: 'medInsuranceName'
2822
+ label: "医保费别",
2823
+ prop: "medInsuranceName"
2818
2824
  },
2819
2825
  {
2820
- label: '证件类型',
2821
- prop: 'certificateTypeDesc'
2826
+ label: "证件类型",
2827
+ prop: "certificateTypeDesc"
2822
2828
  },
2823
2829
  {
2824
- label: '证件号码',
2825
- prop: 'certificateNo'
2830
+ label: "证件号码",
2831
+ prop: "certificateNo"
2826
2832
  },
2827
2833
  {
2828
- label: '出生日期',
2829
- prop: 'birthDate'
2834
+ label: "出生日期",
2835
+ prop: "birthDate"
2830
2836
  }
2831
2837
  ];
2832
2838
  /**
2833
- *
2834
- * @param birthDay 出生日期
2835
- * @param curDate 当前日期
2836
- * @returns
2837
- */ const birthToAgeDiff = (birthDay, curDate)=>{
2839
+ *
2840
+ * @param birthDay 出生日期
2841
+ * @param curDate 当前日期
2842
+ * @returns
2843
+ */ const birthToAgeDiff = (birthDay, curDate)=>{
2838
2844
  const birth = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(birthDay);
2839
2845
  const now = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(curDate);
2840
- if (birth.valueOf() > now.valueOf()) return '未出生~';
2846
+ if (birth.valueOf() > now.valueOf()) return "未出生~";
2841
2847
  let years = now.year() - birth.year();
2842
2848
  let months = now.month() - birth.month();
2843
2849
  let days = now.date() - birth.date();
2844
2850
  if (days < 0) {
2845
2851
  months -= 1;
2846
- days += (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(now).subtract(1, 'month').daysInMonth();
2852
+ days += (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(now).subtract(1, "month").daysInMonth();
2847
2853
  }
2848
2854
  if (months < 0) {
2849
2855
  years -= 1;
@@ -2853,7 +2859,7 @@ const _hoisted_5 = {
2853
2859
  };
2854
2860
  const age = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2855
2861
  if (__props.data?.birthDate) return birthToAgeDiff(__props.data.birthDate);
2856
- return '--';
2862
+ return "--";
2857
2863
  });
2858
2864
  return (_ctx, _cache)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("ul", (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2859
2865
  class: "flex items-center bg-table-header py-1",
@@ -2867,8 +2873,8 @@ const _hoisted_5 = {
2867
2873
  icon: "User",
2868
2874
  size: 28
2869
2875
  }),
2870
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", PatientInfovue_type_script_setup_true_lang_ts_hoisted_1, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.patientName || '--'), 1),
2871
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("small", PatientInfovue_type_script_setup_true_lang_ts_hoisted_2, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.genderDesc || '--'), 1),
2876
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", PatientInfovue_type_script_setup_true_lang_ts_hoisted_1, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.patientName || "--"), 1),
2877
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("small", PatientInfovue_type_script_setup_true_lang_ts_hoisted_2, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.genderDesc || "--"), 1),
2872
2878
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("small", PatientInfovue_type_script_setup_true_lang_ts_hoisted_3, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(age.value), 1)
2873
2879
  ]),
2874
2880
  ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(displayList, (item)=>(0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("li", {
@@ -2876,13 +2882,166 @@ const _hoisted_5 = {
2876
2882
  class: "ml-3 text-base"
2877
2883
  }, [
2878
2884
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_4, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.label), 1),
2879
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_5, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.[item.prop] || '--'), 1)
2885
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_5, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(_ctx.data?.[item.prop] || "--"), 1)
2880
2886
  ])), 64))
2881
2887
  ], 16));
2882
2888
  }
2883
2889
  });
2884
2890
  const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2885
2891
  /* ESM default export */ const PatientInfo = PatientInfo_exports_;
2892
+ const BANNER_COMPONENT_CONFIG = {
2893
+ /** 患者信息banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.PATIENT]: {
2894
+ componentId: "1636915184113131520",
2895
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.PER_PATIENT
2896
+ },
2897
+ /** 挂号信息banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.REGISTRATION]: {
2898
+ componentId: "1636915259593826304",
2899
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.OENC_REGISTRATION
2900
+ },
2901
+ /** 收费信息banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.CHARGE]: {
2902
+ componentId: "1636915313062813696",
2903
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.OFIN_SETTLEMENT
2904
+ },
2905
+ /** 住院就诊banner */ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BANNER_CODE.HOSPITALIZATION]: {
2906
+ componentId: "1636915397762588672",
2907
+ bizIdTypeCode: __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.IENC_ENCOUNTER
2908
+ }
2909
+ };
2910
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_1 = {
2911
+ class: "col-span-1"
2912
+ };
2913
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2 = {
2914
+ class: "flex items-center gap-2 pl-2"
2915
+ };
2916
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3 = {
2917
+ class: "flex flex-1 flex-col gap-3 text-center"
2918
+ };
2919
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4 = {
2920
+ class: "flex items-center justify-center gap-3"
2921
+ };
2922
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5 = {
2923
+ key: 0,
2924
+ class: "flex items-center gap-8 pl-12 pt-2 text-center"
2925
+ };
2926
+ const _hoisted_6 = {
2927
+ class: "text-green-300"
2928
+ };
2929
+ const _hoisted_7 = {
2930
+ key: 0
2931
+ };
2932
+ const _hoisted_8 = {
2933
+ class: "text-slate-600"
2934
+ };
2935
+ const _hoisted_9 = {
2936
+ class: "mx-2 max-w-16 break-all"
2937
+ };
2938
+ /* ESM default export */ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2939
+ __name: 'BannerInfo',
2940
+ props: {
2941
+ code: {},
2942
+ bizId: {}
2943
+ },
2944
+ setup (__props) {
2945
+ const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
2946
+ const bannerInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2947
+ // 确保布局列数为有效数字
2948
+ const parseLayoutColumns = (value)=>{
2949
+ const parsed = parseInt(value, 10);
2950
+ if (isNaN(parsed)) return 6;
2951
+ return parsed;
2952
+ };
2953
+ // 计算实际布局列数
2954
+ const layoutColumns = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>parseLayoutColumns(bannerInfo.value?.layoutTypeCode));
2955
+ /** 如果是住院就诊,返回就诊状态和天数 */ const encounterInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2956
+ if (BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode !== __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.IENC_ENCOUNTER) return null;
2957
+ const bannerItems = bannerInfo.value?.bannerItemList ?? [];
2958
+ return {
2959
+ inEncStatusDesc: bannerItems.find((item)=>"inEncStatusDesc" === item.bindingFieldNo)?.dataValue ?? "--",
2960
+ inpatientDays: bannerItems.find((item)=>"inpatientDays" === item.bindingFieldNo)?.dataValue ?? "--"
2961
+ };
2962
+ });
2963
+ /** 获取banner配置 */ const queryBannerConfig = async ()=>{
2964
+ loading.value = true;
2965
+ console.log(123, BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode, BANNER_COMPONENT_CONFIG[__props.code].componentId);
2966
+ const [, res] = await getBannerDataByBizId({
2967
+ bizId: __props.bizId ?? void 0,
2968
+ bizIdTypeCode: BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode,
2969
+ componentId: BANNER_COMPONENT_CONFIG[__props.code].componentId
2970
+ });
2971
+ loading.value = false;
2972
+ if (res?.success) {
2973
+ res.data.bannerItemList = (res?.data?.bannerItemList ?? [])?.filter((item)=>item.displayFlag);
2974
+ bannerInfo.value = res?.data;
2975
+ }
2976
+ };
2977
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.watch)(()=>__props.bizId, async ()=>{
2978
+ await queryBannerConfig();
2979
+ });
2980
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.onMounted)(async ()=>{
2981
+ await queryBannerConfig();
2982
+ });
2983
+ return (_ctx, _cache)=>{
2984
+ const _component_el_avatar = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-avatar");
2985
+ const _directive_loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDirective)("loading");
2986
+ return (0, __WEBPACK_EXTERNAL_MODULE_vue__.withDirectives)(((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", {
2987
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
2988
+ "grid items-center gap-3 bg-table-header py-1 text-base",
2989
+ {
2990
+ [`grid-cols-${layoutColumns.value + 2}`]: true
2991
+ }
2992
+ ])
2993
+ }, [
2994
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_1, [
2995
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2, [
2996
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_avatar, {
2997
+ size: 50,
2998
+ icon: "User"
2999
+ }),
3000
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3, [
3001
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.personName ?? "--"), 1),
3002
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4, [
3003
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.genderDesc ?? "--"), 1),
3004
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.age ?? "--"), 1)
3005
+ ])
3006
+ ])
3007
+ ]),
3008
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(BANNER_COMPONENT_CONFIG)[_ctx.code].bizIdTypeCode === (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE).IENC_ENCOUNTER ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5, [
3009
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_6, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inEncStatusDesc), 1),
3010
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inpatientDays), 1)
3011
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
3012
+ ]),
3013
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
3014
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
3015
+ "grid gap-3",
3016
+ {
3017
+ [`grid-cols-${layoutColumns.value}`]: true,
3018
+ [`col-span-${layoutColumns.value + 1}`]: true
3019
+ }
3020
+ ])
3021
+ }, [
3022
+ ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(true), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(bannerInfo.value?.bannerItemList ?? [], (item)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", {
3023
+ key: item.formDesignDetailId,
3024
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)({
3025
+ [`col-span-${Math.floor(item.displayWidthRatio * Number(layoutColumns.value))}`]: true
3026
+ })
3027
+ }, [
3028
+ item.displayFlag ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", _hoisted_7, [
3029
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_8, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.labelNameDisplay) + ":", 1),
3030
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_9, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.dataValue || "--"), 1)
3031
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
3032
+ ], 2))), 128))
3033
+ ], 2)
3034
+ ], 2)), [
3035
+ [
3036
+ _directive_loading,
3037
+ loading.value
3038
+ ]
3039
+ ]);
3040
+ };
3041
+ }
3042
+ });
3043
+ const BannerInfo_exports_ = BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent;
3044
+ /* ESM default export */ const BannerInfo = BannerInfo_exports_;
2886
3045
  /* ESM default export */ const printTemplatevue_type_script_lang_ts_setup_true_name_printDialog = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2887
3046
  __name: 'printTemplate',
2888
3047
  props: {
@@ -3031,6 +3190,8 @@ const createPrintTemplate = (options)=>{
3031
3190
  const pluginMainRequest = async (methodName, params)=>{
3032
3191
  try {
3033
3192
  const paramsJson = JSON.stringify(params);
3193
+ console.log("API方法", methodName);
3194
+ console.log("参数", paramsJson);
3034
3195
  // 检查方法是否存在
3035
3196
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3036
3197
  // @ts-ignore
@@ -3226,7 +3387,7 @@ var constant_DATA_SOURCE_CONTENT_TYPE_CODE = /*#__PURE__*/ function(DATA_SOURCE_
3226
3387
  */ DATA_SOURCE_CONTENT_TYPE_CODE["BASE64"] = "BASE64";
3227
3388
  return DATA_SOURCE_CONTENT_TYPE_CODE;
3228
3389
  }({});
3229
- const defaultContext = {
3390
+ let defaultContext = {
3230
3391
  printParams: void 0,
3231
3392
  receiptInfo: void 0,
3232
3393
  splitResult: [
@@ -3251,8 +3412,27 @@ const defaultContext = {
3251
3412
  // 5.组织分单结果
3252
3413
  // 6.票据业务
3253
3414
  // 7.循环分单结果,进行单据打印
3415
+ /** 初始数据 */ /** 此处是为了防止下次进入的时候存在缓存数据 */ const print_initData = async ()=>{
3416
+ defaultContext = {
3417
+ printParams: void 0,
3418
+ receiptInfo: void 0,
3419
+ splitResult: [
3420
+ {
3421
+ receiptSort: 1,
3422
+ receiptSplitResultId: null,
3423
+ receiptSplitTypeCode: constant_RECEIPT_SPLIT_TYPE_CODE.NO_SPLIT
3424
+ }
3425
+ ],
3426
+ printTemplate: void 0,
3427
+ printTemplateList: [],
3428
+ receiptAllotInfo: [],
3429
+ dataSourceContentItem: void 0,
3430
+ dataSourceContentTypeCodeItem: void 0
3431
+ };
3432
+ };
3254
3433
  // 打印
3255
3434
  const printStart = async (params)=>{
3435
+ /** 初始化 */ await print_initData();
3256
3436
  defaultContext.printParams = params;
3257
3437
  await fetchReceiptInfo();
3258
3438
  if (!defaultContext.receiptInfo) return;
@@ -5438,4 +5618,4 @@ const form_design_render_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(f
5438
5618
  ]);
5439
5619
  /* ESM default export */ const form_design_render = form_design_render_exports_;
5440
5620
  /** components **/ /** hooks ** */ var __webpack_exports__COMPONENT_CODE = __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.COMPONENT_CODE;
5441
- export { 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, use_app_config_MAIN_APP_CONFIG as MAIN_APP_CONFIG, 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, debounce, decimalCount, formatDecimalNumber, isNumber, print, use_app_config as useAppConfigData, useColumnConfig, use_direction_select as useDirectionSelect, useEditableTable, use_fetch_dataset as useFetchDataset, useFormConfig, usePrintReceipt, use_request as useRequest, __webpack_exports__COMPONENT_CODE as COMPONENT_CODE };
5621
+ export { 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, use_app_config_MAIN_APP_CONFIG as MAIN_APP_CONFIG, 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, debounce, decimalCount, formatDecimalNumber, isNumber, print, use_app_config as useAppConfigData, useColumnConfig, use_direction_select as useDirectionSelect, useEditableTable, use_fetch_dataset as useFetchDataset, useFormConfig, usePrintReceipt, use_request as useRequest, __webpack_exports__COMPONENT_CODE as COMPONENT_CODE };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sun-biz",
3
- "version": "0.0.2-beta.25",
3
+ "version": "0.0.2-beta.27",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -28,19 +28,19 @@
28
28
  "storybook": "storybook dev -p 6007"
29
29
  },
30
30
  "devDependencies": {
31
- "@microsoft/api-extractor": "^7.49.1",
32
- "@rsbuild/plugin-babel": "^1.0.3",
33
- "@rsbuild/plugin-vue": "^1.0.5",
31
+ "@microsoft/api-extractor": "^7.51.0",
32
+ "@rsbuild/plugin-babel": "^1.0.4",
33
+ "@rsbuild/plugin-vue": "^1.0.6",
34
34
  "@rsbuild/plugin-vue-jsx": "^1.1.0",
35
35
  "@rslib/core": "^0.0.18",
36
36
  "@storybook/addon-essentials": "8.4.4",
37
37
  "@storybook/test": "8.4.4",
38
38
  "@storybook/vue3": "8.4.4",
39
- "@types/lodash": "^4.17.14",
40
- "@types/node": "^22.10.6",
39
+ "@types/lodash": "^4.17.15",
40
+ "@types/node": "^22.13.5",
41
41
  "@types/sortablejs": "^1.15.8",
42
42
  "storybook": "8.4.4",
43
- "storybook-addon-rslib": "^0.1.8",
43
+ "storybook-addon-rslib": "^0.1.10",
44
44
  "storybook-vue3-rsbuild": "0.1.5",
45
45
  "tailwindcss": "^3.4.17",
46
46
  "typescript": "^5.7.3"
@@ -57,13 +57,13 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@element-sun/icons-vue": "^1.0.5",
60
- "@sun-toolkit/enums": "1.0.0-beta.6",
60
+ "@sun-toolkit/enums": "1.0.0-beta.10",
61
61
  "@sun-toolkit/request": "1.0.0-beta.5",
62
- "@sun-toolkit/shared": "0.0.1-beta.1",
63
- "axios": "^1.7.9",
62
+ "@sun-toolkit/shared": "0.0.1-beta.3",
63
+ "axios": "^1.8.1",
64
64
  "element-sun": "0.0.0-dev.2",
65
65
  "i18next": "^23.16.8",
66
- "i18next-vue": "^5.0.0",
66
+ "i18next-vue": "^5.2.0",
67
67
  "js-pinyin": "^0.2.7",
68
68
  "latest": "^0.2.0",
69
69
  "lodash": "^4.17.21",