nubomed-ui 2.0.176 → 2.0.178

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.
@@ -459,6 +459,10 @@ __webpack_require__.d(__webpack_exports__, {
459
459
  age: '年龄',
460
460
  inpatientNum: '住院号',
461
461
  patientName: '患者姓名',
462
+ chiefSurgeonDoctor: '主刀医生',
463
+ opName: '手术名称',
464
+ opNum: '手术单号',
465
+ opRoom: '手术间',
462
466
  // 日期相关
463
467
  yesterday: '昨天',
464
468
  today: '今天',
@@ -960,7 +964,7 @@ src.install = function (Vue) {
960
964
 
961
965
  /***/ }),
962
966
 
963
- /***/ 3789:
967
+ /***/ 1829:
964
968
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
965
969
 
966
970
  "use strict";
@@ -979,29 +983,8 @@ var staticRenderFns = []
979
983
 
980
984
  // EXTERNAL MODULE: ./packages/mixins/index.js
981
985
  var mixins = __webpack_require__(5289);
982
- ;// ./packages/utils/util.js
983
- function hasOwn(obj, key) {
984
- return hasOwnProperty.call(obj, key);
985
- }
986
-
987
- /**
988
- * @param {string} content 需要复制的内容文本
989
- */
990
- function copyText(content) {
991
- let copyEl = document.createElement('input');
992
- copyEl.style.position = 'fixed';
993
- copyEl.style.top = '0';
994
- copyEl.style.left = '-1000em';
995
- copyEl.readonly = 'readonly';
996
- document.body.appendChild(copyEl);
997
- copyEl.value = content;
998
- copyEl.focus();
999
- document.execCommand('selectAll');
1000
- const res = document.execCommand('copy');
1001
- copyEl.blur();
1002
- document.body.removeChild(copyEl);
1003
- return res;
1004
- }
986
+ // EXTERNAL MODULE: ./packages/utils/util.js
987
+ var util = __webpack_require__(7766);
1005
988
  // EXTERNAL MODULE: ./packages/utils/date-util.js
1006
989
  var date_util = __webpack_require__(2035);
1007
990
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBBarcodeReviewDialog/src/index.vue?vue&type=script&lang=js
@@ -1157,7 +1140,7 @@ var date_util = __webpack_require__(2035);
1157
1140
  },
1158
1141
  // 复制
1159
1142
  handleCopy(text) {
1160
- copyText(text);
1143
+ (0,util/* copyText */.Dk)(text);
1161
1144
  this.$emit('copy', text);
1162
1145
  },
1163
1146
  // 弹框关闭
@@ -2929,7 +2912,7 @@ src.install = function (Vue) {
2929
2912
 
2930
2913
  /***/ }),
2931
2914
 
2932
- /***/ 7341:
2915
+ /***/ 4841:
2933
2916
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2934
2917
 
2935
2918
  "use strict";
@@ -2941,7 +2924,7 @@ __webpack_require__.d(__webpack_exports__, {
2941
2924
  "default": function() { return /* binding */ NBDialog; }
2942
2925
  });
2943
2926
 
2944
- ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBDialog/src/index.vue?vue&type=template&id=144f3ca4&scoped=true
2927
+ ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBDialog/src/index.vue?vue&type=template&id=63a48e3a&scoped=true
2945
2928
  var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:"nb-dialog__wrapper",attrs:{"visible":_vm.visible,"show-close":_vm.showClose,"close-on-click-modal":false,"close-on-press-escape":false,"center":_vm.center,"dialog-center":_vm.dialogCenter,"type":_vm.size,"title":_vm.$slots['title-right'] ? '' : _vm.title,"custom-class":_vm.dialogCustomClass,"before-close":_vm.handleClose,"append-to-body":"","destroy-on-close":""},on:{"closed":_vm.closedDialog}},[_c('template',{slot:"title"},[_vm._t("title"),(_vm.$slots['title-right'])?_c('div',{staticClass:"nb-dialog__header--has-form"},[_c('span',{staticClass:"el-dialog__title"},[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:"el-dialog__right"},[_vm._t("title-right")],2)]):_vm._e()],2),_vm._t("default"),_c('template',{slot:"footer"},[(_vm.$slots.footer)?_vm._t("footer"):[(_vm.showCancelButton)?_c('el-button',{on:{"click":_vm.handleCancel}},[_vm._v(_vm._s(_vm.cancelButtonText || _vm.t('nb.button.cancel'))),(_vm.cancelButtonTime > -1)?[_vm._v("("+_vm._s(_vm.cancelAutoTime)+"S)")]:_vm._e()],2):_vm._e(),(_vm.showConfirmButton)?_c('el-button',{attrs:{"type":"primary","plain":_vm.confirmButtonPlain},on:{"click":_vm.handleConfirm}},[_vm._v(_vm._s(_vm.confirmButtonText || _vm.t('nb.button.confirm'))),(_vm.confirmButtonTime > -1)?[_vm._v("("+_vm._s(_vm.confirmAutoTime)+"S)")]:_vm._e()],2):_vm._e()]],2)],2)}
