sun-biz 0.0.2-beta.26 → 0.0.2-beta.28

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',
@@ -1712,12 +1712,17 @@ const pro_table_exports_ = pro_tablevue_type_script_lang_ts_setup_true_name_ProT
1712
1712
  * 1-10115-1 根据条件查询菜单的检索方式列表(业务态)
1713
1713
  * @param params
1714
1714
  * @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', {
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", {
1717
1717
  ...params,
1718
1718
  pageSize: 100,
1719
1719
  pageNum: 1
1720
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);
1721
1726
  /* eslint-disable @typescript-eslint/no-explicit-any */ // support refreshDeps & ready
1722
1727
  const useAutoRunPlugin_useAutoRunPlugin = (fetchInstance, { manual, ready = true, refreshDeps = [], refreshDepsAction })=>{
1723
1728
  const hasAutoRun = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
@@ -2412,41 +2417,41 @@ const _hoisted_5 = {
2412
2417
  setup (__props) {
2413
2418
  const displayList = [
2414
2419
  {
2415
- label: '门诊号',
2416
- prop: 'omrn'
2420
+ label: "门诊号",
2421
+ prop: "omrn"
2417
2422
  },
2418
2423
  {
2419
- label: '医保费别',
2420
- prop: 'medInsuranceName'
2424
+ label: "医保费别",
2425
+ prop: "medInsuranceName"
2421
2426
  },
2422
2427
  {
2423
- label: '证件类型',
2424
- prop: 'certificateTypeDesc'
2428
+ label: "证件类型",
2429
+ prop: "certificateTypeDesc"
2425
2430
  },
2426
2431
  {
2427
- label: '证件号码',
2428
- prop: 'certificateNo'
2432
+ label: "证件号码",
2433
+ prop: "certificateNo"
2429
2434
  },
2430
2435
  {
2431
- label: '出生日期',
2432
- prop: 'birthDate'
2436
+ label: "出生日期",
2437
+ prop: "birthDate"
2433
2438
  }
2434
2439
  ];
2435
2440
  /**
2436
- *
2437
- * @param birthDay 出生日期
2438
- * @param curDate 当前日期
2439
- * @returns
2440
- */ const birthToAgeDiff = (birthDay, curDate)=>{
2441
+ *
2442
+ * @param birthDay 出生日期
2443
+ * @param curDate 当前日期
2444
+ * @returns
2445
+ */ const birthToAgeDiff = (birthDay, curDate)=>{
2441
2446
  const birth = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(birthDay);
2442
2447
  const now = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(curDate);
2443
- if (birth.valueOf() > now.valueOf()) return '未出生~';
2448
+ if (birth.valueOf() > now.valueOf()) return "未出生~";
2444
2449
  let years = now.year() - birth.year();
2445
2450
  let months = now.month() - birth.month();
2446
2451
  let days = now.date() - birth.date();
2447
2452
  if (days < 0) {
2448
2453
  months -= 1;
2449
- 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();
2450
2455
  }
2451
2456
  if (months < 0) {
2452
2457
  years -= 1;
@@ -2456,7 +2461,7 @@ const _hoisted_5 = {
2456
2461
  };
2457
2462
  const age = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2458
2463
  if (__props.data?.birthDate) return birthToAgeDiff(__props.data.birthDate);
2459
- return '--';
2464
+ return "--";
2460
2465
  });
2461
2466
  return (_ctx, _cache)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("ul", (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2462
2467
  class: "flex items-center bg-table-header py-1",
@@ -2470,8 +2475,8 @@ const _hoisted_5 = {
2470
2475
  icon: "User",
2471
2476
  size: 28
2472
2477
  }),
2473
- (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),
2474
- (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),
2475
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)
2476
2481
  ]),
2477
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", {
@@ -2479,13 +2484,206 @@ const _hoisted_5 = {
2479
2484
  class: "ml-3 text-base"
2480
2485
  }, [
2481
2486
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_4, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.label), 1),
2482
- (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)
2483
2488
  ])), 64))
2484
2489
  ], 16));
2485
2490
  }
2486
2491
  });
