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.common.js
CHANGED
@@ -4217,6 +4217,548 @@ src.install = function (Vue) {
|
|
4217
4217
|
|
4218
4218
|
/***/ }),
|
4219
4219
|
|
4220
|
+
/***/ 8968:
|
4221
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4222
|
+
|
4223
|
+
"use strict";
|
4224
|
+
// ESM COMPAT FLAG
|
4225
|
+
__webpack_require__.r(__webpack_exports__);
|
4226
|
+
|
4227
|
+
// EXPORTS
|
4228
|
+
__webpack_require__.d(__webpack_exports__, {
|
4229
|
+
"default": function() { return /* binding */ NBInputGroup; }
|
4230
|
+
});
|
4231
|
+
|
4232
|
+
;// ./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
|
4233
|
+
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)}
|
4234
|
+
var staticRenderFns = []
|
4235
|
+
|
4236
|
+
|
4237
|
+
// EXTERNAL MODULE: ./packages/mixins/index.js
|
4238
|
+
var mixins = __webpack_require__(5289);
|
4239
|
+
;// ./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/NBInputGroup/src/index.vue?vue&type=script&lang=js
|
4240
|
+
//
|
4241
|
+
//
|
4242
|
+
//
|
4243
|
+
//
|
4244
|
+
//
|
4245
|
+
//
|
4246
|
+
//
|
4247
|
+
//
|
4248
|
+
//
|
4249
|
+
//
|
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
|
+
/* harmony default export */ var srcvue_type_script_lang_js = ({
|
4295
|
+
name: 'NBInputGroup',
|
4296
|
+
mixins: [mixins/* default */.A],
|
4297
|
+
props: {
|
4298
|
+
// 输入框的值,使用v-model
|
4299
|
+
value: {
|
4300
|
+
type: [Array, Number, String],
|
4301
|
+
default: null
|
4302
|
+
},
|
4303
|
+
// 下拉框的值,使用:select.sync
|
4304
|
+
select: {
|
4305
|
+
type: [Number, String],
|
4306
|
+
default: null
|
4307
|
+
},
|
4308
|
+
// 搜索结果列表
|
4309
|
+
list: {
|
4310
|
+
type: Array,
|
4311
|
+
default: () => {
|
4312
|
+
return [];
|
4313
|
+
}
|
4314
|
+
},
|
4315
|
+
loading: {
|
4316
|
+
type: Boolean,
|
4317
|
+
default: true
|
4318
|
+
},
|
4319
|
+
// 选项数据
|
4320
|
+
options: {
|
4321
|
+
type: Array,
|
4322
|
+
default: () => {
|
4323
|
+
return [];
|
4324
|
+
}
|
4325
|
+
},
|
4326
|
+
// value 选中值,label 显示值
|
4327
|
+
props: {
|
4328
|
+
type: Object,
|
4329
|
+
default: () => {
|
4330
|
+
return {};
|
4331
|
+
}
|
4332
|
+
},
|
4333
|
+
// 大小:mini / small / medium / large
|
4334
|
+
size: {
|
4335
|
+
type: String,
|
4336
|
+
default: 'medium'
|
4337
|
+
},
|
4338
|
+
// 拉框下的placeholder
|
4339
|
+
selectPlaceholder: {
|
4340
|
+
type: String,
|
4341
|
+
default: ''
|
4342
|
+
},
|
4343
|
+
// 输入框的placeholder
|
4344
|
+
placeholder: {
|
4345
|
+
type: String,
|
4346
|
+
default: ''
|
4347
|
+
},
|
4348
|
+
// 是否禁用
|
4349
|
+
disabled: {
|
4350
|
+
type: Boolean,
|
4351
|
+
default: false
|
4352
|
+
},
|
4353
|
+
// 是否允许清除
|
4354
|
+
clearable: {
|
4355
|
+
type: Boolean,
|
4356
|
+
default: true
|
4357
|
+
}
|
4358
|
+
},
|
4359
|
+
data() {
|
4360
|
+
return {
|
4361
|
+
visible: false,
|
4362
|
+
isFocus: false,
|
4363
|
+
checked: null
|
4364
|
+
};
|
4365
|
+
},
|
4366
|
+
computed: {
|
4367
|
+
selectValue: {
|
4368
|
+
get() {
|
4369
|
+
return this.$props.select;
|
4370
|
+
},
|
4371
|
+
set(newValue) {
|
4372
|
+
this.$emit('update:select', newValue);
|
4373
|
+
}
|
4374
|
+
},
|
4375
|
+
inputValue: {
|
4376
|
+
get() {
|
4377
|
+
return this.$props.value;
|
4378
|
+
},
|
4379
|
+
set(newValue) {
|
4380
|
+
this.$emit('input', newValue);
|
4381
|
+
}
|
4382
|
+
},
|
4383
|
+
optionProps() {
|
4384
|
+
return Object.assign({
|
4385
|
+
value: 'value',
|
4386
|
+
label: 'label'
|
4387
|
+
}, this.props);
|
4388
|
+
}
|
4389
|
+
},
|
4390
|
+
watch: {},
|
4391
|
+
created() {},
|
4392
|
+
mounted() {},
|
4393
|
+
beforeDestroy() {},
|
4394
|
+
filters: {},
|
4395
|
+
methods: {
|
4396
|
+
onSelectChange(value) {
|
4397
|
+
this.$emit('change', value);
|
4398
|
+
// 切换下拉框,清空之前输入值
|
4399
|
+
this.$emit('input', null);
|
4400
|
+
},
|
4401
|
+
onInput(value) {
|
4402
|
+
this.$emit('input', value);
|
4403
|
+
},
|
4404
|
+
onInputFocus() {
|
4405
|
+
this.visible = true;
|
4406
|
+
this.isFocus = true;
|
4407
|
+
},
|
4408
|
+
onInputBlur() {
|
4409
|
+
this.isFocus = false;
|
4410
|
+
},
|
4411
|
+
onChecked(item) {
|
4412
|
+
this.checked = item;
|
4413
|
+
this.visible = false;
|
4414
|
+
this.$emit('checked', item);
|
4415
|
+
}
|
4416
|
+
}
|
4417
|
+
});
|
4418
|
+
;// ./packages/components/NBInputGroup/src/index.vue?vue&type=script&lang=js
|
4419
|
+
/* harmony default export */ var NBInputGroup_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
|
4420
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
4421
|
+
var componentNormalizer = __webpack_require__(1656);
|
4422
|
+
;// ./packages/components/NBInputGroup/src/index.vue
|
4423
|
+
|
4424
|
+
|
4425
|
+
|
4426
|
+
|
4427
|
+
|
4428
|
+
/* normalize component */
|
4429
|
+
;
|
4430
|
+
var component = (0,componentNormalizer/* default */.A)(
|
4431
|
+
NBInputGroup_srcvue_type_script_lang_js,
|
4432
|
+
render,
|
4433
|
+
staticRenderFns,
|
4434
|
+
false,
|
4435
|
+
null,
|
4436
|
+
"516f7b80",
|
4437
|
+
null
|
4438
|
+
|
4439
|
+
)
|
4440
|
+
|
4441
|
+
/* harmony default export */ var src = (component.exports);
|
4442
|
+
;// ./packages/components/NBInputGroup/index.js
|
4443
|
+
/*
|
4444
|
+
* @Author: chenghuan.dong
|
4445
|
+
* @Date: 2024-11-12 11:27:05
|
4446
|
+
* @LastEditTime: 2024-11-12 14:38:34
|
4447
|
+
* @LastEditors: chenghuan.dong
|
4448
|
+
* @Description:
|
4449
|
+
* @FilePath: \nubomed-ui\packages\components\NBIcon\index.js
|
4450
|
+
*/
|
4451
|
+
|
4452
|
+
src.install = function (Vue) {
|
4453
|
+
Vue.component(src.name, src);
|
4454
|
+
};
|
4455
|
+
/* harmony default export */ var NBInputGroup = (src);
|
4456
|
+
|
4457
|
+
/***/ }),
|
4458
|
+
|
4459
|
+
/***/ 3968:
|
4460
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4461
|
+
|
4462
|
+
"use strict";
|
4463
|
+
// ESM COMPAT FLAG
|
4464
|
+
__webpack_require__.r(__webpack_exports__);
|
4465
|
+
|
4466
|
+
// EXPORTS
|
4467
|
+
__webpack_require__.d(__webpack_exports__, {
|
4468
|
+
"default": function() { return /* binding */ NBInputNumber; }
|
4469
|
+
});
|
4470
|
+
|
4471
|
+
;// ./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
|
4472
|
+
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"})])])])}
|
4473
|
+
var staticRenderFns = []
|
4474
|
+
|
4475
|
+
|
4476
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.constructor.js
|
4477
|
+
var esnext_iterator_constructor = __webpack_require__(8992);
|
4478
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.for-each.js
|
4479
|
+
var esnext_iterator_for_each = __webpack_require__(3949);
|
4480
|
+
;// ./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/NBInputNumber/src/index.vue?vue&type=script&lang=js
|
4481
|
+
|
4482
|
+
|
4483
|
+
//
|
4484
|
+
//
|
4485
|
+
//
|
4486
|
+
//
|
4487
|
+
//
|
4488
|
+
//
|
4489
|
+
//
|
4490
|
+
//
|
4491
|
+
//
|
4492
|
+
//
|
4493
|
+
//
|
4494
|
+
//
|
4495
|
+
//
|
4496
|
+
//
|
4497
|
+
//
|
4498
|
+
//
|
4499
|
+
//
|
4500
|
+
//
|
4501
|
+
//
|
4502
|
+
//
|
4503
|
+
//
|
4504
|
+
//
|
4505
|
+
//
|
4506
|
+
//
|
4507
|
+
|
4508
|
+
/* harmony default export */ var srcvue_type_script_lang_js = ({
|
4509
|
+
name: 'NBInputNumber',
|
4510
|
+
// 计数器
|
4511
|
+
// 使用v-model即可
|
4512
|
+
model: {
|
4513
|
+
prop: 'value',
|
4514
|
+
event: 'update'
|
4515
|
+
},
|
4516
|
+
props: {
|
4517
|
+
// placeholder
|
4518
|
+
placeholder: {
|
4519
|
+
type: String,
|
4520
|
+
default: ''
|
4521
|
+
},
|
4522
|
+
// 默认值
|
4523
|
+
value: {
|
4524
|
+
type: [String, Number, null, undefined],
|
4525
|
+
default: ''
|
4526
|
+
},
|
4527
|
+
// 尺寸大小,默认小尺寸
|
4528
|
+
size: {
|
4529
|
+
type: String,
|
4530
|
+
default: 'mini' // medium-大尺寸 / small-中尺寸 / mini-小尺寸
|
4531
|
+
},
|
4532
|
+
// 是否带小数点(输入框长度不一样)
|
4533
|
+
hasPrecision: {
|
4534
|
+
type: Boolean,
|
4535
|
+
default: false
|
4536
|
+
},
|
4537
|
+
// 最小值
|
4538
|
+
min: {
|
4539
|
+
type: [Number, String]
|
4540
|
+
},
|
4541
|
+
// 最大值
|
4542
|
+
max: {
|
4543
|
+
type: [Number, String]
|
4544
|
+
},
|
4545
|
+
// 色值类型:'pirmary'-主题色蓝色 / 'default'-主题色黑色 / 'danger'-异常颜色红色 / 'warning'-警告橙色 / 'success'-成功绿色
|
4546
|
+
type: {
|
4547
|
+
type: [String, null, undefined],
|
4548
|
+
default: 'pirmary'
|
4549
|
+
},
|
4550
|
+
// 计数器步长
|
4551
|
+
step: {
|
4552
|
+
type: [Number],
|
4553
|
+
default: 1
|
4554
|
+
},
|
4555
|
+
// 是否禁用
|
4556
|
+
disabled: {
|
4557
|
+
type: Boolean,
|
4558
|
+
default: false
|
4559
|
+
},
|
4560
|
+
// 严格步数 (只能输入步数的倍数)
|
4561
|
+
stepStrictly: {
|
4562
|
+
type: Boolean,
|
4563
|
+
default: false
|
4564
|
+
}
|
4565
|
+
},
|
4566
|
+
data() {
|
4567
|
+
return {
|
4568
|
+
checkTimer: null,
|
4569
|
+
inputValue: this.value // 输入框的值
|
4570
|
+
};
|
4571
|
+
},
|
4572
|
+
computed: {
|
4573
|
+
// 步长精度 - 小数点后面的位数
|
4574
|
+
fixNum() {
|
4575
|
+
if (this.step === undefined) return 0;
|
4576
|
+
const valueString = this.step.toString();
|
4577
|
+
const dotPosition = valueString.indexOf('.');
|
4578
|
+
let precision = 0;
|
4579
|
+
if (dotPosition !== -1) {
|
4580
|
+
precision = valueString.length - dotPosition - 1;
|
4581
|
+
}
|
4582
|
+
return precision;
|
4583
|
+
},
|
4584
|
+
disabledMinus() {
|
4585
|
+
if (this.disabled === true) {
|
4586
|
+
return 'disabled';
|
4587
|
+
}
|
4588
|
+
return (Number(this.inputValue) - this.step).toFixed(this.fixNum) < this.min ? 'disabled' : '';
|
4589
|
+
},
|
4590
|
+
disabledPlus() {
|
4591
|
+
if (this.disabled === true) {
|
4592
|
+
return 'disabled';
|
4593
|
+
}
|
4594
|
+
return (Number(this.inputValue) + this.step).toFixed(this.fixNum) > this.max ? 'disabled' : '';
|
4595
|
+
}
|
4596
|
+
},
|
4597
|
+
mounted() {
|
4598
|
+
this.monitorKeyboardEnter();
|
4599
|
+
// 初始化时 校验一下最大最小值 步长精度
|
4600
|
+
this.handleBlur();
|
4601
|
+
},
|
4602
|
+
beforeDestroy() {
|
4603
|
+
clearTimeout(this.checkTimer);
|
4604
|
+
},
|
4605
|
+
watch: {
|
4606
|
+
value: {
|
4607
|
+
immediate: true,
|
4608
|
+
handler(val) {
|
4609
|
+
this.inputValue = val;
|
4610
|
+
this.$emit('input', val);
|
4611
|
+
this.$emit('update', val);
|
4612
|
+
this.$emit('change', val);
|
4613
|
+
}
|
4614
|
+
}
|
4615
|
+
},
|
4616
|
+
methods: {
|
4617
|
+
// 监听键盘的Enter键被按下
|
4618
|
+
monitorKeyboardEnter() {
|
4619
|
+
this.$nextTick(() => {
|
4620
|
+
document.querySelectorAll('input').forEach(input => {
|
4621
|
+
input.addEventListener('confirm', e => {
|
4622
|
+
clearTimeout(this.checkTimer);
|
4623
|
+
this.checkTimer = setTimeout(() => {
|
4624
|
+
// 修复点击键盘确定时,页面数据不刷新的问题
|
4625
|
+
this.handleBlur();
|
4626
|
+
}, 10);
|
4627
|
+
}, false);
|
4628
|
+
});
|
4629
|
+
});
|
4630
|
+
},
|
4631
|
+
// 输入限制
|
4632
|
+
handleInput() {
|
4633
|
+
let inputValue = this.inputValue;
|
4634
|
+
|
4635
|
+
// 只允许数字、小数点、负号
|
4636
|
+
let filteredValue = inputValue.replace(/[^0-9.-]/g, '');
|
4637
|
+
|
4638
|
+
// 确保只有一个负号,并且负号在开头
|
4639
|
+
let minusCount = (filteredValue.match(/-/g) || []).length;
|
4640
|
+
if (minusCount > 1) {
|
4641
|
+
filteredValue = filteredValue.replace(/-/g, '');
|
4642
|
+
filteredValue = '-' + filteredValue.replace(/-/g, '');
|
4643
|
+
} else if (minusCount === 1 && filteredValue.indexOf('-') !== 0) {
|
4644
|
+
filteredValue = filteredValue.replace(/-/g, '');
|
4645
|
+
filteredValue = '-' + filteredValue;
|
4646
|
+
}
|
4647
|
+
|
4648
|
+
// 如果有多个小数点,删除最后一个
|
4649
|
+
let decimalCount = (filteredValue.match(/\./g) || []).length;
|
4650
|
+
if (decimalCount > 1) {
|
4651
|
+
filteredValue = filteredValue.slice(0, -1);
|
4652
|
+
}
|
4653
|
+
this.inputValue = filteredValue;
|
4654
|
+
},
|
4655
|
+
// 失焦时判断严格步数 最大最小值
|
4656
|
+
handleBlur() {
|
4657
|
+
if (this.inputValue < this.min) {
|
4658
|
+
this.inputValue = this.min;
|
4659
|
+
}
|
4660
|
+
if (this.inputValue > this.max) {
|
4661
|
+
this.inputValue = this.max;
|
4662
|
+
}
|
4663
|
+
// 严格步数 值只能为步数的倍数
|
4664
|
+
if (this.stepStrictly) {
|
4665
|
+
this.inputValue = (Math.round(this.inputValue / this.step) * this.step).toFixed(this.fixNum);
|
4666
|
+
// 四舍五入后 可能超过最大值 要减去一个步长
|
4667
|
+
if (this.inputValue > this.max) {
|
4668
|
+
this.inputValue = (this.inputValue - this.step).toFixed(this.fixNum);
|
4669
|
+
}
|
4670
|
+
} else {
|
4671
|
+
this.inputValue = Number(this.inputValue).toFixed(this.fixNum);
|
4672
|
+
}
|
4673
|
+
this.$emit('update', Number(this.inputValue));
|
4674
|
+
},
|
4675
|
+
// 加减
|
4676
|
+
handlePlusMinus(step, type) {
|
4677
|
+
if (typeof Number(this.inputValue) !== 'number' || isNaN(Number(this.inputValue))) {
|
4678
|
+
return;
|
4679
|
+
}
|
4680
|
+
if (this.disabledPlus && type === 1) {
|
4681
|
+
return;
|
4682
|
+
}
|
4683
|
+
if (this.disabledMinus && type === -1) {
|
4684
|
+
return;
|
4685
|
+
}
|
4686
|
+
|
4687
|
+
// 通过将值转换为整数来解决JS十进制计算的精度问题
|
4688
|
+
let precisionFactor = Math.pow(10, this.fixNum); // 10的n次幂 n为精度
|
4689
|
+
let result = (precisionFactor * this.inputValue + precisionFactor * step) / precisionFactor; // 乘法仍然由精度问题 需要toFixed处理结果
|
4690
|
+
|
4691
|
+
result = Number(result.toFixed(this.fixNum));
|
4692
|
+
this.$set(this, 'inputValue', result);
|
4693
|
+
if (this.inputValue < this.min) {
|
4694
|
+
this.inputValue = this.min;
|
4695
|
+
return;
|
4696
|
+
}
|
4697
|
+
if (this.inputValue > this.max) {
|
4698
|
+
this.inputValue = this.max;
|
4699
|
+
return;
|
4700
|
+
}
|
4701
|
+
this.$emit('update', this.inputValue);
|
4702
|
+
},
|
4703
|
+
// 聚焦输入框并弹出键盘
|
4704
|
+
getFocus() {
|
4705
|
+
this.$nextTick(() => {
|
4706
|
+
if (this.$refs.input) {
|
4707
|
+
this.$refs.input.focus();
|
4708
|
+
}
|
4709
|
+
// // 模拟主动执行mouseup
|
4710
|
+
// let evObj = document.createEvent('MouseEvents')
|
4711
|
+
// evObj.initMouseEvent( 'mouseup', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null )
|
4712
|
+
// this.$refs.input.dispatchEvent(evObj)// 即触发了click事件
|
4713
|
+
|
4714
|
+
let e = document.createEvent('MouseEvents');
|
4715
|
+
e.initEvent('mouseup', true, true);
|
4716
|
+
this.$refs.input.dispatchEvent(e);
|
4717
|
+
});
|
4718
|
+
}
|
4719
|
+
}
|
4720
|
+
});
|
4721
|
+
;// ./packages/components/NBInputNumber/src/index.vue?vue&type=script&lang=js
|
4722
|
+
/* harmony default export */ var NBInputNumber_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
|
4723
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
4724
|
+
var componentNormalizer = __webpack_require__(1656);
|
4725
|
+
;// ./packages/components/NBInputNumber/src/index.vue
|
4726
|
+
|
4727
|
+
|
4728
|
+
|
4729
|
+
|
4730
|
+
|
4731
|
+
/* normalize component */
|
4732
|
+
;
|
4733
|
+
var component = (0,componentNormalizer/* default */.A)(
|
4734
|
+
NBInputNumber_srcvue_type_script_lang_js,
|
4735
|
+
render,
|
4736
|
+
staticRenderFns,
|
4737
|
+
false,
|
4738
|
+
null,
|
4739
|
+
"ec19b46c",
|
4740
|
+
null
|
4741
|
+
|
4742
|
+
)
|
4743
|
+
|
4744
|
+
/* harmony default export */ var src = (component.exports);
|
4745
|
+
;// ./packages/components/NBInputNumber/index.js
|
4746
|
+
/*
|
4747
|
+
* @Author: chenghuan.dong
|
4748
|
+
* @Date: 2024-11-12 11:27:05
|
4749
|
+
* @LastEditTime: 2024-11-12 14:38:34
|
4750
|
+
* @LastEditors: chenghuan.dong
|
4751
|
+
* @Description:
|
4752
|
+
* @FilePath: \nubomed-ui\packages\components\NBIcon\index.js
|
4753
|
+
*/
|
4754
|
+
|
4755
|
+
src.install = function (Vue) {
|
4756
|
+
Vue.component(src.name, src);
|
4757
|
+
};
|
4758
|
+
/* harmony default export */ var NBInputNumber = (src);
|
4759
|
+
|
4760
|
+
/***/ }),
|
4761
|
+
|
4220
4762
|
/***/ 3329:
|
4221
4763
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4222
4764
|
|
@@ -4691,7 +5233,7 @@ src.install = function (Vue) {
|
|
4691
5233
|
|
4692
5234
|
/***/ }),
|
4693
5235
|
|
4694
|
-
/***/
|
5236
|
+
/***/ 7234:
|
4695
5237
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
4696
5238
|
|
4697
5239
|
"use strict";
|
@@ -4867,9 +5409,9 @@ var NBAside_component = (0,componentNormalizer/* default */.A)(
|
|
4867
5409
|
)
|
4868
5410
|
|
4869
5411
|
/* harmony default export */ var NBAside = (NBAside_component.exports);
|
4870
|
-
;// ./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=
|
4871
|
-
var
|
4872
|
-
var
|
5412
|
+
;// ./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
|
5413
|
+
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)}
|
5414
|
+
var NBMainvue_type_template_id_3a34b7bd_staticRenderFns = []
|
4873
5415
|
|
4874
5416
|
|
4875
5417
|
;// ./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/NBLayout/src/NBMain.vue?vue&type=script&lang=js
|
@@ -4907,7 +5449,7 @@ var NBMainvue_type_template_id_26cf445b_staticRenderFns = []
|
|
4907
5449
|
type: String,
|
4908
5450
|
default: '',
|
4909
5451
|
validator(value) {
|
4910
|
-
return ['', 'column', 'row'].includes(value);
|
5452
|
+
return ['', 'column', 'row', 'column-center', 'row-center'].includes(value);
|
4911
5453
|
}
|
4912
5454
|
},
|
4913
5455
|
// 是否有NBSummaryBar,且NBSummaryBar是fixed=bottom
|
@@ -4957,8 +5499,8 @@ var NBMainvue_type_template_id_26cf445b_staticRenderFns = []
|
|
4957
5499
|
;
|
4958
5500
|
var NBMain_component = (0,componentNormalizer/* default */.A)(
|
4959
5501
|
src_NBMainvue_type_script_lang_js,
|
4960
|
-
|
4961
|
-
|
5502
|
+
NBMainvue_type_template_id_3a34b7bd_render,
|
5503
|
+
NBMainvue_type_template_id_3a34b7bd_staticRenderFns,
|
4962
5504
|
false,
|
4963
5505
|
null,
|
4964
5506
|
null,
|
@@ -22150,9 +22692,11 @@ var map = {
|
|
22150
22692
|
"./NBGroupListItem/index.js": 4934,
|
22151
22693
|
"./NBHeader/index.js": 5526,
|
22152
22694
|
"./NBIcon/index.js": 384,
|
22695
|
+
"./NBInputGroup/index.js": 8968,
|
22696
|
+
"./NBInputNumber/index.js": 3968,
|
22153
22697
|
"./NBInputTime/index.js": 3329,
|
22154
22698
|
"./NBKeyboard/index.js": 3652,
|
22155
|
-
"./NBLayout/index.js":
|
22699
|
+
"./NBLayout/index.js": 7234,
|
22156
22700
|
"./NBLoading/index.js": 8816,
|
22157
22701
|
"./NBMainHeader/index.js": 8913,
|
22158
22702
|
"./NBMenusGrid/index.js": 9727,
|
@@ -25122,7 +25666,7 @@ var esnext_iterator_constructor = __webpack_require__(8992);
|
|
25122
25666
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.for-each.js
|
25123
25667
|
var esnext_iterator_for_each = __webpack_require__(3949);
|
25124
25668
|
;// ./package.json
|
25125
|
-
var package_namespaceObject = {"rE":"2.0.
|
25669
|
+
var package_namespaceObject = {"rE":"2.0.167"};
|
25126
25670
|
;// ./packages/utils/convert.js
|
25127
25671
|
/**
|
25128
25672
|
* 将大驼峰(camelCase)字符串转换为小写且带有空格分隔的形式(kebab-case)
|