nubomed-ui 2.0.165 → 2.0.167
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.
- package/css/element-ui/index.css +1 -1
- package/css/nb-ui/index.css +1 -1
- package/nubomed-ui.common.js +553 -9
- package/nubomed-ui.umd.js +553 -9
- package/nubomed-ui.umd.min.js +2 -2
- package/package.json +1 -1
package/nubomed-ui.umd.js
CHANGED
@@ -4227,6 +4227,548 @@ src.install = function (Vue) {
|
|
4227
4227
|
|
4228
4228
|
/***/ }),
|
4229
4229
|
|
4230
|
+
/***/ 38:
|
4231
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4232
|
+
|
4233
|
+
"use strict";
|
4234
|
+
// ESM COMPAT FLAG
|
4235
|
+
__webpack_require__.r(__webpack_exports__);
|
4236
|
+
|
4237
|
+
// EXPORTS
|
4238
|
+
__webpack_require__.d(__webpack_exports__, {
|
4239
|
+
"default": function() { return /* binding */ NBInputGroup; }
|
4240
|
+
});
|
4241
|
+
|
4242
|
+
;// ./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/NBInputGroup/src/index.vue?vue&type=template&id=516f7b80&scoped=true
|
4243
|
+
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-group",class:[_vm.isFocus ? 'is-focus' : '', _vm.size]},[_c('el-input',{attrs:{"size":_vm.size,"clearable":_vm.clearable,"disabled":_vm.disabled,"placeholder":_vm.placeholder},on:{"input":_vm.onInput,"focus":_vm.onInputFocus,"blur":_vm.onInputBlur},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:"inputValue"}},[_c('el-select',{attrs:{"slot":"prepend","size":_vm.size,"popper-class":("el-select-dropdown--" + _vm.size),"placeholder":_vm.t('nb.form.pleaseSelect') || _vm.selectPlaceholder,"disabled":_vm.disabled,"clearable":false},on:{"change":_vm.onSelectChange},slot:"prepend",model:{value:(_vm.selectValue),callback:function ($$v) {_vm.selectValue=$$v},expression:"selectValue"}},[_vm._t("default",_vm._l((_vm.options),function(item){return _c('el-option',{key:item[_vm.optionProps.value],attrs:{"label":item[_vm.optionProps.label],"value":item[_vm.optionProps.value]}})}))],2)],1),_c('div',{staticClass:"bottom-position"},[(_vm.list.length && _vm.visible)?_c('div',{staticClass:"nb-input-group-popover"},[_c('ul',{staticClass:"select-container"},_vm._l((_vm.list),function(item,index){return _c('li',{key:index,staticClass:"select-item",class:item.checked ? 'is-checked' : '',domProps:{"innerHTML":_vm._s(item.html)},on:{"click":function($event){$event.stopPropagation();return _vm.onChecked(item)}}})}),0)]):_vm._e()])],1)}
|
4244
|
+
var staticRenderFns = []
|
4245
|
+
|
4246
|
+
|
4247
|
+
// EXTERNAL MODULE: ./packages/mixins/index.js
|
4248
|
+
var mixins = __webpack_require__(869);
|
4249
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-80.use[1]!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBInputGroup/src/index.vue?vue&type=script&lang=js
|
4250
|
+
//
|
4251
|
+
//
|
4252
|
+
//
|
4253
|
+
//
|
4254
|
+
//
|
4255
|
+
//
|
4256
|
+
//
|
4257
|
+
//
|
4258
|
+
//
|
4259
|
+
//
|
4260
|
+
//
|
4261
|
+
//
|
4262
|
+
//
|
4263
|
+
//
|
4264
|
+
//
|
4265
|
+
//
|
4266
|
+
//
|
4267
|
+
//
|
4268
|
+
//
|
4269
|
+
//
|
4270
|
+
//
|
4271
|
+
//
|
4272
|
+
//
|
4273
|
+
//
|
4274
|
+
//
|
4275
|
+
//
|
4276
|
+
//
|
4277
|
+
//
|
4278
|
+
//
|
4279
|
+
//
|
4280
|
+
//
|
4281
|
+
//
|
4282
|
+
//
|
4283
|
+
//
|
4284
|
+
//
|
4285
|
+
//
|
4286
|
+
//
|
4287
|
+
//
|
4288
|
+
//
|
4289
|
+
//
|
4290
|
+
//
|
4291
|
+
//
|
4292
|
+
//
|
4293
|
+
//
|
4294
|
+
//
|
4295
|
+
//
|
4296
|
+
//
|
4297
|
+
//
|
4298
|
+
//
|
4299
|
+
//
|
4300
|
+
//
|
4301
|
+
//
|
4302
|
+
|
4303
|
+
|
4304
|
+
/* harmony default export */ var srcvue_type_script_lang_js = ({
|
4305
|
+
name: 'NBInputGroup',
|
4306
|
+
mixins: [mixins/* default */.A],
|
4307
|
+
props: {
|
4308
|
+
// 输入框的值,使用v-model
|
4309
|
+
value: {
|
4310
|
+
type: [Array, Number, String],
|
4311
|
+
default: null
|
4312
|
+
},
|
4313
|
+
// 下拉框的值,使用:select.sync
|
4314
|
+
select: {
|
4315
|
+
type: [Number, String],
|
4316
|
+
default: null
|
4317
|
+
},
|
4318
|
+
// 搜索结果列表
|
4319
|
+
list: {
|
4320
|
+
type: Array,
|
4321
|
+
default: () => {
|
4322
|
+
return [];
|
4323
|
+
}
|
4324
|
+
},
|
4325
|
+
loading: {
|
4326
|
+
type: Boolean,
|
4327
|
+
default: true
|
4328
|
+
},
|
4329
|
+
// 选项数据
|
4330
|
+
options: {
|
4331
|
+
type: Array,
|
4332
|
+
default: () => {
|
4333
|
+
return [];
|
4334
|
+
}
|
4335
|
+
},
|
4336
|
+
// value 选中值,label 显示值
|
4337
|
+
props: {
|
4338
|
+
type: Object,
|
4339
|
+
default: () => {
|
4340
|
+
return {};
|
4341
|
+
}
|
4342
|
+
},
|
4343
|
+
// 大小:mini / small / medium / large
|
4344
|
+
size: {
|
4345
|
+
type: String,
|
4346
|
+
default: 'medium'
|
4347
|
+
},
|
4348
|
+
// 拉框下的placeholder
|
4349
|
+
selectPlaceholder: {
|
4350
|
+
type: String,
|
4351
|
+
default: ''
|
4352
|
+
},
|
4353
|
+
// 输入框的placeholder
|
4354
|
+
placeholder: {
|
4355
|
+
type: String,
|
4356
|
+
default: ''
|
4357
|
+
},
|
4358
|
+
// 是否禁用
|
4359
|
+
disabled: {
|
4360
|
+
type: Boolean,
|
4361
|
+
default: false
|
4362
|
+
},
|
4363
|
+
// 是否允许清除
|
4364
|
+
clearable: {
|
4365
|
+
type: Boolean,
|
4366
|
+
default: true
|
4367
|
+
}
|
4368
|
+
},
|
4369
|
+
data() {
|
4370
|
+
return {
|
4371
|
+
visible: false,
|
4372
|
+
isFocus: false,
|
4373
|
+
checked: null
|
4374
|
+
};
|
4375
|
+
},
|
4376
|
+
computed: {
|
4377
|
+
selectValue: {
|
4378
|
+
get() {
|
4379
|
+
return this.$props.select;
|
4380
|
+
},
|
4381
|
+
set(newValue) {
|
4382
|
+
this.$emit('update:select', newValue);
|
4383
|
+
}
|
4384
|
+
},
|
4385
|
+
inputValue: {
|
4386
|
+
get() {
|
4387
|
+
return this.$props.value;
|
4388
|
+
},
|
4389
|
+
set(newValue) {
|
4390
|
+
this.$emit('input', newValue);
|
4391
|
+
}
|
4392
|
+
},
|
4393
|
+
optionProps() {
|
4394
|
+
return Object.assign({
|
4395
|
+
value: 'value',
|
4396
|
+
label: 'label'
|
4397
|
+
}, this.props);
|
4398
|
+
}
|
4399
|
+
},
|
4400
|
+
watch: {},
|
4401
|
+
created() {},
|
4402
|
+
mounted() {},
|
4403
|
+
beforeDestroy() {},
|
4404
|
+
filters: {},
|
4405
|
+
methods: {
|
4406
|
+
onSelectChange(value) {
|
4407
|
+
this.$emit('change', value);
|
4408
|
+
// 切换下拉框,清空之前输入值
|
4409
|
+
this.$emit('input', null);
|
4410
|
+
},
|
4411
|
+
onInput(value) {
|
4412
|
+
this.$emit('input', value);
|
4413
|
+
},
|
4414
|
+
onInputFocus() {
|
4415
|
+
this.visible = true;
|
4416
|
+
this.isFocus = true;
|
4417
|
+
},
|
4418
|
+
onInputBlur() {
|
4419
|
+
this.isFocus = false;
|
4420
|
+
},
|
4421
|
+
onChecked(item) {
|
4422
|
+
this.checked = item;
|
4423
|
+
this.visible = false;
|
4424
|
+
this.$emit('checked', item);
|
4425
|
+
}
|
4426
|
+
}
|
4427
|
+
});
|
4428
|
+
;// ./packages/components/NBInputGroup/src/index.vue?vue&type=script&lang=js
|
4429
|
+
/* harmony default export */ var NBInputGroup_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
|
4430
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
4431
|
+
var componentNormalizer = __webpack_require__(1656);
|
4432
|
+
;// ./packages/components/NBInputGroup/src/index.vue
|
4433
|
+
|
4434
|
+
|
4435
|
+
|
4436
|
+
|
4437
|
+
|
4438
|
+
/* normalize component */
|
4439
|
+
;
|
4440
|
+
var component = (0,componentNormalizer/* default */.A)(
|
4441
|
+
NBInputGroup_srcvue_type_script_lang_js,
|
4442
|
+
render,
|
4443
|
+
staticRenderFns,
|
4444
|
+
false,
|
4445
|
+
null,
|
4446
|
+
"516f7b80",
|
4447
|
+
null
|
4448
|
+
|
4449
|
+
)
|
4450
|
+
|
4451
|
+
/* harmony default export */ var src = (component.exports);
|
4452
|
+
;// ./packages/components/NBInputGroup/index.js
|
4453
|
+
/*
|
4454
|
+
* @Author: chenghuan.dong
|
4455
|
+
* @Date: 2024-11-12 11:27:05
|
4456
|
+
* @LastEditTime: 2024-11-12 14:38:34
|
4457
|
+
* @LastEditors: chenghuan.dong
|
4458
|
+
* @Description:
|
4459
|
+
* @FilePath: \nubomed-ui\packages\components\NBIcon\index.js
|
4460
|
+
*/
|
4461
|
+
|
4462
|
+
src.install = function (Vue) {
|
4463
|
+
Vue.component(src.name, src);
|
4464
|
+
};
|
4465
|
+
/* harmony default export */ var NBInputGroup = (src);
|
4466
|
+
|
4467
|
+
/***/ }),
|
4468
|
+
|
4469
|
+
/***/ 8617:
|
4470
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4471
|
+
|
4472
|
+
"use strict";
|
4473
|
+
// ESM COMPAT FLAG
|
4474
|
+
__webpack_require__.r(__webpack_exports__);
|
4475
|
+
|
4476
|
+
// EXPORTS
|
4477
|
+
__webpack_require__.d(__webpack_exports__, {
|
4478
|
+
"default": function() { return /* binding */ NBInputNumber; }
|
4479
|
+
});
|
4480
|
+
|
4481
|
+
;// ./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=ec19b46c&scoped=true
|
4482
|
+
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"})])])])}
|
4483
|
+
var staticRenderFns = []
|
4484
|
+
|
4485
|
+
|
4486
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.constructor.js
|
4487
|
+
var esnext_iterator_constructor = __webpack_require__(8992);
|
4488
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.for-each.js
|
4489
|
+
var esnext_iterator_for_each = __webpack_require__(3949);
|
4490
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-80.use[1]!./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=script&lang=js
|
4491
|
+
|
4492
|
+
|
4493
|
+
//
|
4494
|
+
//
|
4495
|
+
//
|
4496
|
+
//
|
4497
|
+
//
|
4498
|
+
//
|
4499
|
+
//
|
4500
|
+
//
|
4501
|
+
//
|
4502
|
+
//
|
4503
|
+
//
|
4504
|
+
//
|
4505
|
+
//
|
4506
|
+
//
|
4507
|
+
//
|
4508
|
+
//
|
4509
|
+
//
|
4510
|
+
//
|
4511
|
+
//
|
4512
|
+
//
|
4513
|
+
//
|
4514
|
+
//
|
4515
|
+
//
|
4516
|
+
//
|
4517
|
+
|
4518
|
+
/* harmony default export */ var srcvue_type_script_lang_js = ({
|
4519
|
+
name: 'NBInputNumber',
|
4520
|
+
// 计数器
|
4521
|
+
// 使用v-model即可
|
4522
|
+
model: {
|
4523
|
+
prop: 'value',
|
4524
|
+
event: 'update'
|
4525
|
+
},
|
4526
|
+
props: {
|
4527
|
+
// placeholder
|
4528
|
+
placeholder: {
|
4529
|
+
type: String,
|
4530
|
+
default: ''
|
4531
|
+
},
|
4532
|
+
// 默认值
|
4533
|
+
value: {
|
4534
|
+
type: [String, Number, null, undefined],
|
4535
|
+
default: ''
|
4536
|
+
},
|
4537
|
+
// 尺寸大小,默认小尺寸
|
4538
|
+
size: {
|
4539
|
+
type: String,
|
4540
|
+
default: 'mini' // medium-大尺寸 / small-中尺寸 / mini-小尺寸
|
4541
|
+
},
|
4542
|
+
// 是否带小数点(输入框长度不一样)
|
4543
|
+
hasPrecision: {
|
4544
|
+
type: Boolean,
|
4545
|
+
default: false
|
4546
|
+
},
|
4547
|
+
// 最小值
|
4548
|
+
min: {
|
4549
|
+
type: [Number, String]
|
4550
|
+
},
|
4551
|
+
// 最大值
|
4552
|
+
max: {
|
4553
|
+
type: [Number, String]
|
4554
|
+
},
|
4555
|
+
// 色值类型:'pirmary'-主题色蓝色 / 'default'-主题色黑色 / 'danger'-异常颜色红色 / 'warning'-警告橙色 / 'success'-成功绿色
|
4556
|
+
type: {
|
4557
|
+
type: [String, null, undefined],
|
4558
|
+
default: 'pirmary'
|
4559
|
+
},
|
4560
|
+
// 计数器步长
|
4561
|
+
step: {
|
4562
|
+
type: [Number],
|
4563
|
+
default: 1
|
4564
|
+
},
|
4565
|
+
// 是否禁用
|
4566
|
+
disabled: {
|
4567
|
+
type: Boolean,
|
4568
|
+
default: false
|
4569
|
+
},
|
4570
|
+
// 严格步数 (只能输入步数的倍数)
|
4571
|
+
stepStrictly: {
|
4572
|
+
type: Boolean,
|
4573
|
+
default: false
|
4574
|
+
}
|
4575
|
+
},
|
4576
|
+
data() {
|
4577
|
+
return {
|
4578
|
+
checkTimer: null,
|
4579
|
+
inputValue: this.value // 输入框的值
|
4580
|
+
};
|
4581
|
+
},
|
4582
|
+
computed: {
|
4583
|
+
// 步长精度 - 小数点后面的位数
|
4584
|
+
fixNum() {
|
4585
|
+
if (this.step === undefined) return 0;
|
4586
|
+
const valueString = this.step.toString();
|
4587
|
+
const dotPosition = valueString.indexOf('.');
|
4588
|
+
let precision = 0;
|
4589
|
+
if (dotPosition !== -1) {
|
4590
|
+
precision = valueString.length - dotPosition - 1;
|
4591
|
+
}
|
4592
|
+
return precision;
|
4593
|
+
},
|
4594
|
+
disabledMinus() {
|
4595
|
+
if (this.disabled === true) {
|
4596
|
+
return 'disabled';
|
4597
|
+
}
|
4598
|
+
return (Number(this.inputValue) - this.step).toFixed(this.fixNum) < this.min ? 'disabled' : '';
|
4599
|
+
},
|
4600
|
+
disabledPlus() {
|
4601
|
+
if (this.disabled === true) {
|
4602
|
+
return 'disabled';
|
4603
|
+
}
|
4604
|
+
return (Number(this.inputValue) + this.step).toFixed(this.fixNum) > this.max ? 'disabled' : '';
|
4605
|
+
}
|
4606
|
+
},
|
4607
|
+
mounted() {
|
4608
|
+
this.monitorKeyboardEnter();
|
4609
|
+
// 初始化时 校验一下最大最小值 步长精度
|
4610
|
+
this.handleBlur();
|
4611
|
+
},
|
4612
|
+
beforeDestroy() {
|
4613
|
+
clearTimeout(this.checkTimer);
|
4614
|
+
},
|
4615
|
+
watch: {
|
4616
|
+
value: {
|
4617
|
+
immediate: true,
|
4618
|
+
handler(val) {
|
4619
|
+
this.inputValue = val;
|
4620
|
+
this.$emit('input', val);
|
4621
|
+
this.$emit('update', val);
|
4622
|
+
this.$emit('change', val);
|
4623
|
+
}
|
4624
|
+
}
|
4625
|
+
},
|
4626
|
+
methods: {
|
4627
|
+
// 监听键盘的Enter键被按下
|
4628
|
+
monitorKeyboardEnter() {
|
4629
|
+
this.$nextTick(() => {
|
4630
|
+
document.querySelectorAll('input').forEach(input => {
|
4631
|
+
input.addEventListener('confirm', e => {
|
4632
|
+
clearTimeout(this.checkTimer);
|
4633
|
+
this.checkTimer = setTimeout(() => {
|
4634
|
+
// 修复点击键盘确定时,页面数据不刷新的问题
|
4635
|
+
this.handleBlur();
|
4636
|
+
}, 10);
|
4637
|
+
}, false);
|
4638
|
+
});
|
4639
|
+
});
|
4640
|
+
},
|
4641
|
+
// 输入限制
|
4642
|
+
handleInput() {
|
4643
|
+
let inputValue = this.inputValue;
|
4644
|
+
|
4645
|
+
// 只允许数字、小数点、负号
|
4646
|
+
let filteredValue = inputValue.replace(/[^0-9.-]/g, '');
|
4647
|
+
|
4648
|
+
// 确保只有一个负号,并且负号在开头
|
4649
|
+
let minusCount = (filteredValue.match(/-/g) || []).length;
|
4650
|
+
if (minusCount > 1) {
|
4651
|
+
filteredValue = filteredValue.replace(/-/g, '');
|
4652
|
+
filteredValue = '-' + filteredValue.replace(/-/g, '');
|
4653
|
+
} else if (minusCount === 1 && filteredValue.indexOf('-') !== 0) {
|
4654
|
+
filteredValue = filteredValue.replace(/-/g, '');
|
4655
|
+
filteredValue = '-' + filteredValue;
|
4656
|
+
}
|
4657
|
+
|
4658
|
+
// 如果有多个小数点,删除最后一个
|
4659
|
+
let decimalCount = (filteredValue.match(/\./g) || []).length;
|
4660
|
+
if (decimalCount > 1) {
|
4661
|
+
filteredValue = filteredValue.slice(0, -1);
|
4662
|
+
}
|
4663
|
+
this.inputValue = filteredValue;
|
4664
|
+
},
|
4665
|
+
// 失焦时判断严格步数 最大最小值
|
4666
|
+
handleBlur() {
|
4667
|
+
if (this.inputValue < this.min) {
|
4668
|
+
this.inputValue = this.min;
|
4669
|
+
}
|
4670
|
+
if (this.inputValue > this.max) {
|
4671
|
+
this.inputValue = this.max;
|
4672
|
+
}
|
4673
|
+
// 严格步数 值只能为步数的倍数
|
4674
|
+
if (this.stepStrictly) {
|
4675
|
+
this.inputValue = (Math.round(this.inputValue / this.step) * this.step).toFixed(this.fixNum);
|
4676
|
+
// 四舍五入后 可能超过最大值 要减去一个步长
|
4677
|
+
if (this.inputValue > this.max) {
|
4678
|
+
this.inputValue = (this.inputValue - this.step).toFixed(this.fixNum);
|
4679
|
+
}
|
4680
|
+
} else {
|
4681
|
+
this.inputValue = Number(this.inputValue).toFixed(this.fixNum);
|
4682
|
+
}
|
4683
|
+
this.$emit('update', Number(this.inputValue));
|
4684
|
+
},
|
4685
|
+
// 加减
|
4686
|
+
handlePlusMinus(step, type) {
|
4687
|
+
if (typeof Number(this.inputValue) !== 'number' || isNaN(Number(this.inputValue))) {
|
4688
|
+
return;
|
4689
|
+
}
|
4690
|
+
if (this.disabledPlus && type === 1) {
|
4691
|
+
return;
|
4692
|
+
}
|
4693
|
+
if (this.disabledMinus && type === -1) {
|
4694
|
+
return;
|
4695
|
+
}
|
4696
|
+
|
4697
|
+
// 通过将值转换为整数来解决JS十进制计算的精度问题
|
4698
|
+
let precisionFactor = Math.pow(10, this.fixNum); // 10的n次幂 n为精度
|
4699
|
+
let result = (precisionFactor * this.inputValue + precisionFactor * step) / precisionFactor; // 乘法仍然由精度问题 需要toFixed处理结果
|
4700
|
+
|
4701
|
+
result = Number(result.toFixed(this.fixNum));
|
4702
|
+
this.$set(this, 'inputValue', result);
|
4703
|
+
if (this.inputValue < this.min) {
|
4704
|
+
this.inputValue = this.min;
|
4705
|
+
return;
|
4706
|
+
}
|
4707
|
+
if (this.inputValue > this.max) {
|
4708
|
+
this.inputValue = this.max;
|
4709
|
+
return;
|
4710
|
+
}
|
4711
|
+
this.$emit('update', this.inputValue);
|
4712
|
+
},
|
4713
|
+
// 聚焦输入框并弹出键盘
|
4714
|
+
getFocus() {
|
4715
|
+
this.$nextTick(() => {
|
4716
|
+
if (this.$refs.input) {
|
4717
|
+
this.$refs.input.focus();
|
4718
|
+
}
|
4719
|
+
// // 模拟主动执行mouseup
|
4720
|
+
// let evObj = document.createEvent('MouseEvents')
|
4721
|
+
// evObj.initMouseEvent( 'mouseup', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null )
|
4722
|
+
// this.$refs.input.dispatchEvent(evObj)// 即触发了click事件
|
4723
|
+
|
4724
|
+
let e = document.createEvent('MouseEvents');
|
4725
|
+
e.initEvent('mouseup', true, true);
|
4726
|
+
this.$refs.input.dispatchEvent(e);
|
4727
|
+
});
|
4728
|
+
}
|
4729
|
+
}
|
4730
|
+
});
|
4731
|
+
;// ./packages/components/NBInputNumber/src/index.vue?vue&type=script&lang=js
|
4732
|
+
/* harmony default export */ var NBInputNumber_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
|
4733
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
4734
|
+
var componentNormalizer = __webpack_require__(1656);
|
4735
|
+
;// ./packages/components/NBInputNumber/src/index.vue
|
4736
|
+
|
4737
|
+
|
4738
|
+
|
4739
|
+
|
4740
|
+
|
4741
|
+
/* normalize component */
|
4742
|
+
;
|
4743
|
+
var component = (0,componentNormalizer/* default */.A)(
|
4744
|
+
NBInputNumber_srcvue_type_script_lang_js,
|
4745
|
+
render,
|
4746
|
+
staticRenderFns,
|
4747
|
+
false,
|
4748
|
+
null,
|
4749
|
+
"ec19b46c",
|
4750
|
+
null
|
4751
|
+
|
4752
|
+
)
|
4753
|
+
|
4754
|
+
/* harmony default export */ var src = (component.exports);
|
4755
|
+
;// ./packages/components/NBInputNumber/index.js
|
4756
|
+
/*
|
4757
|
+
* @Author: chenghuan.dong
|
4758
|
+
* @Date: 2024-11-12 11:27:05
|
4759
|
+
* @LastEditTime: 2024-11-12 14:38:34
|
4760
|
+
* @LastEditors: chenghuan.dong
|
4761
|
+
* @Description:
|
4762
|
+
* @FilePath: \nubomed-ui\packages\components\NBIcon\index.js
|
4763
|
+
*/
|
4764
|
+
|
4765
|
+
src.install = function (Vue) {
|
4766
|
+
Vue.component(src.name, src);
|
4767
|
+
};
|
4768
|
+
/* harmony default export */ var NBInputNumber = (src);
|
4769
|
+
|
4770
|
+
/***/ }),
|
4771
|
+
|
4230
4772
|
/***/ 640:
|
4231
4773
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4232
4774
|
|
@@ -4701,7 +5243,7 @@ src.install = function (Vue) {
|
|
4701
5243
|
|
4702
5244
|
/***/ }),
|
4703
5245
|
|
4704
|
-
/***/
|
5246
|
+
/***/ 9885:
|
4705
5247
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4706
5248
|
|
4707
5249
|
"use strict";
|
@@ -4877,9 +5419,9 @@ var NBAside_component = (0,componentNormalizer/* default */.A)(
|
|
4877
5419
|
)
|
4878
5420
|
|
4879
5421
|
/* harmony default export */ var NBAside = (NBAside_component.exports);
|
4880
|
-
;// ./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/NBLayout/src/NBMain.vue?vue&type=template&id=
|
4881
|
-
var
|
4882
|
-
var
|
5422
|
+
;// ./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/NBLayout/src/NBMain.vue?vue&type=template&id=3a34b7bd
|
5423
|
+
var NBMainvue_type_template_id_3a34b7bd_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"nb-main",class:_vm.divClass,style:(_vm.style)},[_vm._t("default")],2)}
|
5424
|
+
var NBMainvue_type_template_id_3a34b7bd_staticRenderFns = []
|
4883
5425
|
|
4884
5426
|
|
4885
5427
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-80.use[1]!./node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./packages/components/NBLayout/src/NBMain.vue?vue&type=script&lang=js
|
@@ -4917,7 +5459,7 @@ var NBMainvue_type_template_id_26cf445b_staticRenderFns = []
|
|
4917
5459
|
type: String,
|
4918
5460
|
default: '',
|
4919
5461
|
validator(value) {
|
4920
|
-
return ['', 'column', 'row'].includes(value);
|
5462
|
+
return ['', 'column', 'row', 'column-center', 'row-center'].includes(value);
|
4921
5463
|
}
|
4922
5464
|
},
|
4923
5465
|
// 是否有NBSummaryBar,且NBSummaryBar是fixed=bottom
|
@@ -4967,8 +5509,8 @@ var NBMainvue_type_template_id_26cf445b_staticRenderFns = []
|
|
4967
5509
|
;
|
4968
5510
|
var NBMain_component = (0,componentNormalizer/* default */.A)(
|
4969
5511
|
src_NBMainvue_type_script_lang_js,
|
4970
|
-
|
4971
|
-
|
5512
|
+
NBMainvue_type_template_id_3a34b7bd_render,
|
5513
|
+
NBMainvue_type_template_id_3a34b7bd_staticRenderFns,
|
4972
5514
|
false,
|
4973
5515
|
null,
|
4974
5516
|
null,
|
@@ -22160,9 +22702,11 @@ var map = {
|
|
22160
22702
|
"./NBGroupListItem/index.js": 8696,
|
22161
22703
|
"./NBHeader/index.js": 8140,
|
22162
22704
|
"./NBIcon/index.js": 4865,
|
22705
|
+
"./NBInputGroup/index.js": 38,
|
22706
|
+
"./NBInputNumber/index.js": 8617,
|
22163
22707
|
"./NBInputTime/index.js": 640,
|
22164
22708
|
"./NBKeyboard/index.js": 1645,
|
22165
|
-
"./NBLayout/index.js":
|
22709
|
+
"./NBLayout/index.js": 9885,
|
22166
22710
|
"./NBLoading/index.js": 9190,
|
22167
22711
|
"./NBMainHeader/index.js": 6491,
|
22168
22712
|
"./NBMenusGrid/index.js": 2171,
|
@@ -25132,7 +25676,7 @@ var esnext_iterator_constructor = __webpack_require__(8992);
|
|
25132
25676
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.for-each.js
|
25133
25677
|
var esnext_iterator_for_each = __webpack_require__(3949);
|
25134
25678
|
;// ./package.json
|
25135
|
-
var package_namespaceObject = {"rE":"2.0.
|
25679
|
+
var package_namespaceObject = {"rE":"2.0.167"};
|
25136
25680
|
;// ./packages/utils/convert.js
|
25137
25681
|
/**
|
25138
25682
|
* 将大驼峰(camelCase)字符串转换为小写且带有空格分隔的形式(kebab-case)
|