2487
2492
  const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2488
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: "mr-4 flex min-w-48 items-start justify-start border-r border-[#C9C9C9] pr-4"
2514
+ };
2515
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2 = {
2516
+ class: "ml-[17px]"
2517
+ };
2518
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3 = {
2519
+ key: 0,
2520
+ class: "mb-[11px] flex items-end gap-2 font-bold text-center"
2521
+ };
2522
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4 = {
2523
+ class: "text-lg min-w-8"
2524
+ };
2525
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5 = {
2526
+ class: "min-w-7"
2527
+ };
2528
+ const _hoisted_6 = {
2529
+ class: "min-w-7"
2530
+ };
2531
+ const _hoisted_7 = {
2532
+ key: 1,
2533
+ class: "min-w-32 text-center font-bold mb-[6px]"
2534
+ };
2535
+ const _hoisted_8 = {
2536
+ key: 2,
2537
+ class: "rounded-full bg-[#00AB44] px-1.5 text-center text-white"
2538
+ };
2539
+ const _hoisted_9 = {
2540
+ class: "mr-2"
2541
+ };
2542
+ const _hoisted_10 = {
2543
+ class: "mr-2 text-[#666666]"
2544
+ };
2545
+ const _hoisted_11 = {
2546
+ class: "mx-2 w-full"
2547
+ };
2548
+ /* ESM default export */ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2549
+ __name: 'BannerInfo',
2550
+ props: {
2551
+ code: {},
2552
+ bizId: {},
2553
+ isBg: {
2554
+ type: Boolean,
2555
+ default: true
2556
+ }
2557
+ },
2558
+ setup (__props) {
2559
+ const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
2560
+ const bannerInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2561
+ const initBannerInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2562
+ const isTextOverflowing = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
2563
+ // 确保布局列数为有效数字
2564
+ const parseLayoutColumns = (value)=>{
2565
+ const parsed = parseInt(value, 10);
2566
+ if (isNaN(parsed)) return 6;
2567
+ return parsed;
2568
+ };
2569
+ // 计算实际布局列数
2570
+ const layoutColumns = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>parseLayoutColumns(bannerInfo.value?.layoutTypeCode));
2571
+ /** 如果是住院就诊,返回就诊状态和天数 */ const encounterInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2572
+ if (BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode !== __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.IENC_ENCOUNTER) return null;
2573
+ const bannerItems = bannerInfo.value?.bannerItemList ?? [];
2574
+ const statusItem = bannerItems.find((item)=>"inEncStatusDesc" === item.bindingFieldNo);
2575
+ const daysItem = bannerItems.find((item)=>"inpatientDays" === item.bindingFieldNo);
2576
+ return {
2577
+ inEncStatusDesc: statusItem?.dataValue ?? "--",
2578
+ inpatientDays: daysItem?.dataValue ? `(${daysItem.dataValue})` : "--"
2579
+ };
2580
+ });
2581
+ /** 获取banner配置 */ const queryBannerConfig = async ()=>{
2582
+ loading.value = true;
2583
+ if (!__props.bizId && initBannerInfo.value) {
2584
+ bannerInfo.value = initBannerInfo.value;
2585
+ loading.value = false;
2586
+ return;
2587
+ }
2588
+ const [, res] = await getBannerDataByBizId({
2589
+ bizId: __props.bizId ?? void 0,
2590
+ bizIdTypeCode: BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode,
2591
+ componentId: BANNER_COMPONENT_CONFIG[__props.code].componentId
2592
+ });
2593
+ loading.value = false;
2594
+ if (res?.success) {
2595
+ res.data.bannerItemList = (res?.data?.bannerItemList ?? [])?.filter((item)=>item.displayFlag);
2596
+ if (!__props.bizId) initBannerInfo.value = res?.data;
2597
+ bannerInfo.value = res?.data;
2598
+ }
2599
+ };
2600
+ // 修改检查文字溢出的逻辑
2601
+ const checkTextOverflow = (event)=>{
2602
+ const target = event.currentTarget;
2603
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.nextTick)(()=>{
2604
+ isTextOverflowing.value = target.offsetWidth < target.scrollWidth;
2605
+ });
2606
+ };
2607
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.watch)(()=>__props.bizId, async ()=>{
2608
+ await queryBannerConfig();
2609
+ });
2610
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.onMounted)(async ()=>{
2611
+ await queryBannerConfig();
2612
+ });
2613
+ return (_ctx, _cache)=>{
2614
+ const _component_el_avatar = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-avatar");
2615
+ const _component_el_tooltip = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-tooltip");
2616
+ const _directive_loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDirective)("loading");
2617
+ return (0, __WEBPACK_EXTERNAL_MODULE_vue__.withDirectives)(((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", {
2618
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
2619
+ {
2620
+ ['bg-table-header']: _ctx.isBg
2621
+ },
2622
+ "flex px-8 py-3.5 text-base text-black items-center"
2623
+ ])
2624
+ }, [
2625
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_1, [
2626
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_avatar, {
2627
+ size: 32,
2628
+ icon: "User"
2629
+ }),
2630
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2, [
2631
+ bannerInfo.value?.personName || bannerInfo.value?.age || bannerInfo.value?.genderDesc ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3, [
2632
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.personName ?? "--"), 1),
2633
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.age ?? "--"), 1),
2634
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_6, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.genderDesc ?? "--"), 1)
2635
+ ])) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", _hoisted_7, "--")),
2636
+ (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", _hoisted_8, [
2637
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_9, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inEncStatusDesc), 1),
2638
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inpatientDays), 1)
2639
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
2640
+ ])
2641
+ ]),
2642
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
2643
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
2644
+ "grid gap-3 flex-1",
2645
+ {
2646
+ [`grid-cols-${layoutColumns.value}`]: true
2647
+ }
2648
+ ])
2649
+ }, [
2650
+ ((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", {
2651
+ key: item.formDesignDetailId,
2652
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)({
2653
+ [`col-span-${Math.floor(item.displayWidthRatio * Number(layoutColumns.value))}`]: true
2654
+ })
2655
+ }, [
2656
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
2657
+ class: "w-full overflow-hidden text-ellipsis whitespace-nowrap",
2658
+ onMouseenter: checkTextOverflow
2659
+ }, [
2660
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_10, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.labelNameDisplay) + ":", 1),
2661
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_tooltip, {
2662
+ disabled: !isTextOverflowing.value,
2663
+ content: item.dataValue
2664
+ }, {
2665
+ default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2666
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_11, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.dataValue || "--"), 1)
2667
+ ]),
2668
+ _: 2
2669
+ }, 1032, [
2670
+ "disabled",
2671
+ "content"
2672
+ ])
2673
+ ], 32)
2674
+ ], 2))), 128))
2675
+ ], 2)
2676
+ ], 2)), [
2677
+ [
2678
+ _directive_loading,
2679
+ loading.value
2680
+ ]
2681
+ ]);
2682
+ };
2683
+ }
2684
+ });
2685
+ const BannerInfo_exports_ = BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent;
2686
+ /* ESM default export */ const BannerInfo = BannerInfo_exports_;
2489
2687
  /* ESM default export */ const printTemplatevue_type_script_lang_ts_setup_true_name_printDialog = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2490