2946
2929
  var staticRenderFns = []
2947
2930
 
@@ -3157,6 +3140,7 @@ var mixins = __webpack_require__(5289);
3157
3140
  // 点击右上角关闭按钮
3158
3141
  handleClose() {
3159
3142
  this.$emit('update', false);
3143
+ this.$emit('close');
3160
3144
  },
3161
3145
  // 关闭弹框
3162
3146
  closedDialog() {
@@ -3184,7 +3168,7 @@ var component = (0,componentNormalizer/* default */.A)(
3184
3168
  staticRenderFns,
3185
3169
  false,
3186
3170
  null,
3187
- "144f3ca4",
3171
+ "63a48e3a",
3188
3172
  null
3189
3173
 
3190
3174
  )
@@ -3785,7 +3769,7 @@ src.install = function (Vue) {
3785
3769
 
3786
3770
  /***/ }),
3787
3771
 
3788
- /***/ 9239:
3772
+ /***/ 8360:
3789
3773
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3790
3774
 
3791
3775
  "use strict";
@@ -3797,7 +3781,7 @@ __webpack_require__.d(__webpack_exports__, {
3797
3781
  "default": function() { return /* binding */ NBFullscreenDialog; }
3798
3782
  });
3799
3783
 
3800
- ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBFullscreenDialog/src/index.vue?vue&type=template&id=5990c3a8&scoped=true
3784
+ ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBFullscreenDialog/src/index.vue?vue&type=template&id=f084d420&scoped=true
3801
3785
  var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:"nb-dialog__wrapper nb-fullscreen-dialog__wrapper",style:({ '--nb-fullscreen-dialog-top': (_vm.top + "px") }),attrs:{"visible":_vm.visible,"show-close":_vm.showClose,"close-on-click-modal":false,"close-on-press-escape":false,"modal":false,"fullscreen":"","append-to-body":"","destroy-on-close":"","custom-class":("nb-dialog nb-fullscreen-dialog " + _vm.customClass),"before-close":_vm.handleClose},on:{"closed":_vm.closedDialog}},[_vm._t("default"),_c('template',{slot:"footer"},[_vm._t("footer")],2)],2)}
3802
3786
  var staticRenderFns = []
3803
3787
 