2688
  __name: 'printTemplate',
2491
2689
  props: {
@@ -2634,6 +2832,8 @@ const createPrintTemplate = (options)=>{
2634
2832
  const pluginMainRequest = async (methodName, params)=>{
2635
2833
  try {
2636
2834
  const paramsJson = JSON.stringify(params);
2835
+ console.log("API方法", methodName);
2836
+ console.log("参数", paramsJson);
2637
2837
  // 检查方法是否存在
2638
2838
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2639
2839
  // @ts-ignore
@@ -5060,4 +5260,4 @@ const invoicevue_type_script_setup_true_lang_ts_name_proInvoice_hoisted_3 = {
5060
5260
  const invoice_exports_ = invoicevue_type_script_setup_true_lang_ts_name_proInvoice;
5061
5261
  /* ESM default export */ const invoice = invoice_exports_;
5062
5262
  var __webpack_exports__COMPONENT_CODE = __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.COMPONENT_CODE;
5063
- 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 };
5263
+ 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 };
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',
@@ -1713,12 +1713,17 @@ const pro_table_exports_ = pro_tablevue_type_script_lang_ts_setup_true_name_ProT
1713
1713
  * 1-10115-1 根据条件查询菜单的检索方式列表(业务态)
1714
1714
  * @param params
1715
1715
  * @returns
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', {
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", {
1718
1718
  ...params,
1719
1719
  pageSize: 100,
1720
1720
  pageNum: 1
1721
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);
1722
1727
  /* eslint-disable @typescript-eslint/no-explicit-any */ // support refreshDeps & ready
1723
1728
  const useAutoRunPlugin = (fetchInstance, { manual, ready = true, refreshDeps = [], refreshDepsAction })=>{
1724
1729
  const hasAutoRun = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
@@ -2810,41 +2815,41 @@ const _hoisted_5 = {
2810
2815
  setup (__props) {
2811
2816
  const displayList = [
2812
2817
  {
2813
- label: '门诊号',
2814
- prop: 'omrn'
2818
+ label: "门诊号",
2819
+ prop: "omrn"
2815
2820
  },
2816
2821
  {
2817
- label: '医保费别',
2818
- prop: 'medInsuranceName'
2822
+ label: "医保费别",
2823
+ prop: "medInsuranceName"
2819
2824
  },
2820
2825
  {
2821
- label: '证件类型',
2822
- prop: 'certificateTypeDesc'
2826
+ label: "证件类型",
2827
+ prop: "certificateTypeDesc"
2823
2828
  },
2824
2829
  {
2825
- label: '证件号码',
2826
- prop: 'certificateNo'
2830
+ label: "证件号码",
2831
+ prop: "certificateNo"
2827
2832
  },
2828
2833
  {
2829
- label: '出生日期',
2830
- prop: 'birthDate'
2834
+ label: "出生日期",
2835
+ prop: "birthDate"
2831
2836
  }
2832
2837
  ];
2833
2838
  /**
2834
- *
2835
- * @param birthDay 出生日期
2836
- * @param curDate 当前日期
2837
- * @returns
2838
- */ const birthToAgeDiff = (birthDay, curDate)=>{
2839
+ *
2840
+ * @param birthDay 出生日期
2841
+ * @param curDate 当前日期
2842
+ * @returns
2843
+ */ const birthToAgeDiff = (birthDay, curDate)=>{
2839
2844
  const birth = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(birthDay);
2840
2845
  const now = (0, __WEBPACK_EXTERNAL_MODULE_element_sun__.dayjs)(curDate);
2841
- if (birth.valueOf() > now.valueOf()) return '未出生~';
2846
+ if (birth.valueOf() > now.valueOf()) return "未出生~";
2842
2847
  let years = now.year() - birth.year();
2843
2848
  let months = now.month() - birth.month();
2844
2849
  let days = now.date() - birth.date();
2845
2850
  if (days < 0) {
2846
2851
  months -= 1;
2847
- 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();
2848
2853
  }
2849
2854
  if (months < 0) {
2850
2855
  years -= 1;
@@ -2854,7 +2859,7 @@ const _hoisted_5 = {
2854
2859
  };
2855
2860
  const age = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2856
2861
  if (__props.data?.birthDate) return birthToAgeDiff(__props.data.birthDate);
2857
- return '--';
2862
+ return "--";
2858
2863
  });
2859
2864
  return (_ctx, _cache)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("ul", (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2860
2865
  class: "flex items-center bg-table-header py-1",
@@ -2868,8 +2873,8 @@ const _hoisted_5 = {
2868
2873
  icon: "User",
2869
2874
  size: 28
2870
2875
  }),
2871
- (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),
2872
- (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),
2873
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)
2874
2879
  ]),
2875
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", {
@@ -2877,13 +2882,206 @@ const _hoisted_5 = {
2877
2882
  class: "ml-3 text-base"
2878
2883
  }, [
2879
2884
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_4, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.label), 1),
2880
- (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)
2881
2886
  ])), 64))
2882
2887
  ], 16));
2883
2888
  }
2884
2889
  });
2885
2890
  const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2886
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: "mr-4 flex min-w-48 items-start justify-start border-r border-[#C9C9C9] pr-4"
2912
+ };
2913
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2 = {
2914
+ class: "ml-[17px]"
2915
+ };
2916
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3 = {
2917
+ key: 0,
2918
+ class: "mb-[11px] flex items-end gap-2 font-bold text-center"
2919
+ };
2920
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4 = {
2921
+ class: "text-lg min-w-8"
2922
+ };
2923
+ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5 = {
2924
+ class: "min-w-7"
2925
+ };
2926
+ const _hoisted_6 = {
2927
+ class: "min-w-7"
2928
+ };
2929
+ const _hoisted_7 = {
2930
+ key: 1,
2931
+ class: "min-w-32 text-center font-bold mb-[6px]"
2932
+ };
2933
+ const _hoisted_8 = {
2934
+ key: 2,
2935
+ class: "rounded-full bg-[#00AB44] px-1.5 text-center text-white"
2936
+ };
2937
+ const _hoisted_9 = {
2938
+ class: "mr-2"
2939
+ };
2940
+ const _hoisted_10 = {
2941
+ class: "mr-2 text-[#666666]"
2942
+ };
2943
+ const _hoisted_11 = {
2944
+ class: "mx-2 w-full"
2945
+ };
2946
+ /* ESM default export */ const BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2947
+ __name: 'BannerInfo',
2948
+ props: {
2949
+ code: {},
2950
+ bizId: {},
2951
+ isBg: {
2952
+ type: Boolean,
2953
+ default: true
2954
+ }
2955
+ },
2956
+ setup (__props) {
2957
+ const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
2958
+ const bannerInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2959
+ const initBannerInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2960
+ const isTextOverflowing = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(false);
2961
+ // 确保布局列数为有效数字
2962
+ const parseLayoutColumns = (value)=>{
2963
+ const parsed = parseInt(value, 10);
2964
+ if (isNaN(parsed)) return 6;
2965
+ return parsed;
2966
+ };
2967
+ // 计算实际布局列数
2968
+ const layoutColumns = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>parseLayoutColumns(bannerInfo.value?.layoutTypeCode));
2969
+ /** 如果是住院就诊,返回就诊状态和天数 */ const encounterInfo = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2970
+ if (BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode !== __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.BIZ_ID_TYPE_CODE.IENC_ENCOUNTER) return null;
2971
+ const bannerItems = bannerInfo.value?.bannerItemList ?? [];
2972
+ const statusItem = bannerItems.find((item)=>"inEncStatusDesc" === item.bindingFieldNo);
2973
+ const daysItem = bannerItems.find((item)=>"inpatientDays" === item.bindingFieldNo);
2974
+ return {
2975
+ inEncStatusDesc: statusItem?.dataValue ?? "--",
2976
+ inpatientDays: daysItem?.dataValue ? `(${daysItem.dataValue})` : "--"
2977
+ };
2978
+ });
2979
+ /** 获取banner配置 */ const queryBannerConfig = async ()=>{
2980
+ loading.value = true;
2981
+ if (!__props.bizId && initBannerInfo.value) {
2982
+ bannerInfo.value = initBannerInfo.value;
2983
+ loading.value = false;
2984
+ return;
2985
+ }
2986
+ const [, res] = await getBannerDataByBizId({
2987
+ bizId: __props.bizId ?? void 0,
2988
+ bizIdTypeCode: BANNER_COMPONENT_CONFIG[__props.code].bizIdTypeCode,
2989
+ componentId: BANNER_COMPONENT_CONFIG[__props.code].componentId
2990
+ });
2991
+ loading.value = false;
2992
+ if (res?.success) {
2993
+ res.data.bannerItemList = (res?.data?.bannerItemList ?? [])?.filter((item)=>item.displayFlag);
2994
+ if (!__props.bizId) initBannerInfo.value = res?.data;
2995
+ bannerInfo.value = res?.data;
2996
+ }
2997
+ };
2998
+ // 修改检查文字溢出的逻辑
2999
+ const checkTextOverflow = (event)=>{
3000
+ const target = event.currentTarget;
3001
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.nextTick)(()=>{
3002
+ isTextOverflowing.value = target.offsetWidth < target.scrollWidth;
3003
+ });
3004
+ };
3005
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.watch)(()=>__props.bizId, async ()=>{
3006
+ await queryBannerConfig();
3007
+ });
3008
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.onMounted)(async ()=>{
3009
+ await queryBannerConfig();
3010
+ });
3011
+ return (_ctx, _cache)=>{
3012
+ const _component_el_avatar = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-avatar");
3013
+ const _component_el_tooltip = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-tooltip");
3014
+ const _directive_loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDirective)("loading");
3015
+ return (0, __WEBPACK_EXTERNAL_MODULE_vue__.withDirectives)(((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", {
3016
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
3017
+ {
3018
+ ['bg-table-header']: _ctx.isBg
3019
+ },
3020
+ "flex px-8 py-3.5 text-base text-black items-center"
3021
+ ])
3022
+ }, [
3023
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_1, [
3024
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_avatar, {
3025
+ size: 32,
3026
+ icon: "User"
3027
+ }),
3028
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_2, [
3029
+ bannerInfo.value?.personName || bannerInfo.value?.age || bannerInfo.value?.genderDesc ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_3, [
3030
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_4, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.personName ?? "--"), 1),
3031
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent_hoisted_5, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.age ?? "--"), 1),
3032
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_6, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(bannerInfo.value?.genderDesc ?? "--"), 1)
3033
+ ])) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)("div", _hoisted_7, "--")),
3034
+ (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", _hoisted_8, [
3035
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_9, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inEncStatusDesc), 1),
3036
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(encounterInfo.value?.inpatientDays), 1)
3037
+ ])) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
3038
+ ])
3039
+ ]),
3040
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
3041
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)([
3042
+ "grid gap-3 flex-1",
3043
+ {
3044
+ [`grid-cols-${layoutColumns.value}`]: true
3045
+ }
3046
+ ])
3047
+ }, [
3048
+ ((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", {
3049
+ key: item.formDesignDetailId,
3050
+ class: (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeClass)({
3051
+ [`col-span-${Math.floor(item.displayWidthRatio * Number(layoutColumns.value))}`]: true
3052
+ })
3053
+ }, [
3054
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
3055
+ class: "w-full overflow-hidden text-ellipsis whitespace-nowrap",
3056
+ onMouseenter: checkTextOverflow
3057
+ }, [
3058
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_10, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.labelNameDisplay) + ":", 1),
3059
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_tooltip, {
3060
+ disabled: !isTextOverflowing.value,
3061
+ content: item.dataValue
3062
+ }, {
3063
+ default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3064
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", _hoisted_11, (0, __WEBPACK_EXTERNAL_MODULE_vue__.toDisplayString)(item.dataValue || "--"), 1)
3065
+ ]),
3066
+ _: 2
3067
+ }, 1032, [
3068
+ "disabled",
3069
+ "content"
3070
+ ])
3071
+ ], 32)
3072
+ ], 2))), 128))
3073
+ ], 2)
3074
+ ], 2)), [
3075
+ [
3076
+ _directive_loading,
3077
+ loading.value
3078
+ ]
3079
+ ]);
3080
+ };
3081
+ }
3082
+ });
3083
+ const BannerInfo_exports_ = BannerInfovue_type_script_setup_true_lang_ts_name_bannerComponent;
3084
+ /* ESM default export */ const BannerInfo = BannerInfo_exports_;
2887
3085
  /* ESM default export */ const printTemplatevue_type_script_lang_ts_setup_true_name_printDialog = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2888
3086
  __name: 'printTemplate',
2889
3087
  props: {
@@ -3032,6 +3230,8 @@ const createPrintTemplate = (options)=>{
3032
3230
  const pluginMainRequest = async (methodName, params)=>{
3033
3231
  try {
3034
3232
  const paramsJson = JSON.stringify(params);
3233
+ console.log("API方法", methodName);
3234
+ console.log("参数", paramsJson);
3035
3235
  // 检查方法是否存在
3036
3236
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3037
3237
  // @ts-ignore
@@ -5458,4 +5658,4 @@ const form_design_render_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(f
5458
5658
  ]);
5459
5659
  /* ESM default export */ const form_design_render = form_design_render_exports_;
5460
5660
  /** components **/ /** hooks ** */ var __webpack_exports__COMPONENT_CODE = __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.COMPONENT_CODE;
5461
- 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 };
5661
+ 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.26",
3
+ "version": "0.0.2-beta.28",
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",