@@ -3867,6 +3851,7 @@ var staticRenderFns = []
3867
3851
  methods: {
3868
3852
  handleClose() {
3869
3853
  this.$emit('update', false);
3854
+ this.$emit('close');
3870
3855
  },
3871
3856
  // 关闭弹框
3872
3857
  closedDialog() {
@@ -3892,7 +3877,7 @@ var component = (0,componentNormalizer/* default */.A)(
3892
3877
  staticRenderFns,
3893
3878
  false,
3894
3879
  null,
3895
- "5990c3a8",
3880
+ "f084d420",
3896
3881
  null
3897
3882
 
3898
3883
  )
@@ -4582,6 +4567,280 @@ src.install = function (Vue) {
4582
4567
 
4583
4568
  /***/ }),
4584
4569
 
4570
+ /***/ 1920:
4571
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4572
+
4573
+ "use strict";
4574
+ // ESM COMPAT FLAG
4575
+ __webpack_require__.r(__webpack_exports__);
4576
+
4577
+ // EXPORTS
4578
+ __webpack_require__.d(__webpack_exports__, {
4579
+ "default": function() { return /* binding */ NBInputFilter; }
4580
+ });
4581
+
4582
+ ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBInputFilter/src/index.vue?vue&type=template&id=07ebb246&scoped=true
4583
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"nb-input-filter",class:[_vm.isFocus ? 'is-focus' : '', _vm.size]},[_c('el-input',{ref:"input",attrs:{"size":_vm.size,"clearable":_vm.clearable,"disabled":_vm.disabled,"placeholder":_vm.placeholder},on:{"input":_vm.onInput,"focus":_vm.onInputFocus,"blur":_vm.onInputBlur,"clear":_vm.onInputClear},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:"inputValue"}}),_c('el-popover',{attrs:{"placement":"bottom-start","trigger":"manual","popper-class":("nb-select-filter-popover nb-select-filter-popover--" + _vm.size)},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:"visible"}},[(_vm.isRemote)?_c('ul',{staticClass:"nb-select-filter-options"},[(_vm.options.length === 0)?_c('li',{staticClass:"null"},[_vm._v(_vm._s(_vm.t('nb.msg.noData')))]):_vm._e(),_vm._l((_vm.options),function(item,index){return _c('li',{key:index,class:_vm.optionClass(item),on:{"click":function($event){$event.stopPropagation();return _vm.onChecked(item)}}},[_vm._v(" "+_vm._s(item[_vm.optionProps.label])+" ")])})],2):_c('ul',{staticClass:"nb-select-filter-options"},[(_vm.showOptions.length === 0)?_c('li',{staticClass:"null"},[_vm._v(_vm._s(_vm.t('nb.msg.noData')))]):_vm._e(),_vm._l((_vm.showOptions),function(item,index){return _c('li',{key:index,class:_vm.optionClass(item),on:{"click":function($event){$event.stopPropagation();return _vm.onChecked(item)}}},[_vm._v(" "+_vm._s(item[_vm.optionProps.label])+" ")])})],2)])],1)}
4584
+ var staticRenderFns = []
4585
+
4586
+
4587
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.constructor.js
4588
+ var esnext_iterator_constructor = __webpack_require__(8992);
4589
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.filter.js
4590
+ var esnext_iterator_filter = __webpack_require__(4520);
4591
+ // EXTERNAL MODULE: ./packages/mixins/index.js
4592
+ var mixins = __webpack_require__(5289);
4593
+ // EXTERNAL MODULE: ./packages/utils/util.js
4594
+ var util = __webpack_require__(7766);
4595
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBInputFilter/src/index.vue?vue&type=script&lang=js
4596
+
4597
+
4598
+ //
4599
+ //
4600
+ //
4601
+ //
4602
+ //
4603
+ //
4604
+ //
4605
+ //
4606
+ //
4607
+ //
4608
+ //
4609
+ //
4610
+ //
4611
+ //
4612
+ //
4613
+ //
4614
+ //
4615
+ //
4616
+ //
4617
+ //
4618
+ //
4619
+ //
4620
+ //
4621
+ //
4622
+ //
4623
+ //
4624
+ //
4625
+ //
4626
+ //
4627
+ //
4628
+ //
4629
+ //
4630
+ //
4631
+ //
4632
+ //
4633
+ //
4634
+ //
4635
+ //
4636
+ //
4637
+ //
4638
+ //
4639
+ //
4640
+ //
4641
+ //
4642
+ //
4643
+ //
4644
+
4645
+
4646
+
4647
+ /* harmony default export */ var srcvue_type_script_lang_js = ({
4648
+ name: 'NBInputFilter',
4649
+ mixins: [mixins/* default */.A],
4650
+ model: {
4651
+ prop: 'modelValue',
4652
+ event: 'input'
4653
+ },
4654
+ props: {
4655
+ // 输入框的值,使用v-model
4656
+ modelValue: [String, Array, Object, Boolean, Number, null],
4657
+ selected: {
4658
+ type: [String, Array, Object, Boolean, Number, null],
4659
+ default: null
4660
+ },
4661
+ loading: {
4662
+ type: Boolean,
4663
+ default: false
4664
+ },
4665
+ // 下拉选项数据
4666
+ options: {
4667
+ type: Array,
4668
+ default: () => {
4669
+ return [];
4670
+ }
4671
+ },
4672
+ // value 选中值,label 显示值
4673
+ props: {
4674
+ type: Object,
4675
+ default: () => {
4676
+ return {};
4677
+ }
4678
+ },
4679
+ // 大小:不指定:400*72px | mini: 184*48px | small:240*56px | medium:280*64px | large: 480*80px
4680
+ size: {
4681
+ type: String,
4682
+ default: ''
4683
+ },
4684
+ // 输入框的placeholder
4685
+ placeholder: {
4686
+ type: String,
4687
+ default: ''
4688
+ },
4689
+ // 是否禁用
4690
+ disabled: {
4691
+ type: Boolean,
4692
+ default: false
4693
+ },
4694
+ // 是否允许清除
4695
+ clearable: {
4696
+ type: Boolean,
4697
+ default: true
4698
+ }
4699
+ },
4700
+ data() {
4701
+ return {
4702
+ visible: false,
4703
+ isFocus: false,
4704
+ showOptions: this.options,
4705
+ checked: null
4706
+ };
4707
+ },
4708
+ computed: {
4709
+ // 输入框的值
4710
+ inputValue: {
4711
+ get() {
4712
+ // 获取传入的v-model
4713
+ return this.$props.modelValue;
4714
+ },
4715
+ set(newValue) {
4716
+ // 修改时同时修改v-model
4717
+ this.$emit('input', newValue);
4718
+ return newValue;
4719
+ }
4720
+ },
4721
+ // 是否是远程搜索
4722
+ isRemote() {
4723
+ return typeof this.$listeners['remote-method'] === 'function';
4724
+ },
4725
+ optionProps() {
4726
+ return Object.assign({
4727
+ value: 'value',
4728
+ label: 'label',
4729
+ filterText: 'filterText' // 名称首拼(用于本地筛选,远程搜索不需要)
4730
+ }, this.props);
4731
+ }
4732
+ },
4733
+ watch: {
4734
+ inputValue: {
4735
+ // 添加防抖
4736
+ handler: (0,util/* debounce */.sg)(function (val) {
4737
+ this.handleFilter();
4738
+ }, 300),
4739
+ immediate: true // 初始时立即执行一次
4740
+ }
4741
+ },
4742
+ created() {},
4743
+ mounted() {},
4744
+ beforeDestroy() {},
4745
+ methods: {
4746
+ onInput(value) {
4747
+ this.$emit('input', value);
4748
+ },
4749
+ onInputFocus() {
4750
+ this.visible = true;
4751
+ this.isFocus = true;
4752
+ },
4753
+ onInputBlur() {
4754
+ this.isFocus = false;
4755
+ this.visible = false;
4756
+ },
4757
+ onChecked(item) {
4758
+ this.inputValue = item[this.optionProps.label];
4759
+ this.checked = item;
4760
+ this.visible = false;
4761
+ this.$emit('change', item);
4762
+ },
4763
+ // 搜索
4764
+ handleFilter() {
4765
+ if (this.$listeners['remote-method']) {
4766
+ this.$emit('remote-method');
4767
+ } else {
4768
+ if (this.inputValue) {
4769
+ this.showOptions = this.options.filter(x => ((x[this.optionProps.filterText] || '') + (x[this.optionProps.label] || '')).toLowerCase().includes(this.inputValue.toLowerCase()));
4770
+ } else {
4771
+ this.showOptions = this.options;
4772
+ }
4773
+ }
4774
+ },
4775
+ // 选择项的class
4776
+ optionClass(item) {
4777
+ if (this.inputValue && ((item[this.optionProps.filterText] || '').toLowerCase() === this.inputValue.toLowerCase() || (item[this.optionProps.label] || '').toLowerCase() === this.inputValue.toLowerCase())) {
4778
+ return 'active';
4779
+ }
4780
+ },
4781
+ // 聚焦输入框并弹出键盘
4782
+ getFocus() {
4783
+ this.$nextTick(() => {
4784
+ if (this.$refs.input) {
4785
+ this.$refs.input.focus();
4786
+ // 模拟主动执行mouseup
4787
+ let e = new Event('mouseup', {
4788
+ bubbles: true,
4789
+ cancelable: true
4790
+ });
4791
+ const inputDOM = this.$refs.input.$el.querySelector('input');
4792
+ if (inputDOM) {
4793
+ inputDOM.dispatchEvent(e); // 主动触发事件
4794
+ }
4795
+ }
4796
+ });
4797
+ },
4798
+ onInputClear() {
4799
+ this.$emit('clear-input');
4800
+ }
4801
+ }
4802
+ });
4803
+ ;// ./packages/components/NBInputFilter/src/index.vue?vue&type=script&lang=js
4804
+ /* harmony default export */ var NBInputFilter_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
4805
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
4806
+ var componentNormalizer = __webpack_require__(1656);
4807
+ ;// ./packages/components/NBInputFilter/src/index.vue
4808
+
4809
+
4810
+
4811
+
4812
+
4813
+ /* normalize component */
4814
+ ;
4815
+ var component = (0,componentNormalizer/* default */.A)(
4816
+ NBInputFilter_srcvue_type_script_lang_js,
4817
+ render,
4818
+ staticRenderFns,
4819
+ false,
4820
+ null,
4821
+ "07ebb246",
4822
+ null
4823
+
4824
+ )
4825
+
4826
+ /* harmony default export */ var src = (component.exports);
4827
+ ;// ./packages/components/NBInputFilter/index.js
4828
+ /*
4829
+ * @Author: chenghuan.dong
4830
+ * @Date: 2024-11-12 11:27:05
4831
+ * @LastEditTime: 2024-11-12 14:38:34
4832
+ * @LastEditors: chenghuan.dong
4833
+ * @Description:
4834
+ * @FilePath: \nubomed-ui\packages\components\NBIcon\index.js
4835
+ */
4836
+
4837
+ src.install = function (Vue) {
4838
+ Vue.component(src.name, src);
4839
+ };
4840
+ /* harmony default export */ var NBInputFilter = (src);
4841
+
4842
+ /***/ }),
4843
+
4585
4844
  /***/ 8968:
4586
4845
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4587
4846
 
@@ -4821,7 +5080,7 @@ src.install = function (Vue) {
4821
5080
 
4822
5081
  /***/ }),
4823
5082
 
4824
- /***/ 7188:
5083
+ /***/ 4788:
4825
5084
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4826
5085
 
4827
5086
  "use strict";
@@ -4833,7 +5092,7 @@ __webpack_require__.d(__webpack_exports__, {
4833
5092
  "default": function() { return /* binding */ NBInputNumber; }
4834
5093
  });
4835
5094
 
4836
- ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBInputNumber/src/index.vue?vue&type=template&id=4de23754&scoped=true
5095
+ ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBInputNumber/src/index.vue?vue&type=template&id=1fbe8d2e&scoped=true
4837
5096
  var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"nb-input-number-box"},[_c('div',{staticClass:"nb-input-number",class:[_vm.size, ("color-" + _vm.type), ("" + (_vm.hasPrecision ? 'has-precision' : ''))]},[_c('span',{staticClass:"btn-minus",class:_vm.disabledMinus,on:{"click":function($event){$event.stopPropagation();return _vm.handlePlusMinus(-_vm.step, -1)}}},[_c('i',{staticClass:"el-icon-minus"})]),_c('div',{staticClass:"input"},[_c('input',{directives:[{name:"model",rawName:"v-model",value:(_vm.inputValue),expression:"inputValue"}],ref:"input",attrs:{"placeholder":_vm.placeholder,"disabled":_vm.disabled},domProps:{"value":(_vm.inputValue)},on:{"input":[function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value},_vm.handleInput],"blur":_vm.handleBlur}})]),_c('span',{staticClass:"btn-plus",class:_vm.disabledPlus,on:{"click":function($event){$event.stopPropagation();return _vm.handlePlusMinus(_vm.step, 1)}}},[_c('i',{staticClass:"el-icon-plus"})])])])}
4838
5097
  var staticRenderFns = []
4839
5098
 
@@ -4970,11 +5229,11 @@ var esnext_iterator_for_each = __webpack_require__(3949);
4970
5229
  watch: {
4971
5230
  value: {
4972
5231
  immediate: true,
4973
- handler(val) {
5232
+ handler(val, oldVal) {
4974
5233
  this.inputValue = val;
4975
5234
  this.$emit('input', val);
4976
5235
  this.$emit('update', val);
4977
- this.$emit('change', val);
5236
+ this.$emit('change', val, oldVal);
4978
5237
  }
4979
5238
  }
4980
5239
  },
@@ -5100,7 +5359,7 @@ var component = (0,componentNormalizer/* default */.A)(
5100
5359
  staticRenderFns,
5101
5360
  false,
5102
5361
  null,
5103
- "4de23754",
5362
+ "1fbe8d2e",
5104
5363
  null
5105
5364
 
5106
5365
  )
@@ -19307,7 +19566,7 @@ src.install = function (Vue) {
19307
19566
 
19308
19567
  /***/ }),
19309
19568
 
19310
- /***/ 9451:
19569
+ /***/ 1937:
19311
19570
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
19312
19571
 
19313
19572
  "use strict";
@@ -19319,11 +19578,13 @@ __webpack_require__.d(__webpack_exports__, {
19319
19578
  "default": function() { return /* binding */ NBPatientInfo; }
19320
19579
  });
19321
19580
 
19322
- ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBPatientInfo/src/index.vue?vue&type=template&id=166bcb98&scoped=true
19323
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"nb-patient-info"},[_c('strong',{staticClass:"patient__name"},[_vm._v(_vm._s(_vm.patient.sBedNum || '- -')+" "+_vm._s(_vm.patient.sPatientName))]),_c('i',{staticClass:"info-split"}),_c('span',[_vm._v(_vm._s(_vm.patient.sSex || '- -'))]),_c('i',{staticClass:"info-split"}),_c('span',[_vm._v(_vm._s(_vm.patient.sAge || '- -'))]),_c('i',{staticClass:"info-split"}),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sHospitalNO || _vm.patient.sHospitalNo || '- -'))]),_c('i',{staticClass:"info-split"}),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sPerationApplyID || '- -'))]),_c('i',{staticClass:"info-split"}),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sOperationName || '- -'))]),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sRoomName || '- -'))]),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sDeptName || '- -'))]),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sDoctorName || '- -'))]),_vm._t("default")],2)}
19581
+ ;// ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBPatientInfo/src/index.vue?vue&type=template&id=04f09a1d&scoped=true
19582
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"nb-patient-info"},[_c('strong',{staticClass:"patient__name"},[_vm._v(_vm._s(_vm.patient.sBedNum || '- -')+" "+_vm._s(_vm.patient.sPatientName))]),_c('i',{staticClass:"info-split"}),(_vm.showLabel)?_c('label',[_vm._v(_vm._s(_vm.t('nb.sex')))]):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.patient.sSex || '- -'))]),_c('i',{staticClass:"info-split"}),(_vm.showLabel)?_c('label',[_vm._v(_vm._s(_vm.t('nb.age')))]):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.patient.sAge || '- -'))]),_c('i',{staticClass:"info-split"}),(_vm.showLabel)?_c('label',[_vm._v(_vm._s(_vm.t('nb.inpatientNum')))]):_vm._e(),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sHospitalNO || _vm.patient.sHospitalNo || '- -'))]),_c('i',{staticClass:"info-split"}),(_vm.showLabel)?_c('label',[_vm._v(_vm._s(_vm.t('nb.opNum')))]):_vm._e(),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sPerationApplyID || '- -'))]),_c('i',{staticClass:"info-split"}),(_vm.showLabel)?_c('label',[_vm._v(_vm._s(_vm.t('nb.opName')))]):_vm._e(),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sOperationName || '- -'))]),(_vm.showLabel)?_c('label',{staticClass:"label-margin"},[_vm._v(_vm._s(_vm.t('nb.opRoom')))]):_vm._e(),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sRoomName || '- -'))]),(_vm.showLabel)?_c('label',{staticClass:"label-margin"},[_vm._v(_vm._s(_vm.t('nb.dept')))]):_vm._e(),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sDeptName || '- -'))]),(_vm.showLabel)?_c('label',{staticClass:"label-margin"},[_vm._v(_vm._s(_vm.t('nb.chiefSurgeonDoctor')))]):_vm._e(),_c('span',{staticClass:"patient__info"},[_vm._v(_vm._s(_vm.patient.sDoctorName || '- -'))]),_vm._t("default")],2)}
19324
19583
  var staticRenderFns = []
19325
19584
 
19326
19585
 
19586
+ // EXTERNAL MODULE: ./packages/mixins/index.js
19587
+ var mixins = __webpack_require__(5289);
19327
19588
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBPatientInfo/src/index.vue?vue&type=script&lang=js
19328
19589
  //
19329
19590
  //
@@ -19353,9 +19614,19 @@ var staticRenderFns = []
19353
19614
  //
19354
19615
  //
19355
19616
  //
19617
+ //
19618
+ //
19619
+ //
19620
+ //
19621
+ //
19622
+ //
19623
+ //
19624
+ //
19625
+
19356
19626
 
19357
19627
  /* harmony default export */ var srcvue_type_script_lang_js = ({
19358
19628
  name: 'NBPatientInfo',
19629
+ mixins: [mixins/* default */.A],
19359
19630
  props: {
19360
19631
  // 患者基本信息
19361
19632
  patient: {
@@ -19363,6 +19634,11 @@ var staticRenderFns = []
19363
19634
  default: () => {
19364
19635
  return {};
19365
19636
  }
19637
+ },
19638
+ // 是否显示label
19639
+ showLabel: {
19640
+ type: Boolean,
19641
+ default: false
19366
19642
  }
19367
19643
  }
19368
19644
  });
@@ -19384,7 +19660,7 @@ var component = (0,componentNormalizer/* default */.A)(
19384
19660
  staticRenderFns,
19385
19661
  false,
19386
19662
  null,
19387
- "166bcb98",
19663
+ "04f09a1d",
19388
19664
  null
19389
19665
 
19390
19666
  )
@@ -21738,6 +22014,87 @@ const trim = function (string) {
21738
22014
 
21739
22015
  /***/ }),
21740
22016
 
22017
+ /***/ 7766:
22018
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
22019
+
22020
+ "use strict";
22021
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22022
+ /* harmony export */ Dk: function() { return /* binding */ copyText; },
22023
+ /* harmony export */ sg: function() { return /* binding */ debounce; }
22024
+ /* harmony export */ });
22025
+ /* unused harmony exports hasOwn, throttle */
22026
+ /*
22027
+ * @Author: rui.zhang
22028
+ * @Date: 2024-12-03 16:17:07
22029
+ * @LastEditors: rui.zhang
22030
+ * @LastEditTime: 2025-03-12 11:20:52
22031
+ * @Description:
22032
+ */
22033
+ function hasOwn(obj, key) {
22034
+ return hasOwnProperty.call(obj, key);
22035
+ }
22036
+
22037
+ /**
22038
+ * @param {string} content 需要复制的内容文本
22039
+ */
22040
+ function copyText(content) {
22041
+ let copyEl = document.createElement('input');
22042
+ copyEl.style.position = 'fixed';
22043
+ copyEl.style.top = '0';
22044
+ copyEl.style.left = '-1000em';
22045
+ copyEl.readonly = 'readonly';
22046
+ document.body.appendChild(copyEl);
22047
+ copyEl.value = content;
22048
+ copyEl.focus();
22049
+ document.execCommand('selectAll');
22050
+ const res = document.execCommand('copy');
22051
+ copyEl.blur();
22052
+ document.body.removeChild(copyEl);
22053
+ return res;
22054
+ }
22055
+
22056
+ /**
22057
+ * 节流函数
22058
+ * 思路:在规定时间内只触发一次
22059
+ * @param {Function} fn 函数
22060
+ * @param {Number} delay 规定时间内触发一次
22061
+ */
22062
+ function throttle(fn, delay) {
22063
+ // 利用闭包保存时间
22064
+ let prev = Date.now();
22065
+ return function () {
22066
+ let context = this;
22067
+ let arg = arguments;
22068
+ let now = Date.now();
22069
+ if (now - prev >= delay) {
22070
+ fn.apply(context, arg);
22071
+ prev = Date.now();
22072
+ }
22073
+ };
22074
+ }
22075
+
22076
+ /**
22077
+ * 防抖函数
22078
+ * 思路:在规定时间内未触发第二次,则执行
22079
+ * @param {Function} fn 函数
22080
+ * @param {Number} delay 在规定时间内未触发第二次,则执行
22081
+ */
22082
+ function debounce(fn, delay) {
22083
+ // 利用闭包保存定时器
22084
+ let timer = null;
22085
+ return function () {
22086
+ let context = this;
22087
+ let arg = arguments;
22088
+ // 在规定时间内再次触发会先清除定时器后再重设定时器
22089
+ clearTimeout(timer);
22090
+ timer = setTimeout(function () {
22091
+ fn.apply(context, arg);
22092
+ }, delay);
22093
+ };
22094
+ }
22095
+
22096
+ /***/ }),
22097
+
21741
22098
  /***/ 5853:
21742
22099
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21743
22100
 
@@ -23307,7 +23664,7 @@ webpackContext.id = 1603;
23307
23664
  var map = {
23308
23665
  "./NBBadge/index.js": 5191,
23309
23666
  "./NBBarcodeCard/index.js": 1678,
23310
- "./NBBarcodeReviewDialog/index.js": 3789,
23667
+ "./NBBarcodeReviewDialog/index.js": 1829,
23311
23668
  "./NBBattery/index.js": 5847,
23312
23669
  "./NBCabinetBall/index.js": 7871,
23313
23670
  "./NBCabinetInventoryCarousel/index.js": 3213,
@@ -23317,19 +23674,20 @@ var map = {
23317
23674
  "./NBCheckboxGroup/index.js": 9941,
23318
23675
  "./NBDatePicker/index.js": 7357,
23319
23676
  "./NBDaterangePicker/index.js": 823,
23320
- "./NBDialog/index.js": 7341,
23677
+ "./NBDialog/index.js": 4841,
23321
23678
  "./NBEmpty/index.js": 4655,
23322
23679
  "./NBExpiryCard/index.js": 8883,
23323
23680
  "./NBExpiryIcon/index.js": 7970,
23324
23681
  "./NBFooter/index.js": 9560,
23325
- "./NBFullscreenDialog/index.js": 9239,
23682
+ "./NBFullscreenDialog/index.js": 8360,
23326
23683
  "./NBGridMenu/index.js": 3052,
23327
23684
  "./NBGroupList/index.js": 4528,
23328
23685
  "./NBGroupListItem/index.js": 4934,
23329
23686
  "./NBHeader/index.js": 5526,
23330
23687
  "./NBIcon/index.js": 384,
23688
+ "./NBInputFilter/index.js": 1920,
23331
23689
  "./NBInputGroup/index.js": 8968,
23332
- "./NBInputNumber/index.js": 7188,
23690
+ "./NBInputNumber/index.js": 4788,
23333
23691
  "./NBInputTime/index.js": 3329,
23334
23692
  "./NBKeyboard/index.js": 3652,
23335
23693
  "./NBLayout/index.js": 7234,
@@ -23344,7 +23702,7 @@ var map = {
23344
23702
  "./NBOutFooterDialog/index.js": 5704,
23345
23703
  "./NBPagination/index.js": 2372,
23346
23704
  "./NBPatientCard/index.js": 9082,
23347
- "./NBPatientInfo/index.js": 9451,
23705
+ "./NBPatientInfo/index.js": 1937,
23348
23706
  "./NBProgress/index.js": 7180,
23349
23707
  "./NBRadioGroup/index.js": 894,
23350
23708
  "./NBReagentType/index.js": 5083,
@@ -26331,7 +26689,7 @@ var esnext_iterator_constructor = __webpack_require__(8992);
26331
26689
  // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.for-each.js
26332
26690
  var esnext_iterator_for_each = __webpack_require__(3949);
26333
26691
  ;// ./package.json
26334
- var package_namespaceObject = {"rE":"2.0.176"};
26692
+ var package_namespaceObject = {"rE":"2.0.178"};
26335
26693
  ;// ./packages/utils/convert.js
26336
26694
  /**
26337
26695
  * 将大驼峰(camelCase)字符串转换为小写且带有空格分隔的形式(kebab-case)
@@ -26394,9 +26752,16 @@ const nbConfirm = (MessageBox, obj) => {
26394
26752
  if (!obj.type) {
26395
26753
  customClass += ' nb-confirm--no-icon';
26396
26754
  }
26755
+
26756
+ // 如果有showClose属性,则以其为准
26757
+ let showClose = false; // 是否显示showClose按钮
26758
+ if (typeof obj.showClose === 'boolean') {
26759
+ showClose = obj.showClose;
26760
+ }
26761
+ // 如果未指定showClose,则根据是否指定type(即是否显示图标)来决定是否显示showClose按钮
26397
26762
  return MessageBox.confirm(getHtml(obj), '', {
26398
26763
  dangerouslyUseHTMLString: true,
26399
- showClose: false,
26764
+ showClose: showClose,
26400
26765
  showCancelButton: true,
26401
26766
  cancelButtonText: obj.cancelButtonText,
26402
26767
  cancelButtonClass: cancelButtonClass,
@@ -26450,9 +26815,15 @@ const nbAlert = (MessageBox, obj) => {
26450
26815
  if (!obj.type) {
26451
26816
  customClass += ' nb-alert--no-icon';
26452
26817
  }
26818
+
26819
+ // 如果有showClose属性,则以其为准
26820
+ let showClose = false; // 是否显示showClose按钮
26821
+ if (typeof obj.showClose === 'boolean') {
26822
+ showClose = obj.showClose;
26823
+ }
26453
26824
  return MessageBox.alert(getHtml(obj), '', {
26454
26825
  dangerouslyUseHTMLString: true,
26455
- showClose: false,
26826
+ showClose: showClose,
26456
26827
  confirmButtonText: obj.confirmButtonText || obj.buttonText,
26457
26828
  confirmButtonClass: confirmButtonClass,
26458
26829
  closeOnClickModal: false,