vue2-components-plus 1.0.8 → 1.0.10

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 75535596
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -52,7 +52,15 @@ Vue.use(ElementUI)
52
52
  //@ts-ignore
53
53
  import NsComponents from 'vue2-components-plus'
54
54
  import 'vue2-components-plus/dist/vue2-components-plus.css'
55
- Vue.use(NsComponents)
55
+
56
+ // Vuex 项目
57
+ import store from './store'
58
+ Vue.use(NsComponents, { store })
59
+
60
+ // Pinia 项目
61
+ import { createPinia } from 'pinia'
62
+ const pinia = createPinia()
63
+ Vue.use(NsComponents, { pinia })
56
64
  ```
57
65
 
58
66
  ## 📋 组件列表
@@ -108,7 +108,7 @@ export default {
108
108
  },
109
109
  width: config.width || '960px',
110
110
  height: config.height || '620px',
111
- dialogPadding: [0, 0],
111
+ dialogPadding: [10, 10],
112
112
  modal: config.modal !== undefined ? config.modal : false,
113
113
  draggable: true,
114
114
  x: 120 + offset,
@@ -1 +1 @@
1
- html,body{margin:0;padding:0}*{box-sizing:border-box}:root{--matrix-form-title-width: 18px;--matrix-form-title-height: 18px;--matrix-form-title-gap: 8px;--matrix-form-title-color: #303133;--matrix-form-title-margin-bottom: 12px;--matrix-form-title-content-padding: 0;--matrix-form-title-icon: linear-gradient(135deg, #409eff 0%, #67c23a 100%);--matrix-dialog-bk-color: #ffffff;--matrix-dialog-border-radius: 8px;--matrix-dialog-box-shadow: 0 12px 32px rgba(31, 35, 41, .12);--matrix-dialog-header-bg-color: #f5f7fa;--matrix-dialog-header-text-color: #303133;--matrix-dialog-header-height: 54px;--matrix-dialog-padding-top-bottom: 16px;--matrix-dialog-padding-left-right: 20px;--matrix-dialog-footer-gap: 12px}.ns-dialog-plus-modal{background-color:#00000073}.ns-dynamic-form[data-v-4efb4504]{width:100%}.ns-dynamic-form__row[data-v-4efb4504]{display:flex;flex-wrap:wrap;gap:var(--ns-form-col-gap)}.ns-dynamic-form__item[data-v-4efb4504]{display:flex;align-items:flex-start;padding:0}.ns-dynamic-form__item.has-children[data-v-4efb4504]{align-items:stretch}.ns-dynamic-form.is-vertical .ns-dynamic-form__item[data-v-4efb4504],.ns-dynamic-form__child[data-v-4efb4504]{background:var(--ns-form-background-color);border-radius:4px}.ns-dynamic-form__label[data-v-4efb4504],.ns-dynamic-form__group-label[data-v-4efb4504]{flex:none;width:var(--ns-form-label-width);min-height:var(--ns-form-item-height);line-height:var(--ns-form-item-height);padding-right:12px;color:var(--ns-form-label-color);word-break:break-all}.ns-dynamic-form__group-label[data-v-4efb4504]{width:var(--ns-form-super-label-width);color:var(--ns-form-label-color)}.ns-dynamic-form__label.has-point[data-v-4efb4504]:before{content:"*";color:#f56c6c;margin-right:4px}.ns-dynamic-form__value[data-v-4efb4504]{flex:1;min-width:0;line-height:var(--ns-form-item-height)}.ns-dynamic-form__children[data-v-4efb4504]{flex:1}.ns-dynamic-form__child[data-v-4efb4504]{display:flex;padding:6px 0}.ns-dynamic-form__form-item[data-v-4efb4504]{margin-bottom:0}.ns-dynamic-form__form-item[data-v-4efb4504] .el-form-item__content{line-height:normal}.ns-dynamic-form.is-table[data-v-4efb4504]{border:1px solid #ebeef5;border-bottom:0}.ns-dynamic-form.is-table .ns-dynamic-form__row[data-v-4efb4504]{gap:0;margin-bottom:0!important}.ns-dynamic-form.is-table .ns-dynamic-form__item[data-v-4efb4504]{padding:12px;border-right:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.ns-dynamic-form.is-table .ns-dynamic-form__item[data-v-4efb4504]:last-child{border-right:0}.ns-form-title[data-v-4e159c2c]{width:100%;display:flex;flex-direction:column;margin-bottom:var(--matrix-form-title-margin-bottom)}.ns-form-title__header[data-v-4e159c2c]{display:flex;align-items:center;gap:var(--matrix-form-title-gap);margin-bottom:var(--matrix-form-title-margin-bottom);color:var(--matrix-form-title-color)}.ns-form-title__icon[data-v-4e159c2c]{display:inline-block;width:var(--matrix-form-title-width);height:var(--matrix-form-title-height);border-radius:4px;background:var(--matrix-form-title-icon)}.ns-form-title__text[data-v-4e159c2c]{font-size:18px;font-weight:500;color:var(--matrix-form-title-color)}.ns-form-title__content[data-v-4e159c2c]{width:100%}.page-search[data-v-9eea70d9]{margin-bottom:16px;padding:16px 16px 0;background:#fff;border-radius:4px}.page-search__actions[data-v-9eea70d9]{display:flex;align-items:flex-start}.page-search__form[data-v-9eea70d9]{width:100%}.page-table[data-v-e9b089a2]{display:flex;flex-direction:column;width:100%}.page-table__header[data-v-e9b089a2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-table__actions[data-v-e9b089a2]{display:flex;align-items:center;gap:8px}.page-table__pagination[data-v-e9b089a2]{display:flex;justify-content:flex-end;margin-top:16px}.page-table__empty[data-v-e9b089a2]{padding:24px 0;color:#909399;text-align:center}.page-container[data-v-400797f6]{display:flex;flex-direction:column;width:100%}.ns-dialog-plus__header[data-v-4f4f8603]{display:flex;align-items:center;justify-content:space-between;min-height:var(--matrix-dialog-header-height);cursor:default}.ns-dialog-plus__title[data-v-4f4f8603]{flex:1;font-size:16px;font-weight:600;color:var(--matrix-dialog-header-text-color)}.ns-dialog-plus__actions[data-v-4f4f8603]{display:flex;align-items:center;gap:8px}.ns-dialog-plus__action-btn[data-v-4f4f8603]{padding:0}.ns-dialog-plus__body[data-v-4f4f8603]{min-height:60px}.ns-dialog-plus__footer[data-v-4f4f8603]{display:flex;justify-content:flex-end;gap:var(--matrix-dialog-footer-gap)}[data-v-4f4f8603] .ns-dialog-plus{overflow:hidden;border-radius:var(--matrix-dialog-border-radius);box-shadow:var(--matrix-dialog-box-shadow)}[data-v-4f4f8603] .ns-dialog-plus .el-dialog__header{padding:0 20px;background:var(--matrix-dialog-header-bg-color)}[data-v-4f4f8603] .ns-dialog-plus .el-dialog__body{padding:0}
1
+ html,body{margin:0;padding:0}*{box-sizing:border-box}:root{--matrix-form-title-width: 18px;--matrix-form-title-height: 18px;--matrix-form-title-gap: 8px;--matrix-form-title-color: #303133;--matrix-form-title-margin-bottom: 12px;--matrix-form-title-content-padding: 0;--matrix-form-title-icon: linear-gradient(135deg, #409eff 0%, #67c23a 100%);--matrix-dialog-bk-color: #ffffff;--matrix-dialog-border-radius: 8px;--matrix-dialog-box-shadow: 0 12px 32px rgba(31, 35, 41, .12);--matrix-dialog-header-bg-color: #f5f7fa;--matrix-dialog-header-text-color: #303133;--matrix-dialog-header-height: 54px;--matrix-dialog-padding-top-bottom: 16px;--matrix-dialog-padding-left-right: 20px;--matrix-dialog-footer-gap: 12px}.ns-dialog-plus-modal{background-color:#00000073}.ns-dynamic-form[data-v-4efb4504]{width:100%}.ns-dynamic-form__row[data-v-4efb4504]{display:flex;flex-wrap:wrap;gap:var(--ns-form-col-gap)}.ns-dynamic-form__item[data-v-4efb4504]{display:flex;align-items:flex-start;padding:0}.ns-dynamic-form__item.has-children[data-v-4efb4504]{align-items:stretch}.ns-dynamic-form.is-vertical .ns-dynamic-form__item[data-v-4efb4504],.ns-dynamic-form__child[data-v-4efb4504]{background:var(--ns-form-background-color);border-radius:4px}.ns-dynamic-form__label[data-v-4efb4504],.ns-dynamic-form__group-label[data-v-4efb4504]{flex:none;width:var(--ns-form-label-width);min-height:var(--ns-form-item-height);line-height:var(--ns-form-item-height);padding-right:12px;color:var(--ns-form-label-color);word-break:break-all}.ns-dynamic-form__group-label[data-v-4efb4504]{width:var(--ns-form-super-label-width);color:var(--ns-form-label-color)}.ns-dynamic-form__label.has-point[data-v-4efb4504]:before{content:"*";color:#f56c6c;margin-right:4px}.ns-dynamic-form__value[data-v-4efb4504]{flex:1;min-width:0;line-height:var(--ns-form-item-height)}.ns-dynamic-form__children[data-v-4efb4504]{flex:1}.ns-dynamic-form__child[data-v-4efb4504]{display:flex;padding:6px 0}.ns-dynamic-form__form-item[data-v-4efb4504]{margin-bottom:0}.ns-dynamic-form__form-item[data-v-4efb4504] .el-form-item__content{line-height:normal}.ns-dynamic-form.is-table[data-v-4efb4504]{border:1px solid #ebeef5;border-bottom:0}.ns-dynamic-form.is-table .ns-dynamic-form__row[data-v-4efb4504]{gap:0;margin-bottom:0!important}.ns-dynamic-form.is-table .ns-dynamic-form__item[data-v-4efb4504]{padding:12px;border-right:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.ns-dynamic-form.is-table .ns-dynamic-form__item[data-v-4efb4504]:last-child{border-right:0}.ns-form-title[data-v-4e159c2c]{width:100%;display:flex;flex-direction:column;margin-bottom:var(--matrix-form-title-margin-bottom)}.ns-form-title__header[data-v-4e159c2c]{display:flex;align-items:center;gap:var(--matrix-form-title-gap);margin-bottom:var(--matrix-form-title-margin-bottom);color:var(--matrix-form-title-color)}.ns-form-title__icon[data-v-4e159c2c]{display:inline-block;width:var(--matrix-form-title-width);height:var(--matrix-form-title-height);border-radius:4px;background:var(--matrix-form-title-icon)}.ns-form-title__text[data-v-4e159c2c]{font-size:18px;font-weight:500;color:var(--matrix-form-title-color)}.ns-form-title__content[data-v-4e159c2c]{width:100%}.page-search[data-v-9eea70d9]{margin-bottom:16px;padding:16px 16px 0;background:#fff;border-radius:4px}.page-search__actions[data-v-9eea70d9]{display:flex;align-items:flex-start}.page-search__form[data-v-9eea70d9]{width:100%}.page-table[data-v-e9b089a2]{display:flex;flex-direction:column;width:100%}.page-table__header[data-v-e9b089a2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-table__actions[data-v-e9b089a2]{display:flex;align-items:center;gap:8px}.page-table__pagination[data-v-e9b089a2]{display:flex;justify-content:flex-end;margin-top:16px}.page-table__empty[data-v-e9b089a2]{padding:24px 0;color:#909399;text-align:center}.page-container[data-v-400797f6]{display:flex;flex-direction:column;width:100%}.ns-dialog-plus__header[data-v-d4b97aa8]{display:flex;align-items:center;justify-content:space-between;min-height:var(--matrix-dialog-header-height);cursor:default}.ns-dialog-plus__title[data-v-d4b97aa8]{flex:1;font-size:16px;font-weight:600;color:var(--matrix-dialog-header-text-color)}.ns-dialog-plus__actions[data-v-d4b97aa8]{display:flex;align-items:center;gap:8px}.ns-dialog-plus__action-btn[data-v-d4b97aa8]{padding:0}.ns-dialog-plus__body[data-v-d4b97aa8]{min-height:60px;flex:1 1 auto;min-width:0}.ns-dialog-plus__footer[data-v-d4b97aa8]{display:flex;justify-content:flex-end;gap:var(--matrix-dialog-footer-gap)}[data-v-d4b97aa8] .ns-dialog-plus{overflow:hidden;border-radius:var(--matrix-dialog-border-radius);box-shadow:var(--matrix-dialog-box-shadow)}[data-v-d4b97aa8] .ns-dialog-plus .el-dialog__header,[data-v-d4b97aa8] .ns-dialog-plus .el-dialog__footer{flex:0 0 auto}[data-v-d4b97aa8] .ns-dialog-plus .el-dialog__header{padding:0 20px;background:var(--matrix-dialog-header-bg-color)}[data-v-d4b97aa8] .ns-dialog-plus .el-dialog__body{padding:0;display:flex;flex:1 1 auto;min-height:0;overflow:hidden}
@@ -2221,7 +2221,7 @@ const NsTableContainer = __component__$1.exports;
2221
2221
  Vue2.component(component.name, component);
2222
2222
  };
2223
2223
  });
2224
- const NsDialog_vue_vue_type_style_index_0_scoped_4f4f8603_lang = "";
2224
+ const NsDialog_vue_vue_type_style_index_0_scoped_d4b97aa8_lang = "";
2225
2225
  const _sfc_main = {
2226
2226
  name: "NsDialogComponent",
2227
2227
  props: {
@@ -2308,6 +2308,10 @@ const _sfc_main = {
2308
2308
  type: Object,
2309
2309
  default: () => ({})
2310
2310
  },
2311
+ footerButtonReverse: {
2312
+ type: Boolean,
2313
+ default: false
2314
+ },
2311
2315
  immediately: {
2312
2316
  type: Boolean,
2313
2317
  default: false
@@ -2376,11 +2380,20 @@ const _sfc_main = {
2376
2380
  },
2377
2381
  bodyStyle() {
2378
2382
  const padding = this.resolvePadding();
2383
+ if (!this.currentHeight) {
2384
+ return {
2385
+ padding,
2386
+ minHeight: "auto",
2387
+ maxHeight: "none",
2388
+ overflow: "auto"
2389
+ };
2390
+ }
2379
2391
  return {
2380
2392
  padding,
2381
- minHeight: this.currentHeight ? this.normalizeSize(this.currentHeight) : "auto",
2382
- maxHeight: this.currentHeight ? this.normalizeSize(this.currentHeight) : "none",
2383
- overflow: "auto"
2393
+ height: "100%",
2394
+ minHeight: 0,
2395
+ overflow: "auto",
2396
+ flex: "1 1 auto"
2384
2397
  };
2385
2398
  },
2386
2399
  dialogCustomClass() {
@@ -2507,6 +2520,18 @@ const _sfc_main = {
2507
2520
  resolveWrapperElement() {
2508
2521
  return this.$el && this.$el.querySelector ? this.$el.querySelector(".el-dialog__wrapper") : null;
2509
2522
  },
2523
+ applyDialogPosition(dialog, x, y) {
2524
+ if (!dialog)
2525
+ return;
2526
+ dialog.style.position = "fixed";
2527
+ dialog.style.margin = "0";
2528
+ if (x !== null && x !== void 0) {
2529
+ dialog.style.left = this.normalizeSize(x);
2530
+ }
2531
+ if (y !== null && y !== void 0) {
2532
+ dialog.style.top = this.normalizeSize(y);
2533
+ }
2534
+ },
2510
2535
  applyDialogLayout() {
2511
2536
  const dialog = this.resolveDialogElement();
2512
2537
  if (!dialog)
@@ -2519,16 +2544,10 @@ const _sfc_main = {
2519
2544
  dialog.style.height = "";
2520
2545
  }
2521
2546
  if (this.hasAbsolutePosition) {
2522
- dialog.style.position = "fixed";
2523
- dialog.style.margin = "0";
2524
- if (this.currentX !== null) {
2525
- dialog.style.left = this.normalizeSize(this.currentX);
2526
- }
2527
- if (this.currentY !== null) {
2528
- dialog.style.top = this.normalizeSize(this.currentY);
2529
- }
2547
+ this.applyDialogPosition(dialog, this.currentX, this.currentY);
2530
2548
  } else {
2531
2549
  dialog.style.position = "";
2550
+ dialog.style.margin = "";
2532
2551
  dialog.style.left = "";
2533
2552
  dialog.style.top = "";
2534
2553
  }
@@ -2683,13 +2702,15 @@ const _sfc_main = {
2683
2702
  if (!dialog)
2684
2703
  return;
2685
2704
  const rect = dialog.getBoundingClientRect();
2686
- this.currentX = rect.left;
2687
- this.currentY = rect.top;
2705
+ this.applyDialogPosition(dialog, rect.left, rect.top);
2688
2706
  this.dragContext = {
2689
2707
  startX: event.clientX,
2690
2708
  startY: event.clientY,
2691
2709
  originX: rect.left,
2692
- originY: rect.top
2710
+ originY: rect.top,
2711
+ currentX: rect.left,
2712
+ currentY: rect.top,
2713
+ moved: false
2693
2714
  };
2694
2715
  document.addEventListener("mousemove", this.handleDragMove);
2695
2716
  document.addEventListener("mouseup", this.handleDragEnd);
@@ -2697,14 +2718,29 @@ const _sfc_main = {
2697
2718
  handleDragMove(event) {
2698
2719
  if (!this.dragContext)
2699
2720
  return;
2721
+ const dialog = this.resolveDialogElement();
2722
+ if (!dialog)
2723
+ return;
2700
2724
  const deltaX = event.clientX - this.dragContext.startX;
2701
2725
  const deltaY = event.clientY - this.dragContext.startY;
2702
- this.currentX = this.dragContext.originX + deltaX;
2703
- this.currentY = this.dragContext.originY + deltaY;
2704
- this.applyDialogLayout();
2726
+ const nextX = this.dragContext.originX + deltaX;
2727
+ const nextY = this.dragContext.originY + deltaY;
2728
+ this.dragContext.currentX = nextX;
2729
+ this.dragContext.currentY = nextY;
2730
+ this.dragContext.moved = true;
2731
+ this.applyDialogPosition(dialog, nextX, nextY);
2705
2732
  },
2706
2733
  handleDragEnd() {
2734
+ if (!this.dragContext)
2735
+ return;
2736
+ const { currentX, currentY, moved } = this.dragContext;
2707
2737
  this.removeDragListeners();
2738
+ if (!moved) {
2739
+ this.applyDialogLayout();
2740
+ return;
2741
+ }
2742
+ this.currentX = currentX;
2743
+ this.currentY = currentY;
2708
2744
  },
2709
2745
  removeDragListeners() {
2710
2746
  document.removeEventListener("mousemove", this.handleDragMove);
@@ -2723,7 +2759,7 @@ var _sfc_render = function render6() {
2723
2759
  } } }, [_vm._v(" " + _vm._s(_vm.isMaximized ? "还原" : "最大化") + " ")]) : _vm._e(), _c("el-button", { staticClass: "ns-dialog-plus__action-btn", attrs: { "type": "text" }, on: { "click": function($event) {
2724
2760
  $event.stopPropagation();
2725
2761
  return _vm.closeDialog.apply(null, arguments);
2726
- } } }, [_vm._v("关闭")])], 1)]), _c("div", { staticClass: "ns-dialog-plus__body", style: _vm.bodyStyle }, [_c(_vm.resolvedDom, _vm._g(_vm._b({ ref: "contentRef", tag: "component" }, "component", _vm.currentOption, false), _vm.mergeEvents(_vm.events)))], 1), _vm.showFooter ? _c("div", { staticClass: "ns-dialog-plus__footer", attrs: { "slot": "footer" }, slot: "footer" }, [_vm.resolvedFooterDom ? _c(_vm.resolvedFooterDom, _vm._g(_vm._b({ tag: "component" }, "component", _vm.footerOption, false), _vm.mergeEvents(_vm.footerEvents))) : [_c("el-button", { on: { "click": _vm.closeDialog } }, [_vm._v(_vm._s(_vm.footerButtonText.close))]), _c("el-button", { attrs: { "type": "primary", "loading": _vm.footerLoading }, on: { "click": _vm.dealConfirm } }, [_vm._v(_vm._s(_vm.footerButtonText.confirm))])]], 2) : _vm._e()]);
2762
+ } } }, [_vm._v("关闭")])], 1)]), _c("div", { staticClass: "ns-dialog-plus__body", style: _vm.bodyStyle }, [_c(_vm.resolvedDom, _vm._g(_vm._b({ ref: "contentRef", tag: "component" }, "component", _vm.currentOption, false), _vm.mergeEvents(_vm.events)))], 1), _vm.showFooter ? _c("div", { staticClass: "ns-dialog-plus__footer", attrs: { "slot": "footer" }, slot: "footer" }, [_vm.resolvedFooterDom ? _c(_vm.resolvedFooterDom, _vm._g(_vm._b({ tag: "component" }, "component", _vm.footerOption, false), _vm.mergeEvents(_vm.footerEvents))) : [_vm.footerButtonReverse ? _c("el-button", { attrs: { "type": "primary", "loading": _vm.footerLoading }, on: { "click": _vm.dealConfirm } }, [_vm._v(_vm._s(_vm.footerButtonText.confirm))]) : _vm._e(), _c("el-button", { on: { "click": _vm.closeDialog } }, [_vm._v(_vm._s(_vm.footerButtonText.close))]), !_vm.footerButtonReverse ? _c("el-button", { attrs: { "type": "primary", "loading": _vm.footerLoading }, on: { "click": _vm.dealConfirm } }, [_vm._v(_vm._s(_vm.footerButtonText.confirm))]) : _vm._e()]], 2) : _vm._e()]);
2727
2763
  };
2728
2764
  var _sfc_staticRenderFns = [];
2729
2765
  var __component__ = /* @__PURE__ */ normalizeComponent(
@@ -2732,24 +2768,48 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
2732
2768
  _sfc_staticRenderFns,
2733
2769
  false,
2734
2770
  null,
2735
- "4f4f8603",
2771
+ "d4b97aa8",
2736
2772
  null,
2737
2773
  null
2738
2774
  );
2739
2775
  const NsDialogComponent = __component__.exports;
2740
2776
  const dialogInstances = typeof window !== "undefined" ? window.__dialogInstances = window.__dialogInstances || [] : [];
2741
2777
  let externalVue = Vue;
2778
+ let externalStore = null;
2779
+ let externalPinia = null;
2742
2780
  let dialogSeed = 0;
2743
- function setExternalApp(app) {
2781
+ function resolveContextValue(primaryValue, fallbackValues = []) {
2782
+ if (primaryValue) {
2783
+ return primaryValue;
2784
+ }
2785
+ return fallbackValues.find(Boolean) || null;
2786
+ }
2787
+ function resolveVueConstructor(app) {
2744
2788
  if (!app)
2745
- return;
2789
+ return null;
2746
2790
  if (app.extend) {
2747
- externalVue = app;
2748
- return;
2791
+ return app;
2749
2792
  }
2750
2793
  if (app.constructor && app.constructor.extend) {
2751
- externalVue = app.constructor;
2794
+ return app.constructor;
2752
2795
  }
2796
+ return null;
2797
+ }
2798
+ function resolveStore(app, options = {}) {
2799
+ return resolveContextValue(options.store, [app && app.$store, app && app.$options && app.$options.store, app && app.store, externalStore]);
2800
+ }
2801
+ function resolvePinia(app, options = {}) {
2802
+ return resolveContextValue(options.pinia, [app && app.$pinia, app && app.$options && app.$options.pinia, app && app.pinia, externalPinia]);
2803
+ }
2804
+ function setExternalApp(app, options = {}) {
2805
+ if (!app)
2806
+ return;
2807
+ const resolvedVue = resolveVueConstructor(app);
2808
+ if (resolvedVue) {
2809
+ externalVue = resolvedVue;
2810
+ }
2811
+ externalStore = resolveStore(app, options);
2812
+ externalPinia = resolvePinia(app, options);
2753
2813
  }
2754
2814
  function resolveMountTarget(selector) {
2755
2815
  if (typeof document === "undefined") {
@@ -2778,13 +2838,17 @@ function NsDialog(data, modal = true, appendTo = "#app") {
2778
2838
  if (!mountTarget) {
2779
2839
  return false;
2780
2840
  }
2781
- const id = data.id || `ns-dialog-${Date.now()}-${dialogSeed++}`;
2841
+ const callerVm = this && this._isVue ? this : null;
2842
+ const { store: dataStore, pinia: dataPinia, ...dialogData } = data;
2843
+ const store = resolveStore(callerVm, { store: dataStore });
2844
+ const pinia = resolvePinia(callerVm, { pinia: dataPinia });
2845
+ const id = dialogData.id || `ns-dialog-${Date.now()}-${dialogSeed++}`;
2782
2846
  const container = document.createElement("div");
2783
2847
  container.id = id;
2784
2848
  mountTarget.appendChild(container);
2785
2849
  const instance = {
2786
2850
  id,
2787
- class: data.class || "",
2851
+ class: dialogData.class || "",
2788
2852
  element: container,
2789
2853
  vm: null,
2790
2854
  domRef: null,
@@ -2797,20 +2861,21 @@ function NsDialog(data, modal = true, appendTo = "#app") {
2797
2861
  };
2798
2862
  const DialogConstructor = (externalVue || Vue).extend(NsDialogComponent);
2799
2863
  const propsData = {
2800
- ...data,
2801
- className: data.class || "",
2864
+ ...dialogData,
2865
+ className: dialogData.class || "",
2802
2866
  modal,
2867
+ footerButtonReverse: true,
2803
2868
  containerId: id,
2804
2869
  dialogInstance: instance,
2805
2870
  close: () => {
2806
- if (typeof data.close === "function") {
2807
- data.close();
2871
+ if (typeof dialogData.close === "function") {
2872
+ dialogData.close();
2808
2873
  }
2809
2874
  },
2810
2875
  closed: () => {
2811
2876
  try {
2812
- if (typeof data.closed === "function") {
2813
- data.closed();
2877
+ if (typeof dialogData.closed === "function") {
2878
+ dialogData.closed();
2814
2879
  }
2815
2880
  } finally {
2816
2881
  if (instance.vm) {
@@ -2823,7 +2888,14 @@ function NsDialog(data, modal = true, appendTo = "#app") {
2823
2888
  }
2824
2889
  }
2825
2890
  };
2826
- const vm = new DialogConstructor({ propsData });
2891
+ const vmOptions = { propsData };
2892
+ if (store) {
2893
+ vmOptions.store = store;
2894
+ }
2895
+ if (pinia) {
2896
+ vmOptions.pinia = pinia;
2897
+ }
2898
+ const vm = new DialogConstructor(vmOptions);
2827
2899
  instance.vm = vm;
2828
2900
  instance.close = () => {
2829
2901
  if (vm && typeof vm.closeDialog === "function") {
@@ -2835,7 +2907,7 @@ function NsDialog(data, modal = true, appendTo = "#app") {
2835
2907
  return instance;
2836
2908
  }
2837
2909
  const components = [NsForm, NsFormTitle, NsTableContainer, NsSearch, NsTable];
2838
- function install2(Vue2) {
2910
+ function install2(Vue2, options = {}) {
2839
2911
  if (install2.installed)
2840
2912
  return;
2841
2913
  install2.installed = true;
@@ -2845,7 +2917,7 @@ function install2(Vue2) {
2845
2917
  Vue2.component(component.name, component);
2846
2918
  }
2847
2919
  });
2848
- setExternalApp(Vue2);
2920
+ setExternalApp(Vue2, options);
2849
2921
  loadCssVars$1();
2850
2922
  if (Vue2 && Vue2.prototype) {
2851
2923
  Vue2.prototype.$NsDialog = NsDialog;
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Vue2ComponentsPlus={},e.Vue)}(this,function(e,t){"use strict";function i(e,t,i=!0){let n="",a=!1,l=!1;return String(e||"").split("").forEach((e,t)=>{if("-"!==e)if("."!==e){if(/^\d$/.test(e)){"0"!==(a?n.slice(1):n)||"0"===e||l||(n=a?"-":""),n+=e}}else 0===t||l||"-"===n[n.length-1]||(n+=e,l=!0);else i&&0===t&&!a&&(n+=e,a=!0)}),n.slice(0,t)}function n(e,t){if(t.int){const i=function(e,t,i){let n="",a=!1;const l=null!==i.min&&i.min<0;return String(e||"").split("").forEach((e,t)=>{"-"!==e?/^\d$/.test(e)&&("0"===(a?n.slice(1):n)&&"0"!==e&&(n=a?"-":""),n+=e):l&&0===t&&!a&&(n+=e,a=!0)}),n.slice(0,t)}(e,t.maxLength||50,t);if(""===i||"-"===i)return i;const n=parseInt(i,10);return Number.isNaN(n)?"":null!==t.min&&n<t.min?String(Math.ceil(t.min)):null!==t.max&&n>t.max?String(Math.floor(t.max)):i}const n=null!==t.min&&t.min<0,a=i(e,t.maxLength||50,n);if(""===a||"-"===a||"."===a)return a;const l=parseFloat(a);return Number.isNaN(l)?"":null!==t.min&&l<t.min?String(t.min):null!==t.max&&l>t.max?String(t.max):a}function a(e){return e?"INPUT"===e.tagName||"TEXTAREA"===e.tagName?e:e.querySelector("input, textarea"):null}function l(e,t){if(!e)return;const a=function(e){const t={maxLength:50,pattern:null,min:null,max:null,int:!1},i=e.value;return"number"==typeof i?{...t,maxLength:i}:i&&"object"==typeof i?{maxLength:i.maxLength||t.maxLength,pattern:i.pattern||null,min:"number"==typeof i.min?i.min:null,max:"number"==typeof i.max?i.max:null,int:!!i.int}:t}(t);let l=e.value||"";l=t.modifiers.range?n(l,a):t.modifiers.number?i(l,a.maxLength):t.modifiers.regex&&a.pattern?function(e,t,i){let n="";return String(e||"").split("").forEach(e=>{if(n.length>=t)return;const a=n+e;i.test(a)&&(n=a)}),n}(l,a.maxLength,a.pattern):String(l).slice(0,a.maxLength),l!==e.value&&(e.value=l,e.dispatchEvent(new Event("input",{bubbles:!0})))}function r(e){e.directive("sline",{inserted(e){e.style.whiteSpace="nowrap",e.style.overflow="hidden",e.style.textOverflow="ellipsis",e.style.display="inline-block",e.style.maxWidth="100%"}}),e.directive("permission",{inserted(e,t){let i=[];try{i=JSON.parse(sessionStorage.getItem("btnsPermission")||localStorage.getItem("btnsPermission")||"[]")}catch(l){i=[]}Array.isArray(i)||(i=[]);const n=t.modifiers.class?"class":"id",a=!!t.modifiers.display;("class"===n?i.some(t=>e.classList.contains(t)):i.includes(e.getAttribute("id")))||(a?e.style.display="none":(e.style.visibility="hidden",e.style.pointerEvents="none"))}}),e.directive("length",{inserted(e,t){!function(e,t){const i=a(e);if(!i)return;let n=!1;const r=()=>{n=!0},s=()=>{n=!1,l(i,t)},o=()=>{n||l(i,t)};i.addEventListener("compositionstart",r),i.addEventListener("compositionend",s),i.addEventListener("input",o),l(i,t),e.__nsLengthHandlers={inputEl:i,handleCompositionStart:r,handleCompositionEnd:s,handleInput:o}}(e,t)},componentUpdated(e,t){l(a(e),t)},unbind(e){!function(e){const t=e.__nsLengthHandlers;t&&(t.inputEl.removeEventListener("compositionstart",t.handleCompositionStart),t.inputEl.removeEventListener("compositionend",t.handleCompositionEnd),t.inputEl.removeEventListener("input",t.handleInput),delete e.__nsLengthHandlers)}(e)}}),e.directive("event-unuse",{inserted(e){e.style.pointerEvents="none"}}),e.directive("event-use",{inserted(e){e.style.pointerEvents="auto"}})}let s=class{};function o(){if("undefined"==typeof document)return s.VARS;if(Object.keys(s.VARS).length>0)return s.VARS;const e={};return Array.from(document.styleSheets||[]).forEach(t=>{let i=[];try{i=Array.from(t.cssRules||[])}catch(n){i=[]}i.forEach(t=>{":root"===t.selectorText&&Array.from(t.style||[]).filter(e=>0===e.indexOf("--matrix-")).forEach(i=>{e[i]=t.style.getPropertyValue(i).trim()})})}),s.VARS=e,e}function d(e,t){const i=String("string"==typeof e?e:e&&e.name?e.name:"").replace(/-/g,"").toLowerCase();return t.some(e=>i===e.toLowerCase())}s.VARS={};function c(e){return!!Array.isArray(e)||(0===e||"0"===e||!(""===e||null==e||"null"===e||"undefined"===e||""===String(e).trim()||"undefined"===String(e).trim()))}function u(e,t,i,n,a,l,r,s){var o,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),n&&(d.functional=!0),l&&(d._scopeId="data-v-"+l),r?(o=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=o):a&&(o=s?function(){a.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:a),o)if(d.functional){d._injectStyles=o;var c=d.render;d.render=function(e,t){return o.call(t),c(e,t)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,o):[o]}return{exports:e,options:d}}function h(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>h(e));const t={};return Object.keys(e).forEach(i=>{t[i]=h(e[i])}),t}function p(e){return String("string"==typeof e?e:e&&e.name?e.name:"").replace(/-/g,"").toLowerCase()}const f=u({name:"NsForm",components:{FormFieldRenderer:{name:"NsFormFieldRenderer",inheritAttrs:!1,props:{field:{type:Object,required:!0},value:{default:void 0}},mounted(){this.emitRef()},updated(){this.emitRef()},methods:{emitRef(){this.$emit("ref",this.$refs.control||null)},getComponent(){return(e=this.field.component)?"string"==typeof e?"string"!=typeof(t=e)?t:t.indexOf("-")>-1?t.toLowerCase():t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase():e:"span";var e,t},isUpload(){return d(this.field.component,["elupload"])},rendersOptionsByChildren(){return d(this.field.component,["elselect","elradiogroup","elcheckboxgroup"])},isFullWidthComponent(){return d(this.field.component,["elinput","elselect","elcascader","eldatepicker","eltimepicker","elinputnumber","elautocomplete"])},buildProps(){const e=this.field.params||{},t={};return Object.keys(e).forEach(i=>{0!==i.indexOf("v-")&&"rules"!==i&&"style"!==i&&("options"===i&&this.rendersOptionsByChildren()||(t[i]=e[i]))}),this.isUpload()||(t.value=this.value),t},buildStyle(){const e=this.field.params||{},t={...this.field.style||{},...e.style||{}};return this.isFullWidthComponent()&&void 0===t.width&&(t.width="100%"),t},buildDirectives(){const e=this.field.params||{};return Object.keys(e).filter(e=>0===e.indexOf("v-")).map(t=>{const[,i]=t.split("v-"),[n,...a]=i.split("."),l={};return a.forEach(e=>{l[e]=!0}),{name:n,value:e[t],modifiers:l}})},buildEvents(){const e=this.field.events||{},t={};if(Object.keys(e).forEach(i=>{t[i]=(...t)=>{e[i](...t)}}),!this.isUpload()){const e=t.input;t.input=(t,...i)=>{this.$emit("input",t),e&&e(t,...i)}}return t},buildScopedSlots(){const e=this.field.slots||{},t={};return Object.keys(e).forEach(i=>{"function"==typeof e[i]&&(t[i]=t=>e[i](t))}),t},renderOptionNodes(e){const t=(this.field.params||{}).options||[],i=this.getComponent();return Array.isArray(t)&&0!==t.length?d(i,["elselect"])?t.map((t,i)=>e("el-option",{key:void 0!==t.value?t.value:i,props:{label:t.label,value:t.value,disabled:t.disabled}})):d(i,["elradiogroup"])?t.map((t,i)=>e("el-radio",{key:void 0!==t.value?t.value:i,props:{label:t.value,disabled:t.disabled}},[t.label])):d(i,["elcheckboxgroup"])?t.map((t,i)=>e("el-checkbox",{key:void 0!==t.value?t.value:i,props:{label:t.value,disabled:t.disabled}},[t.label])):[]:[]}},render(e){const t=this.getComponent(),i=[],n=this.field.slots||{};return Object.keys(n).forEach(e=>{var t,a;"function"==typeof n[e]&&i.push(...(t=n[e]({field:this.field,value:this.value}),a=e,t?(Array.isArray(t)?t:[t]).map(e=>function(e,t){return e&&"default"!==t?((e.data||(e.data={})).slot=t,e):e}(e,a)).filter(Boolean):[]))}),e(t,{ref:"control",props:this.buildProps(),style:this.buildStyle(),on:this.buildEvents(),directives:this.buildDirectives(),scopedSlots:this.buildScopedSlots()},[...this.renderOptionNodes(e),...i])}}},props:{model:{type:String,default:""},readOnly:{type:Boolean,default:!1},labelWidth:{type:String,default:"80px"},superLabelWidth:{type:String,default:"30px"},labelColor:{type:String,default:"#0A7BFF"},gapH:{type:String,default:"10px"},gapV:{type:String,default:"10px"},height:{type:String,default:"32px"},rows:{type:Array,default:()=>[]},backgroundColor:{type:String,default:""},valueEmptyTag:{type:String,default:"--"},formPropKey:{type:String,default:"rows"},hasPoint:{type:Boolean,default:!1}},data:()=>({componentRefs:{}}),computed:{formClassList(){return{"is-vertical":this.model.indexOf("vertical")>-1,"is-table":this.model.indexOf("table")>-1,"is-readonly":this.readOnly}},wrapperStyle(){return{"--ns-form-label-width":this.normalizeSize(this.labelWidth),"--ns-form-super-label-width":this.normalizeSize(this.superLabelWidth),"--ns-form-label-color":this.labelColor,"--ns-form-row-gap":this.gapV,"--ns-form-col-gap":this.gapH,"--ns-form-item-height":this.normalizeSize(this.height),"--ns-form-background-color":this.backgroundColor||"#ffffff"}},rowStyle(){return{marginBottom:this.model.indexOf("table")>-1?"0":this.gapV}},labelStyle(){return{width:this.normalizeSize(this.labelWidth),color:this.labelColor}},groupLabelStyle(){return{width:this.normalizeSize(this.superLabelWidth),color:this.labelColor}},valueStyle(){return{minHeight:this.normalizeSize(this.height)}}},watch:{rows:{handler(e){this.initializeDefaultValues(e)},deep:!0,immediate:!0}},methods:{walkFields(e){(this.rows||[]).forEach((t,i)=>{(t||[]).forEach((t,n)=>{e(t,i,n,null,null),(t.children||[]).forEach((a,l)=>{e(a,i,n,l,t)})})})},initializeDefaultValues(e){(e||[]).forEach(e=>{(e||[]).forEach(e=>{e&&e.key&&void 0===e.defaultValue&&this.$set(e,"defaultValue",h(e.value)),(e.children||[]).forEach(e=>{e&&e.key&&void 0===e.defaultValue&&this.$set(e,"defaultValue",h(e.value))})})})},normalizeSize:e=>null==e||""===e?"":/^\d+$/.test(String(e))?`${e}px`:String(e),hasChildren:e=>Array.isArray(e.children)&&e.children.length>0,getItemStyle(e,t){if(0===e.span)return{display:"none"};if("string"==typeof e.span&&e.span.indexOf("%")>-1)return{flex:`0 0 ${e.span}`,maxWidth:e.span};if(void 0!==e.span&&null!==e.span&&""!==e.span){const t=Number(e.span);if(!Number.isNaN(t)){const e=t>24?`${t}px`:t/24*100+"%";return{flex:`0 0 ${e}`,maxWidth:e}}}const i=`calc(${100/((t||[]).filter(e=>e&&0!==e.span).length||1)}% - ${this.gapH})`;return{flex:`0 0 ${i}`,maxWidth:i}},getFieldRules(e){return this.readOnly?[]:e.params&&e.params.rules||[]},isRequiredField(e){return!(!e||this.readOnly)&&("boolean"==typeof e.required?e.required:this.getFieldRules(e).some(e=>e&&e.required))},getFieldRequired(e){return!(!e||this.readOnly)&&(e&&"boolean"==typeof e.required?e.required:void 0)},updateFieldValue(e,t){this.$set(e,"value",t)},setComponentRef(e,t){e&&e.key&&(this.$set(e,"ref",t),this.$set(this.componentRefs,e.key,t))},showReadOnlyText(e){return this.readOnly&&!(e&&e.readOnlyUseComponent)},normalizeDisplayValue(e,t){return c(e)?Array.isArray(e)?e.join(","):e:t&&t.valueEmptyTag||this.valueEmptyTag},getReadOnlyDisplayValue(e){var t,i,n;return e?"function"==typeof(null==(t=e.params)?void 0:t.formatter)?e.params.formatter(e.value,e)||this.valueEmptyTag:c(e.value)?this.isUploadComponent(e)?(e.value||[]).map(e=>e.fileName||e.name||e.filePath).filter(Boolean).join(",")||e.valueEmptyTag||this.valueEmptyTag:this.isSwitchComponent(e)?e.value?(null==(i=e.params)?void 0:i.activeText)||"是":(null==(n=e.params)?void 0:n.inactiveText)||"否":this.isSelectLikeComponent(e)?this.getOptionDisplayText(e):this.isCascaderComponent(e)?this.getCascaderDisplayValue(e):Array.isArray(e.value)?e.value.join(","):e.value:e.valueEmptyTag||this.valueEmptyTag:this.valueEmptyTag},getOptionDisplayText(e){var t;const i=(null==(t=e.params)?void 0:t.options)||[],n=e.value;return(Array.isArray(n)?n:"string"==typeof n&&n.indexOf(",")>-1?n.split(",").filter(Boolean):[n]).map(e=>{const t=i.find(t=>t.value===e);return t?t.label:e}).filter(e=>null!=e&&""!==e).join(",")||e.valueEmptyTag||this.valueEmptyTag},getCascaderDisplayValue(e){var t,i,n,a;const l=e.params||{},r=l.options||[],s={value:(null==(t=l.props)?void 0:t.value)||"value",label:(null==(i=l.props)?void 0:i.label)||"label",children:(null==(n=l.props)?void 0:n.children)||"children",multiple:!!(null==(a=l.props)?void 0:a.multiple),separator:l.separator||" / "},o=e=>{const t=[];let i=r;return(e=>Array.isArray(e)?e:"string"==typeof e&&e.indexOf(",")>-1?e.split(",").filter(Boolean):[e])(e).forEach(e=>{const n=(i||[]).find(t=>t[s.value]===e);n&&(t.push(n[s.label]),i=n[s.children])}),t.join(s.separator)};return s.multiple&&Array.isArray(e.value)&&Array.isArray(e.value[0])?e.value.map(e=>o(e)).join(","):o(e.value)},isSelectLikeComponent:e=>["elselect","elradiogroup","elcheckboxgroup"].includes(p(e.component)),isSwitchComponent:e=>"elswitch"===p(e.component),isCascaderComponent:e=>"elcascader"===p(e.component),isUploadComponent:e=>"elupload"===p(e.component),getFormNodeByKey(e){for(let t=0;t<this.rows.length;t+=1){const i=this.rows[t];for(let t=0;t<i.length;t+=1){const n=i[t];if(n.key===e)return n;for(let t=0;t<(n.children||[]).length;t+=1){const i=n.children[t];if(i.key===e)return i}}}return null},getFormNodeRefByKey(e){return this.componentRefs[e]||null},getFormKvData(){const e={};return this.walkFields(t=>{t&&t.key&&(e[t.key]=Array.isArray(t.value)&&Array.isArray(t.delValue)?t.value.concat(t.delValue):t.value)}),e},resetForm(e=!1){this.walkFields(t=>{var i,n;if(!t||!t.key)return;const a=h(t.value),l=void 0!==t.defaultValue?h(t.defaultValue):Array.isArray(t.value)?[]:"boolean"!=typeof t.value&&("number"==typeof t.value?0:"");this.$set(t,"value",l),void 0!==t.delValue&&this.$set(t,"delValue",[]),t.params&&Array.isArray(t.params.fileList)&&t.params.fileList.splice(0,t.params.fileList.length),e&&JSON.stringify(a)!==JSON.stringify(l)&&("function"==typeof(null==(i=t.events)?void 0:i.change)&&this.$nextTick(()=>t.events.change(l)),"function"==typeof(null==(n=t.events)?void 0:n.input)&&this.$nextTick(()=>t.events.input(l)))})},setFormData(e){e&&"object"==typeof e&&this.walkFields(t=>{if(!t||!t.key||!Object.prototype.hasOwnProperty.call(e,t.key))return;let i=h(e[t.key]);if(this.isCascaderComponent(t)&&"string"==typeof i&&i.indexOf(",")>-1&&(i=i.split(",").filter(Boolean)),this.$set(t,"value",i),this.isUploadComponent(t)){const e=Array.isArray(i)?h(i):[];t.params&&this.$set(t.params,"fileList",e)}})},initDefaultValues(){this.initializeDefaultValues(this.rows)}}},function(){var e=this,t=e._self._c;return e.rows&&e.rows.length?t("div",{staticClass:"ns-dynamic-form",class:e.formClassList,style:e.wrapperStyle},e._l(e.rows,function(i,n){return t("div",{key:`row-${n}`,staticClass:"ns-dynamic-form__row",style:e.rowStyle},e._l(i,function(a,l){return t("div",{key:a.key||`${n}-${l}`,staticClass:"ns-dynamic-form__item",class:{"has-children":e.hasChildren(a)},style:e.getItemStyle(a,i)},[e.hasChildren(a)?[!a.hideLabel&&a.label?t("div",{staticClass:"ns-dynamic-form__group-label",style:e.groupLabelStyle},[e._v(" "+e._s(a.label)+" ")]):e._e(),t("div",{staticClass:"ns-dynamic-form__children"},e._l(a.children,function(i,a){return t("div",{key:i.key||`${n}-${l}-${a}`,staticClass:"ns-dynamic-form__child"},[!i.hideLabel&&i.label?t("div",{staticClass:"ns-dynamic-form__label",class:{"has-point":e.hasPoint||e.isRequiredField(i)},style:e.labelStyle},[e._v(" "+e._s(i.label)+" ")]):e._e(),t("div",{staticClass:"ns-dynamic-form__value",style:e.valueStyle},[e.showReadOnlyText(i)?[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.getReadOnlyDisplayValue(i)))])]:i.component?[t("el-form-item",{staticClass:"ns-dynamic-form__form-item",attrs:{"label-width":"0px",prop:`${e.formPropKey}.${n}.${l}.children.${a}.value`,rules:e.getFieldRules(i),required:e.getFieldRequired(i)}},[t("form-field-renderer",{attrs:{field:i,value:i.value},on:{input:function(t){return e.updateFieldValue(i,t)},ref:function(t){return e.setComponentRef(i,t)}}})],1)]:[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.normalizeDisplayValue(i.value,i)))])]],2)])}),0)]:[!a.hideLabel&&a.label?t("div",{staticClass:"ns-dynamic-form__label",class:{"has-point":e.hasPoint||e.isRequiredField(a)},style:e.labelStyle},[e._v(" "+e._s(a.label)+" ")]):e._e(),t("div",{staticClass:"ns-dynamic-form__value",style:e.valueStyle},[e.showReadOnlyText(a)?[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.getReadOnlyDisplayValue(a)))])]:a.component?[t("el-form-item",{staticClass:"ns-dynamic-form__form-item",attrs:{"label-width":"0px",prop:`${e.formPropKey}.${n}.${l}.value`,rules:e.getFieldRules(a),required:e.getFieldRequired(a)}},[t("form-field-renderer",{attrs:{field:a,value:a.value},on:{input:function(t){return e.updateFieldValue(a,t)},ref:function(t){return e.setComponentRef(a,t)}}})],1)]:[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.normalizeDisplayValue(a.value,a)))])]],2)]],2)}),0)}),0):e._e()},[],!1,null,"4efb4504",null,null).exports;class m{}m.VARS={};const g=u({name:"NsFormTitle",props:{title:{type:String,default:""}},mounted(){!function(){if("undefined"==typeof document)return m.VARS;if(Object.keys(m.VARS).length>0)return m.VARS;const e={};Array.from(document.styleSheets||[]).forEach(t=>{let i=[];try{i=Array.from(t.cssRules||[])}catch(n){i=[]}i.forEach(t=>{":root"===t.selectorText&&Array.from(t.style||[]).filter(e=>0===e.indexOf("--matrix-")).forEach(i=>{e[i]=t.style.getPropertyValue(i).trim()})})}),m.VARS=e}()}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"ns-form-title"},[t("div",{staticClass:"ns-form-title__header"},[e._t("title",function(){return[t("span",{staticClass:"ns-form-title__icon"}),t("span",{staticClass:"ns-form-title__text"},[e._v(e._s(e.title))])]})],2),t("div",{staticClass:"ns-form-title__content"},[e._t("default")],2)])},[],!1,null,"4e159c2c",null,null).exports;function y(e){const i=t.getCurrentInstance();return{handleFormatFileList:function(e,t){const n=function(e){var t;return(null==(t=null==e?void 0:e.proxy)?void 0:t.$ImageBaseUrl)||""}(i),a=Array.isArray(t)?t:[];return a.forEach(e=>{e.filePath&&!e.url&&(e.url=`${n}${e.filePath}`),e.name||(e.name=e.fileName||e.name||e.filePath||"未命名文件")}),e&&e.params&&(e.params.fileList=a),e&&(e.value=a.slice()),a},handleRemoveFile:function(t,i,n,a=e.rows){const l=w(a,n);if(!l)return i;const r=(i||[]).map(e=>({...e,fileName:e.response?e.response.data.fileName:e.fileName,filePath:e.response?e.response.data.filePath:e.filePath,fileSize:e.response?e.response.data.fileSize:e.fileSize}));return Array.isArray(l.delValue)||(l.delValue=[]),t.response||"success"!==t.status||l.delValue.push({...t,isDelete:1}),l.value=r,l.params&&(l.params.fileList=i||[]),i},handleFileSuccessFile:function(t,i,n,a,l=e.rows){const r=w(l,a);return r?(Array.isArray(r.value)||(r.value=[]),i&&"success"===i.status&&t&&t.data&&r.value.push({...t.data}),r.params&&(r.params.fileList=n||[]),n):n},handleCheckFileRequire:function(e,i,n,a="rows"){const l=w(e,i);l&&!Array.isArray(l.value)&&(l.value=[]);const r=function(e,t,i="rows"){for(let n=0;n<e.length;n+=1){const a=e[n];for(let e=0;e<a.length;e+=1){const l=a[e];if(l.key===t)return`${i}.${n}.${e}.value`;if(Array.isArray(l.children))for(let a=0;a<l.children.length;a+=1)if(l.children[a].key===t)return`${i}.${n}.${e}.children.${a}.value`}}return null}(e,i,a);t.nextTick(()=>{const e=n&&(n.value||n);r&&e&&"function"==typeof e.validateField&&e.validateField(r)})}}}function v(e){e.install=function(t){t.component(e.name,e)}}v(f),v(g);const b=f.install;function S(e){const t={};return(e||[]).forEach(e=>{(e||[]).forEach(e=>{e&&e.key&&(t[e.key]=Array.isArray(e.value)&&Array.isArray(e.delValue)?e.value.concat(e.delValue):e.value),(e.children||[]).forEach(e=>{e&&e.key&&(t[e.key]=Array.isArray(e.value)&&Array.isArray(e.delValue)?e.value.concat(e.delValue):e.value)})})}),t}function w(e,t){for(let i=0;i<(e||[]).length;i+=1){const n=e[i]||[];for(let e=0;e<n.length;e+=1){const i=n[e];if(i&&i.key===t)return i;const a=i&&i.children||[];for(let e=0;e<a.length;e+=1)if(a[e]&&a[e].key===t)return a[e]}}return null}function R(e,t){const i=w(e,t);return i&&i.ref||null}f.install=function(e){r(e),b(e)},"undefined"!=typeof globalThis&&(globalThis.getAllFormKvData=S,globalThis.getAllFormNodeByKey=w,globalThis.getAllFormNodeRefByKey=R);const C={name:"NsSlotRenderer",functional:!0,props:{renderer:{type:Function,default:null},scope:{type:Object,default:()=>({})}},render(e,t){const i=t.props.renderer;return i?i(t.props.scope||{}):null}};const $=u({name:"NsSearch",components:{SlotRenderer:C},inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},externalParams:{type:Object,default:()=>({})},defaultSpan:{type:Number,default:6},showCollapse:{type:Boolean,default:!0},collapseLimit:{type:Number,default:3},slotRenderers:{type:Object,default:()=>({})}},data:()=>({formData:{},isCollapsed:!0}),computed:{visibleItems(){return this.showCollapse&&this.isCollapsed?this.items.slice(0,this.collapseLimit):this.items}},watch:{items:{handler(){this.initFormData()},deep:!0,immediate:!0},externalParams:{handler(){this.formData={...this.formData,...this.externalParams}},deep:!0,immediate:!0}},methods:{normalizeComponent(e){return"string"==typeof e?"string"!=typeof(t=e)?t:t.indexOf("-")>-1?t.toLowerCase():t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase():e;var t},initFormData(){const e={};(this.items||[]).forEach(t=>{e[t.prop]=void 0!==t.defaultValue?t.defaultValue:void 0}),this.formData={...e,...this.externalParams}},isSlotItem:e=>e&&("slot"===e.type||!0===e.slot||"string"==typeof e.slot),getSlotRenderer(e){const t="string"==typeof e.slot?e.slot:e.slotName||e.prop;return this.slotRenderers[t]||null},isSelectComponent(e){return"el-select"===String(this.normalizeComponent(e.component||"")||"")},handleSearch(){this.$emit("search",{...this.formData,_resetPage:!0})},handleReset(){const e={};(this.items||[]).forEach(t=>{e[t.prop]=void 0!==t.defaultValue?t.defaultValue:void 0}),this.formData={...e,...this.externalParams},this.$emit("search",{...this.formData,_resetPage:!0}),this.$emit("reset")},toggleCollapse(){this.isCollapsed=!this.isCollapsed},getFormData(){return{...this.formData}},setFormData(e){this.formData={...this.formData,...e||{}}},resetForm(){this.handleReset()},validate(){return this.$refs.formRef&&this.$refs.formRef.validate?this.$refs.formRef.validate():Promise.resolve(!0)},clearValidate(e){this.$refs.formRef&&this.$refs.formRef.clearValidate&&this.$refs.formRef.clearValidate(e)}}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-search"},[t("el-form",e._b({ref:"formRef",staticClass:"page-search__form",attrs:{inline:!0,model:e.formData}},"el-form",e.$attrs,!1),[t("el-row",{attrs:{gutter:16}},[e._l(e.visibleItems,function(i,n){return t("el-col",{key:i.prop||n,attrs:{span:i.span||e.defaultSpan}},[t("el-form-item",e._b({attrs:{label:i.label,prop:i.prop}},"el-form-item",i.formItemAttrs||{},!1),[e.isSlotItem(i)?t("slot-renderer",{attrs:{renderer:e.getSlotRenderer(i),scope:{formData:e.formData,item:i}}}):t(e.normalizeComponent(i.component||"el-input"),e._g(e._b({tag:"component",model:{value:e.formData[i.prop],callback:function(t){e.$set(e.formData,i.prop,t)},expression:"formData[item.prop]"}},"component",i.attrs||{},!1),i.events||{}),[e.isSelectComponent(i)?e._l(i.children||[],function(e,i){return t("el-option",{key:void 0!==e.value?e.value:i,attrs:{label:e.label,value:e.value,disabled:e.disabled}})}):e._e()],2)],1)],1)}),t("el-col",{staticClass:"page-search__actions",attrs:{span:e.defaultSpan}},[t("el-form-item",{attrs:{"label-width":"0"}},[t("el-button",{attrs:{type:"primary"},on:{click:e.handleSearch}},[e._v("查询")]),t("el-button",{on:{click:e.handleReset}},[e._v("重置")]),e.showCollapse&&e.items.length>e.collapseLimit?t("el-button",{attrs:{type:"text"},on:{click:e.toggleCollapse}},[e._v(" "+e._s(e.isCollapsed?"展开":"收起")+" ")]):e._e()],1)],1)],2)],1)],1)},[],!1,null,"9eea70d9",null,null).exports,x=["children","slot","headerSlot","buttons","enum","type","imageWidth","imageHeight","linkText"],_={name:"NsTableColumn",props:{column:{type:Object,required:!0},slotRenderers:{type:Object,default:()=>({})}},methods:{getColumnProps(e){const t={...e};return x.forEach(e=>delete t[e]),t},getRenderer(e){return e?this.slotRenderers[e]:null},getCellValue:(e,t)=>t.prop?e[t.prop]:void 0,isVisible:(e,t)=>"function"==typeof e.show?!1!==e.show(t):void 0===e.show||!!e.show,isDisabled:(e,t)=>"function"==typeof e.disabled?!!e.disabled(t):!!e.disabled,renderActionButtons(e,t,i){return(Array.isArray(i.buttons)?i.buttons:[]).filter(e=>this.isVisible(e,t.row)).map((n,a)=>{const l=this.getRenderer(n.slot);return l?l({...t,row:t.row,column:i,button:n}):e("el-button",{key:n.label||a,props:{size:n.size||"mini",type:n.link?"text":n.type||"text",icon:"string"==typeof n.icon?n.icon:void 0,disabled:this.isDisabled(n,t.row)},on:{click:()=>{"function"==typeof n.handler&&n.handler(t.row,t.$index),this.$emit("button-click",t.row,i,n)}}},[n.label])})},renderTag(e,t,i){const n=this.getCellValue(t.row,i),a="function"==typeof i.tagType?i.tagType(t.row,n):i.tagType,l="function"==typeof i.formatter?i.formatter(t.row,i,n):this.resolveEnumText(i,n);return e("el-tag",{props:{type:a||"info",size:i.tagSize||"small"}},[l])},renderImage(e,t,i){const n=this.getCellValue(t.row,i);return n?e("img",{style:{width:i.imageWidth||"40px",height:i.imageHeight||"40px",objectFit:"cover",borderRadius:"4px"},attrs:{src:n,alt:i.label||"image"}}):"-"},renderLink(e,t,i){const n=this.getRenderer(i.slot);if(n)return n(t);const a=this.getCellValue(t.row,i);return e("el-button",{props:{type:"text"},on:{click:()=>this.$emit("link-click",t.row,i)}},[i.linkText||a||"-"])},resolveEnumText(e,t){const i=e.enum||e.options||[];if(!Array.isArray(i))return t;const n=i.find(e=>e.value===t);return n?n.label:t},renderDefaultCell(e,t,i){const n=this.getRenderer(i.slot);if(n)return n(t);if("action"===i.type)return e("div",{class:"ns-table-column__actions"},this.renderActionButtons(e,t,i));if("tag"===i.type)return this.renderTag(e,t,i);if("image"===i.type)return this.renderImage(e,t,i);if("link"===i.type)return this.renderLink(e,t,i);const a=this.getCellValue(t.row,i);return"function"==typeof i.formatter?i.formatter(t.row,i,a):i.enum?this.resolveEnumText(i,a):null==a||""===a?"-":a},renderColumn(e,t){const i=Array.isArray(t.children)?t.children.map((t,i)=>e(_,{key:t.prop||t.label||i,props:{column:t,slotRenderers:this.slotRenderers},on:{"link-click":(...e)=>this.$emit("link-click",...e),"button-click":(...e)=>this.$emit("button-click",...e)}})):[],n=this.getRenderer(t.headerSlot);return e("el-table-column",{props:this.getColumnProps(t),scopedSlots:i.length?n?{header:n}:void 0:{default:i=>this.renderDefaultCell(e,i,t),...n?{header:n}:{}}},i)}},render(e){return this.renderColumn(e,this.column)}},P={total:0,currentPage:1,pageSize:10},z={totalKey:"total",currentPageKey:"currentPage",pageSizeKey:"pageSize"};function A(e={}){return{...P,...e}}function D(e,t={}){const i={...z,...t};return{[i.totalKey]:e.total,[i.currentPageKey]:e.currentPage,[i.pageSizeKey]:e.pageSize}}function k(e){return e.total=0,e.currentPage=1,e.pageSize=10,e}const E=["add","selection-change","sort-change","row-click","size-change","current-change","link-click"];const K=u({name:"NsTable",components:{SlotRenderer:C,TableColumn:_},inheritAttrs:!1,props:{tableData:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},actionButtons:{type:Array,default:()=>[]},showAddButton:{type:Boolean,default:!0},addButtonText:{type:String,default:"新增"},showHeaderToolbar:{type:Boolean,default:!0},showSelection:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},border:{type:Boolean,default:!0},stripe:{type:Boolean,default:!1},height:{type:[String,Number],default:void 0},maxHeight:{type:[String,Number],default:void 0},rowKey:{type:[String,Function],default:void 0},defaultExpandAll:{type:Boolean,default:!1},highlightCurrentRow:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},showPagination:{type:Boolean,default:!0},total:{type:Number,default:0},currentPage:{type:Number,default:null},pageSize:{type:Number,default:null},pageSizes:{type:Array,default:()=>[10,20,50,100]},paginationLayout:{type:String,default:"total, sizes, prev, pager, next, jumper"},pageNumberKey:{type:String,default:"currentPage"},pageSizeKey:{type:String,default:"pageSize"},pageTotalKey:{type:String,default:"total"},slotRenderers:{type:Object,default:()=>({})}},data:()=>({internalPagination:A()}),computed:{currentPageModel(){return null===this.currentPage?this.internalPagination.currentPage:this.currentPage},pageSizeModel(){return null===this.pageSize?this.internalPagination.pageSize:this.pageSize},mergedAttrs(){return this.$attrs||{}},mergedListeners(){const e={...this.$listeners||{}};return E.forEach(t=>delete e[t]),e}},watch:{currentPage:{handler(e){null!==e&&(this.internalPagination.currentPage=e)},immediate:!0},pageSize:{handler(e){null!==e&&(this.internalPagination.pageSize=e)},immediate:!0}},methods:{handleAdd(){this.$emit("add")},handleSelectionChange(e){this.$emit("selection-change",e)},handleSortChange(e){this.$emit("sort-change",e)},handleRowClick(e,t,i){this.$emit("row-click",e,t,i)},handleSizeChange(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e),this.$emit("size-change",e)},handleCurrentChange(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e),this.$emit("current-change",e)},handleLinkClick(e,t){this.$emit("link-click",e,t)},getIndex(e){if(!this.showPagination)return e+1;return(Number(this.currentPageModel||1)-1)*Number(this.pageSizeModel||10)+e+1},getSelectionRows(){return this.$refs.tableRef&&this.$refs.tableRef.selection?this.$refs.tableRef.selection:[]},getSelectionKeys(){const e=this.getSelectionRows();return this.rowKey?e.map(e=>"function"==typeof this.rowKey?this.rowKey(e):e[this.rowKey]):e},setSelectionRows(e){this.$refs.tableRef&&(this.$refs.tableRef.clearSelection(),(e||[]).forEach(e=>{this.$refs.tableRef.toggleRowSelection(e,!0)}))},setSelectionKeys(e){this.$refs.tableRef&&this.rowKey&&(this.$refs.tableRef.clearSelection(),(e||[]).forEach(e=>{const t=(this.tableData||[]).find(t=>("function"==typeof this.rowKey?this.rowKey(t):t[this.rowKey])===e);t&&this.$refs.tableRef.toggleRowSelection(t,!0)}))},isRowSelected(e){return this.getSelectionRows().includes(e)},isKeySelected(e){return this.getSelectionKeys().includes(e)},clearSelection(){this.$refs.tableRef&&this.$refs.tableRef.clearSelection()},toggleRowSelection(e,t){this.$refs.tableRef&&this.$refs.tableRef.toggleRowSelection(e,t)},toggleAllSelection(){this.$refs.tableRef&&this.$refs.tableRef.toggleAllSelection()},selectAll(){this.toggleAllSelection()},clearAllSelection(){this.clearSelection()},clearSort(){this.$refs.tableRef&&this.$refs.tableRef.clearSort&&this.$refs.tableRef.clearSort()},clearFilter(e){this.$refs.tableRef&&this.$refs.tableRef.clearFilter&&this.$refs.tableRef.clearFilter(e)},doLayout(){this.$refs.tableRef&&this.$refs.tableRef.doLayout&&this.$refs.tableRef.doLayout()},sort(e,t){this.$refs.tableRef&&this.$refs.tableRef.sort&&this.$refs.tableRef.sort(e,t)},resetPage(){this.internalPagination.currentPage=1,this.$emit("update:currentPage",1)},setPage(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e)},setPageSize(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e)},getPagination(){return{[this.pageTotalKey]:this.total,[this.pageNumberKey]:this.currentPageModel,[this.pageSizeKey]:this.pageSizeModel}},setPagination(e){void 0!==e.currentPage&&this.setPage(e.currentPage),void 0!==e.pageSize&&this.setPageSize(e.pageSize)}}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-table"},[e.showHeaderToolbar?t("div",{staticClass:"page-table__header"},[t("slot-renderer",{attrs:{renderer:e.slotRenderers["header-left"],scope:{tableData:e.tableData}}}),t("div",{staticClass:"page-table__actions"},[t("slot-renderer",{attrs:{renderer:e.slotRenderers["header-actions"],scope:{tableData:e.tableData}}}),e.showAddButton&&!e.slotRenderers["header-actions"]?t("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.handleAdd}},[e._v(" "+e._s(e.addButtonText)+" ")]):e._e()],1)],1):e._e(),t("el-table",e._g(e._b({directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"tableRef",attrs:{data:e.tableData,border:e.border,stripe:e.stripe,height:e.height,"max-height":e.maxHeight,"row-key":e.rowKey,"default-expand-all":e.defaultExpandAll,"highlight-current-row":e.highlightCurrentRow},on:{"selection-change":e.handleSelectionChange,"sort-change":e.handleSortChange,"row-click":e.handleRowClick}},"el-table",e.mergedAttrs,!1),e.mergedListeners),[e.showSelection?t("el-table-column",{attrs:{type:"selection",width:"55","reserve-selection":!!e.rowKey}}):e._e(),e.showIndex?t("el-table-column",{attrs:{type:"index",label:"序号",width:"60",index:e.getIndex}}):e._e(),e._l(e.columns,function(i,n){return t("table-column",{key:i.prop||i.label||n,attrs:{column:i,"slot-renderers":e.slotRenderers},on:{"link-click":e.handleLinkClick}})}),t("template",{slot:"empty"},[e.slotRenderers.empty?t("slot-renderer",{attrs:{renderer:e.slotRenderers.empty,scope:{tableData:e.tableData}}}):t("div",{staticClass:"page-table__empty"},[e._v("暂无数据")])],1)],2),e.showPagination?t("div",{staticClass:"page-table__pagination"},[t("el-pagination",{attrs:{background:"","current-page":e.currentPageModel,"page-size":e.pageSizeModel,"page-sizes":e.pageSizes,total:e.total,layout:e.paginationLayout},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1):e._e()],1)},[],!1,null,"e9b089a2",null,null).exports;const N=u({name:"NsTableContainer",components:{PageSearch:$,PageTable:K},props:{showSearch:{type:Boolean,default:!0},externalSearchParams:{type:Object,default:()=>({})},searchItems:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},actionButtons:{type:Array,default:()=>[]},total:{type:Number,default:0},currentPage:{type:Number,default:null},pageSize:{type:Number,default:null},pageNumberKey:{type:String,default:"currentPage"},pageSizeKey:{type:String,default:"pageSize"},pageTotalKey:{type:String,default:"total"},searchProps:{type:Object,default:()=>({})},tableProps:{type:Object,default:()=>({})},loadData:{type:Function,default:null}},data:()=>({internalPagination:A(),pendingSelectionKeys:new Set,selectionRowMap:{},isSyncingSelection:!1}),computed:{currentPageModel(){return null===this.currentPage?this.internalPagination.currentPage:this.currentPage},pageSizeModel(){return null===this.pageSize?this.internalPagination.pageSize:this.pageSize},currentRowKey(){return this.tableProps&&this.tableProps.rowKey}},watch:{currentPage:{handler(e){null!==e&&(this.internalPagination.currentPage=e)},immediate:!0},pageSize:{handler(e){null!==e&&(this.internalPagination.pageSize=e)},immediate:!0},tableData:{handler(){this.$nextTick(()=>{this.syncSelectionToCurrentPage()})},deep:!0,immediate:!0}},methods:{getRowKey(e){return this.currentRowKey?"function"==typeof this.currentRowKey?this.currentRowKey(e):e[this.currentRowKey]:e},resetSelectionState(){this.pendingSelectionKeys=new Set,this.selectionRowMap={},this.$refs.tableRef&&this.$refs.tableRef.clearSelection&&this.$refs.tableRef.clearSelection()},syncSelectionToCurrentPage(){this.currentRowKey&&this.$refs.tableRef&&(this.isSyncingSelection=!0,this.$refs.tableRef.clearSelection(),(this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.has(t)&&(this.$set(this.selectionRowMap,t,e),this.$refs.tableRef.toggleRowSelection(e,!0))}),this.$nextTick(()=>{this.isSyncingSelection=!1}))},handleSearch(e){if(this.resetSelectionState(),e&&e._resetPage){const{_resetPage:t,...i}=e;return this.internalPagination.currentPage=1,this.$emit("update:currentPage",1),void this.$emit("search",i)}this.$emit("search",e)},handleReset(){this.resetSelectionState(),this.$emit("reset")},handleAdd(){this.$emit("add")},handleSizeChange(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e),this.$emit("size-change",e),this.$emit("page-change",{currentPage:this.currentPageModel,pageSize:e}),this.loadData&&this.loadData()},handleCurrentChange(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e),this.$emit("current-change",e),this.$emit("page-change",{currentPage:e,pageSize:this.pageSizeModel}),this.loadData&&this.loadData()},handleSelectionChange(e){if(this.isSyncingSelection)return;if(!this.currentRowKey)return void this.$emit("selection-change",e);(this.tableData||[]).map(e=>this.getRowKey(e)).forEach(e=>{this.pendingSelectionKeys.delete(e),this.$delete(this.selectionRowMap,e)}),(e||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.$emit("selection-change",Object.values(this.selectionRowMap))},handleSortChange(e){this.$emit("sort-change",e)},handleRowClick(e,t,i){this.$emit("row-click",e,t,i)},handleLinkClick(e,t){this.$emit("link-click",e,t)},initSearchAndLoad(){this.$nextTick(()=>{this.showSearch&&this.$refs.searchRef?this.$emit("search",this.$refs.searchRef.getFormData()):this.loadData&&this.loadData()})},getSearchFormData(){return this.$refs.searchRef?this.$refs.searchRef.getFormData():{}},setSearchFormData(e){this.$refs.searchRef&&this.$refs.searchRef.setFormData(e)},resetSearchForm(){this.$refs.searchRef&&this.$refs.searchRef.resetForm()},validateSearchForm(){return this.$refs.searchRef?this.$refs.searchRef.validate():Promise.resolve(!0)},getPagination(){return{[this.pageTotalKey]:this.total,[this.pageNumberKey]:this.currentPageModel,[this.pageSizeKey]:this.pageSizeModel}},getSelectionRows(){var e,t;return this.currentRowKey?Object.values(this.selectionRowMap):(null==(t=null==(e=this.$refs.tableRef)?void 0:e.getSelectionRows)?void 0:t.call(e))||[]},getSelectionKeys(){var e,t;return this.currentRowKey?Array.from(this.pendingSelectionKeys):(null==(t=null==(e=this.$refs.tableRef)?void 0:e.getSelectionKeys)?void 0:t.call(e))||[]},setSelectionRows(e){this.currentRowKey?(this.pendingSelectionKeys=new Set,this.selectionRowMap={},(e||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.syncSelectionToCurrentPage()):this.$refs.tableRef&&this.$refs.tableRef.setSelectionRows(e)},setSelectionKeys(e){this.currentRowKey?(this.pendingSelectionKeys=new Set(e||[]),(this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.has(t)&&this.$set(this.selectionRowMap,t,e)}),this.syncSelectionToCurrentPage()):this.$refs.tableRef&&this.$refs.tableRef.setSelectionKeys(e)},clearAllSelection(){this.resetSelectionState()},selectAll(){this.$refs.tableRef&&(this.currentRowKey?((this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.$refs.tableRef.setSelectionRows(this.tableData)):this.$refs.tableRef.selectAll())},isRowSelected(e){var t,i;return this.currentRowKey?this.pendingSelectionKeys.has(this.getRowKey(e)):null==(i=null==(t=this.$refs.tableRef)?void 0:t.isRowSelected)?void 0:i.call(t,e)},isKeySelected(e){var t,i;return this.currentRowKey?this.pendingSelectionKeys.has(e):null==(i=null==(t=this.$refs.tableRef)?void 0:t.isKeySelected)?void 0:i.call(t,e)}}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-container"},[e.showSearch?t("page-search",e._b({ref:"searchRef",attrs:{items:e.searchItems,"external-params":e.externalSearchParams,"slot-renderers":e.$scopedSlots},on:{search:e.handleSearch,reset:e.handleReset}},"page-search",e.searchProps,!1)):e._e(),t("page-table",e._b({ref:"tableRef",attrs:{"table-data":e.tableData,columns:e.columns,"action-buttons":e.actionButtons,total:e.total,"current-page":e.currentPageModel,"page-size":e.pageSizeModel,"page-number-key":e.pageNumberKey,"page-size-key":e.pageSizeKey,"page-total-key":e.pageTotalKey,"slot-renderers":e.$scopedSlots},on:{add:e.handleAdd,"selection-change":e.handleSelectionChange,"sort-change":e.handleSortChange,"row-click":e.handleRowClick,"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange,"link-click":e.handleLinkClick}},"page-table",e.tableProps,!1))],1)},[],!1,null,"400797f6",null,null).exports;[N,$,K].forEach(e=>{e.install=function(t){t.component(e.name,e)}});var O=function(){var e=this,t=e._self._c;return t("el-dialog",{attrs:{visible:e.visible,width:e.normalizedWidth,modal:e.modal,"modal-class":e.modalClassName,"show-close":!1,"append-to-body":!1,"close-on-click-modal":e.closeOnClickModal,"custom-class":e.dialogCustomClass},on:{"update:visible":function(t){e.visible=t},close:e.dealClose,closed:e.dealClosed}},[t("div",{staticClass:"ns-dialog-plus__header",attrs:{slot:"title"},on:{mousedown:e.handleDragStart},slot:"title"},[t("div",{staticClass:"ns-dialog-plus__title"},[e.resolvedHeaderDom?t(e.resolvedHeaderDom,e._g(e._b({tag:"component"},"component",e.headerOption,!1),e.mergeEvents(e.headerEvents))):[e._v(e._s(e.currentTitle))]],2),t("div",{staticClass:"ns-dialog-plus__actions"},[e.showMaximizeButton?t("el-button",{staticClass:"ns-dialog-plus__action-btn",attrs:{type:"text"},on:{click:function(t){return t.stopPropagation(),e.toggleMaximize.apply(null,arguments)}}},[e._v(" "+e._s(e.isMaximized?"还原":"最大化")+" ")]):e._e(),t("el-button",{staticClass:"ns-dialog-plus__action-btn",attrs:{type:"text"},on:{click:function(t){return t.stopPropagation(),e.closeDialog.apply(null,arguments)}}},[e._v("关闭")])],1)]),t("div",{staticClass:"ns-dialog-plus__body",style:e.bodyStyle},[t(e.resolvedDom,e._g(e._b({ref:"contentRef",tag:"component"},"component",e.currentOption,!1),e.mergeEvents(e.events)))],1),e.showFooter?t("div",{staticClass:"ns-dialog-plus__footer",attrs:{slot:"footer"},slot:"footer"},[e.resolvedFooterDom?t(e.resolvedFooterDom,e._g(e._b({tag:"component"},"component",e.footerOption,!1),e.mergeEvents(e.footerEvents))):[t("el-button",{on:{click:e.closeDialog}},[e._v(e._s(e.footerButtonText.close))]),t("el-button",{attrs:{type:"primary",loading:e.footerLoading},on:{click:e.dealConfirm}},[e._v(e._s(e.footerButtonText.confirm))])]],2):e._e()])};const F=u({name:"NsDialogComponent",props:{className:{type:String,default:""},title:{type:String,default:""},width:{type:[Number,String],default:500},height:{type:[Number,String],default:""},modal:{type:Boolean,default:!0},dialogPadding:{type:[Number,String,Array],default:-1},modalColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},closeOnClickModal:{type:Boolean,default:!0},dom:{type:[Object,Function],default:null},option:{type:Object,default:()=>({})},events:{type:Object,default:()=>({})},domCompleted:{type:Function,default:null},headerDom:{type:[Object,Function],default:null},headerOption:{type:Object,default:()=>({})},headerEvents:{type:Object,default:()=>({})},showFooter:{type:Boolean,default:!0},footerDom:{type:[Object,Function],default:null},footerOption:{type:Object,default:()=>({})},footerTitle:{type:Object,default:()=>({close:"取消",confirm:"确定"})},footerEvents:{type:Object,default:()=>({})},immediately:{type:Boolean,default:!1},close:{type:Function,default:null},closed:{type:Function,default:null},draggable:{type:Boolean,default:!1},confirm:{type:Function,default:null},x:{type:[Number,String],default:null},y:{type:[Number,String],default:null},maxSize:{type:Function,default:null},dialogInstance:{type:Object,default:null},containerId:{type:String,default:""}},data(){return{visible:!1,currentTitle:this.title,currentOption:{...this.option},currentWidth:this.width,currentHeight:this.height,currentX:this.x,currentY:this.y,footerLoading:!1,isMaximized:!1,originalSize:{width:this.width,height:this.height,x:this.x,y:this.y},dragContext:null,domCompletedCalled:!1}},computed:{normalizedWidth(){return this.normalizeSize(this.currentWidth||this.width||500)},bodyStyle(){return{padding:this.resolvePadding(),minHeight:this.currentHeight?this.normalizeSize(this.currentHeight):"auto",maxHeight:this.currentHeight?this.normalizeSize(this.currentHeight):"none",overflow:"auto"}},dialogCustomClass(){return["ns-dialog-plus",this.className,this.hasAbsolutePosition?"ns-dialog-plus--absolute":""].filter(Boolean).join(" ")},modalClassName(){return`ns-dialog-plus-modal ns-dialog-plus-modal--${this.containerId}`},resolvedDom(){return this.resolveComponent(this.dom)},resolvedHeaderDom(){return this.resolveComponent(this.headerDom)},resolvedFooterDom(){return this.resolveComponent(this.footerDom)},footerButtonText(){var e,t;return{close:(null==(e=this.footerTitle)?void 0:e.close)||"取消",confirm:(null==(t=this.footerTitle)?void 0:t.confirm)||"确定"}},showMaximizeButton(){return"function"==typeof this.maxSize},hasAbsolutePosition(){return null!==this.currentX||null!==this.currentY}},watch:{option:{handler(e){this.currentOption={...e}},deep:!0},title(e){this.currentTitle=e},width(e){this.isMaximized||(this.currentWidth=e)},height(e){this.isMaximized||(this.currentHeight=e)},x(e){this.isMaximized||(this.currentX=e)},y(e){this.isMaximized||(this.currentY=e)},visible(){this.$nextTick(()=>{this.applyDialogLayout(),this.syncDialogInstance(),this.triggerDomCompleted()})}},mounted(){o(),this.visible=!0,this.updateModalStyle(),this.syncDialogInstance(),this.$nextTick(()=>{this.applyDialogLayout(),this.triggerDomCompleted()}),document.addEventListener("keydown",this.handleKeydown)},updated(){this.syncDialogInstance(),this.triggerDomCompleted(),this.$nextTick(()=>{this.applyDialogLayout()})},beforeDestroy(){document.removeEventListener("keydown",this.handleKeydown),this.removeDragListeners(),this.removeModalStyle()},methods:{normalizeSize:e=>null==e||""===e?"":/^\d+$/.test(String(e))?`${e}px`:String(e),resolvePadding(){return Array.isArray(this.dialogPadding)?this.dialogPadding.map(e=>this.normalizeSize(e)).join(" "):-1===this.dialogPadding||"-1"===this.dialogPadding?"16px 20px":this.normalizeSize(this.dialogPadding)},resolveComponent:e=>e?e.default?e.default:"function"==typeof e.then?()=>e:e:null,mergeEvents(e={}){return{...e,close:()=>this.closeDialog()}},resolveDialogElement(){return this.$el&&this.$el.querySelector?this.$el.querySelector(".el-dialog"):null},resolveWrapperElement(){return this.$el&&this.$el.querySelector?this.$el.querySelector(".el-dialog__wrapper"):null},applyDialogLayout(){const e=this.resolveDialogElement();e&&(this.currentHeight?(e.style.height=this.normalizeSize(this.currentHeight),e.style.display="flex",e.style.flexDirection="column"):e.style.height="",this.hasAbsolutePosition?(e.style.position="fixed",e.style.margin="0",null!==this.currentX&&(e.style.left=this.normalizeSize(this.currentX)),null!==this.currentY&&(e.style.top=this.normalizeSize(this.currentY))):(e.style.position="",e.style.left="",e.style.top=""))},updateModalStyle(){if(!this.containerId)return;let e=document.getElementById(`style-${this.containerId}`);e||(e=document.createElement("style"),e.id=`style-${this.containerId}`,document.head.appendChild(e)),e.textContent=`.${this.modalClassName.replace(/ /g,".")} { background-color: ${this.modalColor} !important; }`},removeModalStyle(){if(!this.containerId)return;const e=document.getElementById(`style-${this.containerId}`);e&&e.parentNode&&e.parentNode.removeChild(e)},syncDialogInstance(){this.dialogInstance&&(this.dialogInstance.domRef=this.$refs.contentRef||null,this.dialogInstance.updateOption=(e={})=>{Object.prototype.hasOwnProperty.call(e,"title")&&(this.currentTitle=e.title),Object.prototype.hasOwnProperty.call(e,"width")&&(this.currentWidth=e.width),Object.prototype.hasOwnProperty.call(e,"height")&&(this.currentHeight=e.height),Object.prototype.hasOwnProperty.call(e,"x")&&(this.currentX=e.x),Object.prototype.hasOwnProperty.call(e,"y")&&(this.currentY=e.y);const t={...e};delete t.title,delete t.width,delete t.height,delete t.x,delete t.y,this.currentOption={...this.currentOption,...t}},this.dialogInstance.callMethod=(e,...t)=>{const i=this.$refs.contentRef;if(i&&"function"==typeof i[e])return i[e](...t)},this.dialogInstance.close=()=>this.closeDialog())},triggerDomCompleted(){this.domCompletedCalled||this.$refs.contentRef&&(this.domCompletedCalled=!0,"function"==typeof this.domCompleted&&this.domCompleted(this.$refs.contentRef))},toggleMaximize(){if(this.showMaximizeButton){if(this.isMaximized)this.currentWidth=this.originalSize.width,this.currentHeight=this.originalSize.height,this.currentX=this.originalSize.x,this.currentY=this.originalSize.y,this.isMaximized=!1;else{this.originalSize={width:this.currentWidth,height:this.currentHeight,x:this.currentX,y:this.currentY};const e=this.maxSize&&this.maxSize()||{};this.currentWidth=e.width||"100vw",this.currentHeight=e.height||"100vh",this.currentX=void 0!==e.x?e.x:0,this.currentY=void 0!==e.y?e.y:0,this.isMaximized=!0}this.$nextTick(()=>this.applyDialogLayout())}},closeDialog(){this.visible=!1},dealClose(){"function"==typeof this.close&&this.close()},dealClosed(){"function"==typeof this.closed&&this.closed()},dealConfirm(){if(this.footerLoading=!0,this.confirm)return this.immediately?(this.footerLoading=!1,this.visible=!1,void this.confirm(null,this.$refs.contentRef)):void this.confirm(()=>{this.footerLoading=!1,this.visible=!1,this.$message&&this.$message.success&&this.$message.success("操作成功")},this.$refs.contentRef,{value:this.footerLoading,set value(e){this.footerLoading=e}});this.footerLoading=!1},handleKeydown(e){this.visible&&this.showFooter&&("Enter"!==e.key||this.footerDom||(e.preventDefault(),this.dealConfirm()))},handleDragStart(e){if(!this.draggable||this.showMaximizeButton||0!==e.button)return;const t=this.resolveDialogElement();if(!t)return;const i=t.getBoundingClientRect();this.currentX=i.left,this.currentY=i.top,this.dragContext={startX:e.clientX,startY:e.clientY,originX:i.left,originY:i.top},document.addEventListener("mousemove",this.handleDragMove),document.addEventListener("mouseup",this.handleDragEnd)},handleDragMove(e){if(!this.dragContext)return;const t=e.clientX-this.dragContext.startX,i=e.clientY-this.dragContext.startY;this.currentX=this.dragContext.originX+t,this.currentY=this.dragContext.originY+i,this.applyDialogLayout()},handleDragEnd(){this.removeDragListeners()},removeDragListeners(){document.removeEventListener("mousemove",this.handleDragMove),document.removeEventListener("mouseup",this.handleDragEnd),this.dragContext=null}}},O,[],!1,null,"4f4f8603",null,null).exports,T="undefined"!=typeof window?window.__dialogInstances=window.__dialogInstances||[]:[];let L=t,V=0;function B(e){e&&(e.extend?L=e:e.constructor&&e.constructor.extend&&(L=e.constructor))}function M(){T.slice().forEach(e=>{e&&"function"==typeof e.close&&e.close()})}function j(e,i=!0,n="#app"){if(!e||!e.dom)return!1;const a=(l=n,"undefined"==typeof document?null:document.querySelector(l)||document.body);var l;if(!a)return!1;const r=e.id||`ns-dialog-${Date.now()}-${V++}`,s=document.createElement("div");s.id=r,a.appendChild(s);const o={id:r,class:e.class||"",element:s,vm:null,domRef:null,updateOption:()=>{},callMethod:()=>{},close:()=>{}},d=new((L||t).extend(F))({propsData:{...e,className:e.class||"",modal:i,containerId:r,dialogInstance:o,close:()=>{"function"==typeof e.close&&e.close()},closed:()=>{try{"function"==typeof e.closed&&e.closed()}finally{o.vm&&o.vm.$destroy(),s.parentNode&&s.parentNode.removeChild(s),function(e){const t=T.findIndex(t=>t.id===e.id);t>-1&&T.splice(t,1)}(o)}}}});return o.vm=d,o.close=()=>{d&&"function"==typeof d.closeDialog&&d.closeDialog()},T.push(o),d.$mount(s),o}const I=[f,g,N,$,K];function H(e){H.installed||(H.installed=!0,r(e),I.forEach(t=>{t&&t.name&&e.component(t.name,t)}),B(e),o(),e&&e.prototype&&(e.prototype.$NsDialog=j,e.prototype.$closeAllNsDialog=M),"undefined"!=typeof window&&(window.NsDialog=j,window.closeAllNsDialog=M))}const W={install:H,NsForm:f,NsFormTitle:g,NsTableContainer:N,NsSearch:$,NsTable:K,NsDialog:j,closeAllNsDialog:M,setExternalApp:B,useFileUpload:y,getAllFormNodeByKey:w,getAllFormKvData:S,getAllFormNodeRefByKey:R,createPagination:A,createPaginationWithCustomKeys:D,resetPagination:k};e.NsDialog=j,e.NsForm=f,e.NsFormTitle=g,e.NsSearch=$,e.NsTable=K,e.NsTableContainer=N,e.closeAllNsDialog=M,e.createPagination=A,e.createPaginationWithCustomKeys=D,e.default=W,e.getAllFormKvData=S,e.getAllFormNodeByKey=w,e.getAllFormNodeRefByKey=R,e.install=H,e.resetPagination=k,e.setExternalApp=B,e.useFileUpload=y,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Vue2ComponentsPlus={},e.Vue)}(this,function(e,t){"use strict";function i(e,t,i=!0){let n="",a=!1,l=!1;return String(e||"").split("").forEach((e,t)=>{if("-"!==e)if("."!==e){if(/^\d$/.test(e)){"0"!==(a?n.slice(1):n)||"0"===e||l||(n=a?"-":""),n+=e}}else 0===t||l||"-"===n[n.length-1]||(n+=e,l=!0);else i&&0===t&&!a&&(n+=e,a=!0)}),n.slice(0,t)}function n(e,t){if(t.int){const i=function(e,t,i){let n="",a=!1;const l=null!==i.min&&i.min<0;return String(e||"").split("").forEach((e,t)=>{"-"!==e?/^\d$/.test(e)&&("0"===(a?n.slice(1):n)&&"0"!==e&&(n=a?"-":""),n+=e):l&&0===t&&!a&&(n+=e,a=!0)}),n.slice(0,t)}(e,t.maxLength||50,t);if(""===i||"-"===i)return i;const n=parseInt(i,10);return Number.isNaN(n)?"":null!==t.min&&n<t.min?String(Math.ceil(t.min)):null!==t.max&&n>t.max?String(Math.floor(t.max)):i}const n=null!==t.min&&t.min<0,a=i(e,t.maxLength||50,n);if(""===a||"-"===a||"."===a)return a;const l=parseFloat(a);return Number.isNaN(l)?"":null!==t.min&&l<t.min?String(t.min):null!==t.max&&l>t.max?String(t.max):a}function a(e){return e?"INPUT"===e.tagName||"TEXTAREA"===e.tagName?e:e.querySelector("input, textarea"):null}function l(e,t){if(!e)return;const a=function(e){const t={maxLength:50,pattern:null,min:null,max:null,int:!1},i=e.value;return"number"==typeof i?{...t,maxLength:i}:i&&"object"==typeof i?{maxLength:i.maxLength||t.maxLength,pattern:i.pattern||null,min:"number"==typeof i.min?i.min:null,max:"number"==typeof i.max?i.max:null,int:!!i.int}:t}(t);let l=e.value||"";l=t.modifiers.range?n(l,a):t.modifiers.number?i(l,a.maxLength):t.modifiers.regex&&a.pattern?function(e,t,i){let n="";return String(e||"").split("").forEach(e=>{if(n.length>=t)return;const a=n+e;i.test(a)&&(n=a)}),n}(l,a.maxLength,a.pattern):String(l).slice(0,a.maxLength),l!==e.value&&(e.value=l,e.dispatchEvent(new Event("input",{bubbles:!0})))}function r(e){e.directive("sline",{inserted(e){e.style.whiteSpace="nowrap",e.style.overflow="hidden",e.style.textOverflow="ellipsis",e.style.display="inline-block",e.style.maxWidth="100%"}}),e.directive("permission",{inserted(e,t){let i=[];try{i=JSON.parse(sessionStorage.getItem("btnsPermission")||localStorage.getItem("btnsPermission")||"[]")}catch(l){i=[]}Array.isArray(i)||(i=[]);const n=t.modifiers.class?"class":"id",a=!!t.modifiers.display;("class"===n?i.some(t=>e.classList.contains(t)):i.includes(e.getAttribute("id")))||(a?e.style.display="none":(e.style.visibility="hidden",e.style.pointerEvents="none"))}}),e.directive("length",{inserted(e,t){!function(e,t){const i=a(e);if(!i)return;let n=!1;const r=()=>{n=!0},s=()=>{n=!1,l(i,t)},o=()=>{n||l(i,t)};i.addEventListener("compositionstart",r),i.addEventListener("compositionend",s),i.addEventListener("input",o),l(i,t),e.__nsLengthHandlers={inputEl:i,handleCompositionStart:r,handleCompositionEnd:s,handleInput:o}}(e,t)},componentUpdated(e,t){l(a(e),t)},unbind(e){!function(e){const t=e.__nsLengthHandlers;t&&(t.inputEl.removeEventListener("compositionstart",t.handleCompositionStart),t.inputEl.removeEventListener("compositionend",t.handleCompositionEnd),t.inputEl.removeEventListener("input",t.handleInput),delete e.__nsLengthHandlers)}(e)}}),e.directive("event-unuse",{inserted(e){e.style.pointerEvents="none"}}),e.directive("event-use",{inserted(e){e.style.pointerEvents="auto"}})}let s=class{};function o(){if("undefined"==typeof document)return s.VARS;if(Object.keys(s.VARS).length>0)return s.VARS;const e={};return Array.from(document.styleSheets||[]).forEach(t=>{let i=[];try{i=Array.from(t.cssRules||[])}catch(n){i=[]}i.forEach(t=>{":root"===t.selectorText&&Array.from(t.style||[]).filter(e=>0===e.indexOf("--matrix-")).forEach(i=>{e[i]=t.style.getPropertyValue(i).trim()})})}),s.VARS=e,e}function d(e,t){const i=String("string"==typeof e?e:e&&e.name?e.name:"").replace(/-/g,"").toLowerCase();return t.some(e=>i===e.toLowerCase())}s.VARS={};function c(e){return!!Array.isArray(e)||(0===e||"0"===e||!(""===e||null==e||"null"===e||"undefined"===e||""===String(e).trim()||"undefined"===String(e).trim()))}function u(e,t,i,n,a,l,r,s){var o,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),n&&(d.functional=!0),l&&(d._scopeId="data-v-"+l),r?(o=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=o):a&&(o=s?function(){a.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:a),o)if(d.functional){d._injectStyles=o;var c=d.render;d.render=function(e,t){return o.call(t),c(e,t)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,o):[o]}return{exports:e,options:d}}function h(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>h(e));const t={};return Object.keys(e).forEach(i=>{t[i]=h(e[i])}),t}function p(e){return String("string"==typeof e?e:e&&e.name?e.name:"").replace(/-/g,"").toLowerCase()}const f=u({name:"NsForm",components:{FormFieldRenderer:{name:"NsFormFieldRenderer",inheritAttrs:!1,props:{field:{type:Object,required:!0},value:{default:void 0}},mounted(){this.emitRef()},updated(){this.emitRef()},methods:{emitRef(){this.$emit("ref",this.$refs.control||null)},getComponent(){return(e=this.field.component)?"string"==typeof e?"string"!=typeof(t=e)?t:t.indexOf("-")>-1?t.toLowerCase():t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase():e:"span";var e,t},isUpload(){return d(this.field.component,["elupload"])},rendersOptionsByChildren(){return d(this.field.component,["elselect","elradiogroup","elcheckboxgroup"])},isFullWidthComponent(){return d(this.field.component,["elinput","elselect","elcascader","eldatepicker","eltimepicker","elinputnumber","elautocomplete"])},buildProps(){const e=this.field.params||{},t={};return Object.keys(e).forEach(i=>{0!==i.indexOf("v-")&&"rules"!==i&&"style"!==i&&("options"===i&&this.rendersOptionsByChildren()||(t[i]=e[i]))}),this.isUpload()||(t.value=this.value),t},buildStyle(){const e=this.field.params||{},t={...this.field.style||{},...e.style||{}};return this.isFullWidthComponent()&&void 0===t.width&&(t.width="100%"),t},buildDirectives(){const e=this.field.params||{};return Object.keys(e).filter(e=>0===e.indexOf("v-")).map(t=>{const[,i]=t.split("v-"),[n,...a]=i.split("."),l={};return a.forEach(e=>{l[e]=!0}),{name:n,value:e[t],modifiers:l}})},buildEvents(){const e=this.field.events||{},t={};if(Object.keys(e).forEach(i=>{t[i]=(...t)=>{e[i](...t)}}),!this.isUpload()){const e=t.input;t.input=(t,...i)=>{this.$emit("input",t),e&&e(t,...i)}}return t},buildScopedSlots(){const e=this.field.slots||{},t={};return Object.keys(e).forEach(i=>{"function"==typeof e[i]&&(t[i]=t=>e[i](t))}),t},renderOptionNodes(e){const t=(this.field.params||{}).options||[],i=this.getComponent();return Array.isArray(t)&&0!==t.length?d(i,["elselect"])?t.map((t,i)=>e("el-option",{key:void 0!==t.value?t.value:i,props:{label:t.label,value:t.value,disabled:t.disabled}})):d(i,["elradiogroup"])?t.map((t,i)=>e("el-radio",{key:void 0!==t.value?t.value:i,props:{label:t.value,disabled:t.disabled}},[t.label])):d(i,["elcheckboxgroup"])?t.map((t,i)=>e("el-checkbox",{key:void 0!==t.value?t.value:i,props:{label:t.value,disabled:t.disabled}},[t.label])):[]:[]}},render(e){const t=this.getComponent(),i=[],n=this.field.slots||{};return Object.keys(n).forEach(e=>{var t,a;"function"==typeof n[e]&&i.push(...(t=n[e]({field:this.field,value:this.value}),a=e,t?(Array.isArray(t)?t:[t]).map(e=>function(e,t){return e&&"default"!==t?((e.data||(e.data={})).slot=t,e):e}(e,a)).filter(Boolean):[]))}),e(t,{ref:"control",props:this.buildProps(),style:this.buildStyle(),on:this.buildEvents(),directives:this.buildDirectives(),scopedSlots:this.buildScopedSlots()},[...this.renderOptionNodes(e),...i])}}},props:{model:{type:String,default:""},readOnly:{type:Boolean,default:!1},labelWidth:{type:String,default:"80px"},superLabelWidth:{type:String,default:"30px"},labelColor:{type:String,default:"#0A7BFF"},gapH:{type:String,default:"10px"},gapV:{type:String,default:"10px"},height:{type:String,default:"32px"},rows:{type:Array,default:()=>[]},backgroundColor:{type:String,default:""},valueEmptyTag:{type:String,default:"--"},formPropKey:{type:String,default:"rows"},hasPoint:{type:Boolean,default:!1}},data:()=>({componentRefs:{}}),computed:{formClassList(){return{"is-vertical":this.model.indexOf("vertical")>-1,"is-table":this.model.indexOf("table")>-1,"is-readonly":this.readOnly}},wrapperStyle(){return{"--ns-form-label-width":this.normalizeSize(this.labelWidth),"--ns-form-super-label-width":this.normalizeSize(this.superLabelWidth),"--ns-form-label-color":this.labelColor,"--ns-form-row-gap":this.gapV,"--ns-form-col-gap":this.gapH,"--ns-form-item-height":this.normalizeSize(this.height),"--ns-form-background-color":this.backgroundColor||"#ffffff"}},rowStyle(){return{marginBottom:this.model.indexOf("table")>-1?"0":this.gapV}},labelStyle(){return{width:this.normalizeSize(this.labelWidth),color:this.labelColor}},groupLabelStyle(){return{width:this.normalizeSize(this.superLabelWidth),color:this.labelColor}},valueStyle(){return{minHeight:this.normalizeSize(this.height)}}},watch:{rows:{handler(e){this.initializeDefaultValues(e)},deep:!0,immediate:!0}},methods:{walkFields(e){(this.rows||[]).forEach((t,i)=>{(t||[]).forEach((t,n)=>{e(t,i,n,null,null),(t.children||[]).forEach((a,l)=>{e(a,i,n,l,t)})})})},initializeDefaultValues(e){(e||[]).forEach(e=>{(e||[]).forEach(e=>{e&&e.key&&void 0===e.defaultValue&&this.$set(e,"defaultValue",h(e.value)),(e.children||[]).forEach(e=>{e&&e.key&&void 0===e.defaultValue&&this.$set(e,"defaultValue",h(e.value))})})})},normalizeSize:e=>null==e||""===e?"":/^\d+$/.test(String(e))?`${e}px`:String(e),hasChildren:e=>Array.isArray(e.children)&&e.children.length>0,getItemStyle(e,t){if(0===e.span)return{display:"none"};if("string"==typeof e.span&&e.span.indexOf("%")>-1)return{flex:`0 0 ${e.span}`,maxWidth:e.span};if(void 0!==e.span&&null!==e.span&&""!==e.span){const t=Number(e.span);if(!Number.isNaN(t)){const e=t>24?`${t}px`:t/24*100+"%";return{flex:`0 0 ${e}`,maxWidth:e}}}const i=`calc(${100/((t||[]).filter(e=>e&&0!==e.span).length||1)}% - ${this.gapH})`;return{flex:`0 0 ${i}`,maxWidth:i}},getFieldRules(e){return this.readOnly?[]:e.params&&e.params.rules||[]},isRequiredField(e){return!(!e||this.readOnly)&&("boolean"==typeof e.required?e.required:this.getFieldRules(e).some(e=>e&&e.required))},getFieldRequired(e){return!(!e||this.readOnly)&&(e&&"boolean"==typeof e.required?e.required:void 0)},updateFieldValue(e,t){this.$set(e,"value",t)},setComponentRef(e,t){e&&e.key&&(this.$set(e,"ref",t),this.$set(this.componentRefs,e.key,t))},showReadOnlyText(e){return this.readOnly&&!(e&&e.readOnlyUseComponent)},normalizeDisplayValue(e,t){return c(e)?Array.isArray(e)?e.join(","):e:t&&t.valueEmptyTag||this.valueEmptyTag},getReadOnlyDisplayValue(e){var t,i,n;return e?"function"==typeof(null==(t=e.params)?void 0:t.formatter)?e.params.formatter(e.value,e)||this.valueEmptyTag:c(e.value)?this.isUploadComponent(e)?(e.value||[]).map(e=>e.fileName||e.name||e.filePath).filter(Boolean).join(",")||e.valueEmptyTag||this.valueEmptyTag:this.isSwitchComponent(e)?e.value?(null==(i=e.params)?void 0:i.activeText)||"是":(null==(n=e.params)?void 0:n.inactiveText)||"否":this.isSelectLikeComponent(e)?this.getOptionDisplayText(e):this.isCascaderComponent(e)?this.getCascaderDisplayValue(e):Array.isArray(e.value)?e.value.join(","):e.value:e.valueEmptyTag||this.valueEmptyTag:this.valueEmptyTag},getOptionDisplayText(e){var t;const i=(null==(t=e.params)?void 0:t.options)||[],n=e.value;return(Array.isArray(n)?n:"string"==typeof n&&n.indexOf(",")>-1?n.split(",").filter(Boolean):[n]).map(e=>{const t=i.find(t=>t.value===e);return t?t.label:e}).filter(e=>null!=e&&""!==e).join(",")||e.valueEmptyTag||this.valueEmptyTag},getCascaderDisplayValue(e){var t,i,n,a;const l=e.params||{},r=l.options||[],s={value:(null==(t=l.props)?void 0:t.value)||"value",label:(null==(i=l.props)?void 0:i.label)||"label",children:(null==(n=l.props)?void 0:n.children)||"children",multiple:!!(null==(a=l.props)?void 0:a.multiple),separator:l.separator||" / "},o=e=>{const t=[];let i=r;return(e=>Array.isArray(e)?e:"string"==typeof e&&e.indexOf(",")>-1?e.split(",").filter(Boolean):[e])(e).forEach(e=>{const n=(i||[]).find(t=>t[s.value]===e);n&&(t.push(n[s.label]),i=n[s.children])}),t.join(s.separator)};return s.multiple&&Array.isArray(e.value)&&Array.isArray(e.value[0])?e.value.map(e=>o(e)).join(","):o(e.value)},isSelectLikeComponent:e=>["elselect","elradiogroup","elcheckboxgroup"].includes(p(e.component)),isSwitchComponent:e=>"elswitch"===p(e.component),isCascaderComponent:e=>"elcascader"===p(e.component),isUploadComponent:e=>"elupload"===p(e.component),getFormNodeByKey(e){for(let t=0;t<this.rows.length;t+=1){const i=this.rows[t];for(let t=0;t<i.length;t+=1){const n=i[t];if(n.key===e)return n;for(let t=0;t<(n.children||[]).length;t+=1){const i=n.children[t];if(i.key===e)return i}}}return null},getFormNodeRefByKey(e){return this.componentRefs[e]||null},getFormKvData(){const e={};return this.walkFields(t=>{t&&t.key&&(e[t.key]=Array.isArray(t.value)&&Array.isArray(t.delValue)?t.value.concat(t.delValue):t.value)}),e},resetForm(e=!1){this.walkFields(t=>{var i,n;if(!t||!t.key)return;const a=h(t.value),l=void 0!==t.defaultValue?h(t.defaultValue):Array.isArray(t.value)?[]:"boolean"!=typeof t.value&&("number"==typeof t.value?0:"");this.$set(t,"value",l),void 0!==t.delValue&&this.$set(t,"delValue",[]),t.params&&Array.isArray(t.params.fileList)&&t.params.fileList.splice(0,t.params.fileList.length),e&&JSON.stringify(a)!==JSON.stringify(l)&&("function"==typeof(null==(i=t.events)?void 0:i.change)&&this.$nextTick(()=>t.events.change(l)),"function"==typeof(null==(n=t.events)?void 0:n.input)&&this.$nextTick(()=>t.events.input(l)))})},setFormData(e){e&&"object"==typeof e&&this.walkFields(t=>{if(!t||!t.key||!Object.prototype.hasOwnProperty.call(e,t.key))return;let i=h(e[t.key]);if(this.isCascaderComponent(t)&&"string"==typeof i&&i.indexOf(",")>-1&&(i=i.split(",").filter(Boolean)),this.$set(t,"value",i),this.isUploadComponent(t)){const e=Array.isArray(i)?h(i):[];t.params&&this.$set(t.params,"fileList",e)}})},initDefaultValues(){this.initializeDefaultValues(this.rows)}}},function(){var e=this,t=e._self._c;return e.rows&&e.rows.length?t("div",{staticClass:"ns-dynamic-form",class:e.formClassList,style:e.wrapperStyle},e._l(e.rows,function(i,n){return t("div",{key:`row-${n}`,staticClass:"ns-dynamic-form__row",style:e.rowStyle},e._l(i,function(a,l){return t("div",{key:a.key||`${n}-${l}`,staticClass:"ns-dynamic-form__item",class:{"has-children":e.hasChildren(a)},style:e.getItemStyle(a,i)},[e.hasChildren(a)?[!a.hideLabel&&a.label?t("div",{staticClass:"ns-dynamic-form__group-label",style:e.groupLabelStyle},[e._v(" "+e._s(a.label)+" ")]):e._e(),t("div",{staticClass:"ns-dynamic-form__children"},e._l(a.children,function(i,a){return t("div",{key:i.key||`${n}-${l}-${a}`,staticClass:"ns-dynamic-form__child"},[!i.hideLabel&&i.label?t("div",{staticClass:"ns-dynamic-form__label",class:{"has-point":e.hasPoint||e.isRequiredField(i)},style:e.labelStyle},[e._v(" "+e._s(i.label)+" ")]):e._e(),t("div",{staticClass:"ns-dynamic-form__value",style:e.valueStyle},[e.showReadOnlyText(i)?[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.getReadOnlyDisplayValue(i)))])]:i.component?[t("el-form-item",{staticClass:"ns-dynamic-form__form-item",attrs:{"label-width":"0px",prop:`${e.formPropKey}.${n}.${l}.children.${a}.value`,rules:e.getFieldRules(i),required:e.getFieldRequired(i)}},[t("form-field-renderer",{attrs:{field:i,value:i.value},on:{input:function(t){return e.updateFieldValue(i,t)},ref:function(t){return e.setComponentRef(i,t)}}})],1)]:[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.normalizeDisplayValue(i.value,i)))])]],2)])}),0)]:[!a.hideLabel&&a.label?t("div",{staticClass:"ns-dynamic-form__label",class:{"has-point":e.hasPoint||e.isRequiredField(a)},style:e.labelStyle},[e._v(" "+e._s(a.label)+" ")]):e._e(),t("div",{staticClass:"ns-dynamic-form__value",style:e.valueStyle},[e.showReadOnlyText(a)?[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.getReadOnlyDisplayValue(a)))])]:a.component?[t("el-form-item",{staticClass:"ns-dynamic-form__form-item",attrs:{"label-width":"0px",prop:`${e.formPropKey}.${n}.${l}.value`,rules:e.getFieldRules(a),required:e.getFieldRequired(a)}},[t("form-field-renderer",{attrs:{field:a,value:a.value},on:{input:function(t){return e.updateFieldValue(a,t)},ref:function(t){return e.setComponentRef(a,t)}}})],1)]:[t("span",{directives:[{name:"sline",rawName:"v-sline"}]},[e._v(e._s(e.normalizeDisplayValue(a.value,a)))])]],2)]],2)}),0)}),0):e._e()},[],!1,null,"4efb4504",null,null).exports;class m{}m.VARS={};const g=u({name:"NsFormTitle",props:{title:{type:String,default:""}},mounted(){!function(){if("undefined"==typeof document)return m.VARS;if(Object.keys(m.VARS).length>0)return m.VARS;const e={};Array.from(document.styleSheets||[]).forEach(t=>{let i=[];try{i=Array.from(t.cssRules||[])}catch(n){i=[]}i.forEach(t=>{":root"===t.selectorText&&Array.from(t.style||[]).filter(e=>0===e.indexOf("--matrix-")).forEach(i=>{e[i]=t.style.getPropertyValue(i).trim()})})}),m.VARS=e}()}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"ns-form-title"},[t("div",{staticClass:"ns-form-title__header"},[e._t("title",function(){return[t("span",{staticClass:"ns-form-title__icon"}),t("span",{staticClass:"ns-form-title__text"},[e._v(e._s(e.title))])]})],2),t("div",{staticClass:"ns-form-title__content"},[e._t("default")],2)])},[],!1,null,"4e159c2c",null,null).exports;function y(e){const i=t.getCurrentInstance();return{handleFormatFileList:function(e,t){const n=function(e){var t;return(null==(t=null==e?void 0:e.proxy)?void 0:t.$ImageBaseUrl)||""}(i),a=Array.isArray(t)?t:[];return a.forEach(e=>{e.filePath&&!e.url&&(e.url=`${n}${e.filePath}`),e.name||(e.name=e.fileName||e.name||e.filePath||"未命名文件")}),e&&e.params&&(e.params.fileList=a),e&&(e.value=a.slice()),a},handleRemoveFile:function(t,i,n,a=e.rows){const l=w(a,n);if(!l)return i;const r=(i||[]).map(e=>({...e,fileName:e.response?e.response.data.fileName:e.fileName,filePath:e.response?e.response.data.filePath:e.filePath,fileSize:e.response?e.response.data.fileSize:e.fileSize}));return Array.isArray(l.delValue)||(l.delValue=[]),t.response||"success"!==t.status||l.delValue.push({...t,isDelete:1}),l.value=r,l.params&&(l.params.fileList=i||[]),i},handleFileSuccessFile:function(t,i,n,a,l=e.rows){const r=w(l,a);return r?(Array.isArray(r.value)||(r.value=[]),i&&"success"===i.status&&t&&t.data&&r.value.push({...t.data}),r.params&&(r.params.fileList=n||[]),n):n},handleCheckFileRequire:function(e,i,n,a="rows"){const l=w(e,i);l&&!Array.isArray(l.value)&&(l.value=[]);const r=function(e,t,i="rows"){for(let n=0;n<e.length;n+=1){const a=e[n];for(let e=0;e<a.length;e+=1){const l=a[e];if(l.key===t)return`${i}.${n}.${e}.value`;if(Array.isArray(l.children))for(let a=0;a<l.children.length;a+=1)if(l.children[a].key===t)return`${i}.${n}.${e}.children.${a}.value`}}return null}(e,i,a);t.nextTick(()=>{const e=n&&(n.value||n);r&&e&&"function"==typeof e.validateField&&e.validateField(r)})}}}function v(e){e.install=function(t){t.component(e.name,e)}}v(f),v(g);const b=f.install;function S(e){const t={};return(e||[]).forEach(e=>{(e||[]).forEach(e=>{e&&e.key&&(t[e.key]=Array.isArray(e.value)&&Array.isArray(e.delValue)?e.value.concat(e.delValue):e.value),(e.children||[]).forEach(e=>{e&&e.key&&(t[e.key]=Array.isArray(e.value)&&Array.isArray(e.delValue)?e.value.concat(e.delValue):e.value)})})}),t}function w(e,t){for(let i=0;i<(e||[]).length;i+=1){const n=e[i]||[];for(let e=0;e<n.length;e+=1){const i=n[e];if(i&&i.key===t)return i;const a=i&&i.children||[];for(let e=0;e<a.length;e+=1)if(a[e]&&a[e].key===t)return a[e]}}return null}function C(e,t){const i=w(e,t);return i&&i.ref||null}f.install=function(e){r(e),b(e)},"undefined"!=typeof globalThis&&(globalThis.getAllFormKvData=S,globalThis.getAllFormNodeByKey=w,globalThis.getAllFormNodeRefByKey=C);const R={name:"NsSlotRenderer",functional:!0,props:{renderer:{type:Function,default:null},scope:{type:Object,default:()=>({})}},render(e,t){const i=t.props.renderer;return i?i(t.props.scope||{}):null}};const $=u({name:"NsSearch",components:{SlotRenderer:R},inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},externalParams:{type:Object,default:()=>({})},defaultSpan:{type:Number,default:6},showCollapse:{type:Boolean,default:!0},collapseLimit:{type:Number,default:3},slotRenderers:{type:Object,default:()=>({})}},data:()=>({formData:{},isCollapsed:!0}),computed:{visibleItems(){return this.showCollapse&&this.isCollapsed?this.items.slice(0,this.collapseLimit):this.items}},watch:{items:{handler(){this.initFormData()},deep:!0,immediate:!0},externalParams:{handler(){this.formData={...this.formData,...this.externalParams}},deep:!0,immediate:!0}},methods:{normalizeComponent(e){return"string"==typeof e?"string"!=typeof(t=e)?t:t.indexOf("-")>-1?t.toLowerCase():t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase():e;var t},initFormData(){const e={};(this.items||[]).forEach(t=>{e[t.prop]=void 0!==t.defaultValue?t.defaultValue:void 0}),this.formData={...e,...this.externalParams}},isSlotItem:e=>e&&("slot"===e.type||!0===e.slot||"string"==typeof e.slot),getSlotRenderer(e){const t="string"==typeof e.slot?e.slot:e.slotName||e.prop;return this.slotRenderers[t]||null},isSelectComponent(e){return"el-select"===String(this.normalizeComponent(e.component||"")||"")},handleSearch(){this.$emit("search",{...this.formData,_resetPage:!0})},handleReset(){const e={};(this.items||[]).forEach(t=>{e[t.prop]=void 0!==t.defaultValue?t.defaultValue:void 0}),this.formData={...e,...this.externalParams},this.$emit("search",{...this.formData,_resetPage:!0}),this.$emit("reset")},toggleCollapse(){this.isCollapsed=!this.isCollapsed},getFormData(){return{...this.formData}},setFormData(e){this.formData={...this.formData,...e||{}}},resetForm(){this.handleReset()},validate(){return this.$refs.formRef&&this.$refs.formRef.validate?this.$refs.formRef.validate():Promise.resolve(!0)},clearValidate(e){this.$refs.formRef&&this.$refs.formRef.clearValidate&&this.$refs.formRef.clearValidate(e)}}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-search"},[t("el-form",e._b({ref:"formRef",staticClass:"page-search__form",attrs:{inline:!0,model:e.formData}},"el-form",e.$attrs,!1),[t("el-row",{attrs:{gutter:16}},[e._l(e.visibleItems,function(i,n){return t("el-col",{key:i.prop||n,attrs:{span:i.span||e.defaultSpan}},[t("el-form-item",e._b({attrs:{label:i.label,prop:i.prop}},"el-form-item",i.formItemAttrs||{},!1),[e.isSlotItem(i)?t("slot-renderer",{attrs:{renderer:e.getSlotRenderer(i),scope:{formData:e.formData,item:i}}}):t(e.normalizeComponent(i.component||"el-input"),e._g(e._b({tag:"component",model:{value:e.formData[i.prop],callback:function(t){e.$set(e.formData,i.prop,t)},expression:"formData[item.prop]"}},"component",i.attrs||{},!1),i.events||{}),[e.isSelectComponent(i)?e._l(i.children||[],function(e,i){return t("el-option",{key:void 0!==e.value?e.value:i,attrs:{label:e.label,value:e.value,disabled:e.disabled}})}):e._e()],2)],1)],1)}),t("el-col",{staticClass:"page-search__actions",attrs:{span:e.defaultSpan}},[t("el-form-item",{attrs:{"label-width":"0"}},[t("el-button",{attrs:{type:"primary"},on:{click:e.handleSearch}},[e._v("查询")]),t("el-button",{on:{click:e.handleReset}},[e._v("重置")]),e.showCollapse&&e.items.length>e.collapseLimit?t("el-button",{attrs:{type:"text"},on:{click:e.toggleCollapse}},[e._v(" "+e._s(e.isCollapsed?"展开":"收起")+" ")]):e._e()],1)],1)],2)],1)],1)},[],!1,null,"9eea70d9",null,null).exports,x=["children","slot","headerSlot","buttons","enum","type","imageWidth","imageHeight","linkText"],_={name:"NsTableColumn",props:{column:{type:Object,required:!0},slotRenderers:{type:Object,default:()=>({})}},methods:{getColumnProps(e){const t={...e};return x.forEach(e=>delete t[e]),t},getRenderer(e){return e?this.slotRenderers[e]:null},getCellValue:(e,t)=>t.prop?e[t.prop]:void 0,isVisible:(e,t)=>"function"==typeof e.show?!1!==e.show(t):void 0===e.show||!!e.show,isDisabled:(e,t)=>"function"==typeof e.disabled?!!e.disabled(t):!!e.disabled,renderActionButtons(e,t,i){return(Array.isArray(i.buttons)?i.buttons:[]).filter(e=>this.isVisible(e,t.row)).map((n,a)=>{const l=this.getRenderer(n.slot);return l?l({...t,row:t.row,column:i,button:n}):e("el-button",{key:n.label||a,props:{size:n.size||"mini",type:n.link?"text":n.type||"text",icon:"string"==typeof n.icon?n.icon:void 0,disabled:this.isDisabled(n,t.row)},on:{click:()=>{"function"==typeof n.handler&&n.handler(t.row,t.$index),this.$emit("button-click",t.row,i,n)}}},[n.label])})},renderTag(e,t,i){const n=this.getCellValue(t.row,i),a="function"==typeof i.tagType?i.tagType(t.row,n):i.tagType,l="function"==typeof i.formatter?i.formatter(t.row,i,n):this.resolveEnumText(i,n);return e("el-tag",{props:{type:a||"info",size:i.tagSize||"small"}},[l])},renderImage(e,t,i){const n=this.getCellValue(t.row,i);return n?e("img",{style:{width:i.imageWidth||"40px",height:i.imageHeight||"40px",objectFit:"cover",borderRadius:"4px"},attrs:{src:n,alt:i.label||"image"}}):"-"},renderLink(e,t,i){const n=this.getRenderer(i.slot);if(n)return n(t);const a=this.getCellValue(t.row,i);return e("el-button",{props:{type:"text"},on:{click:()=>this.$emit("link-click",t.row,i)}},[i.linkText||a||"-"])},resolveEnumText(e,t){const i=e.enum||e.options||[];if(!Array.isArray(i))return t;const n=i.find(e=>e.value===t);return n?n.label:t},renderDefaultCell(e,t,i){const n=this.getRenderer(i.slot);if(n)return n(t);if("action"===i.type)return e("div",{class:"ns-table-column__actions"},this.renderActionButtons(e,t,i));if("tag"===i.type)return this.renderTag(e,t,i);if("image"===i.type)return this.renderImage(e,t,i);if("link"===i.type)return this.renderLink(e,t,i);const a=this.getCellValue(t.row,i);return"function"==typeof i.formatter?i.formatter(t.row,i,a):i.enum?this.resolveEnumText(i,a):null==a||""===a?"-":a},renderColumn(e,t){const i=Array.isArray(t.children)?t.children.map((t,i)=>e(_,{key:t.prop||t.label||i,props:{column:t,slotRenderers:this.slotRenderers},on:{"link-click":(...e)=>this.$emit("link-click",...e),"button-click":(...e)=>this.$emit("button-click",...e)}})):[],n=this.getRenderer(t.headerSlot);return e("el-table-column",{props:this.getColumnProps(t),scopedSlots:i.length?n?{header:n}:void 0:{default:i=>this.renderDefaultCell(e,i,t),...n?{header:n}:{}}},i)}},render(e){return this.renderColumn(e,this.column)}},P={total:0,currentPage:1,pageSize:10},D={totalKey:"total",currentPageKey:"currentPage",pageSizeKey:"pageSize"};function A(e={}){return{...P,...e}}function z(e,t={}){const i={...D,...t};return{[i.totalKey]:e.total,[i.currentPageKey]:e.currentPage,[i.pageSizeKey]:e.pageSize}}function k(e){return e.total=0,e.currentPage=1,e.pageSize=10,e}const E=["add","selection-change","sort-change","row-click","size-change","current-change","link-click"];const K=u({name:"NsTable",components:{SlotRenderer:R,TableColumn:_},inheritAttrs:!1,props:{tableData:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},actionButtons:{type:Array,default:()=>[]},showAddButton:{type:Boolean,default:!0},addButtonText:{type:String,default:"新增"},showHeaderToolbar:{type:Boolean,default:!0},showSelection:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},border:{type:Boolean,default:!0},stripe:{type:Boolean,default:!1},height:{type:[String,Number],default:void 0},maxHeight:{type:[String,Number],default:void 0},rowKey:{type:[String,Function],default:void 0},defaultExpandAll:{type:Boolean,default:!1},highlightCurrentRow:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},showPagination:{type:Boolean,default:!0},total:{type:Number,default:0},currentPage:{type:Number,default:null},pageSize:{type:Number,default:null},pageSizes:{type:Array,default:()=>[10,20,50,100]},paginationLayout:{type:String,default:"total, sizes, prev, pager, next, jumper"},pageNumberKey:{type:String,default:"currentPage"},pageSizeKey:{type:String,default:"pageSize"},pageTotalKey:{type:String,default:"total"},slotRenderers:{type:Object,default:()=>({})}},data:()=>({internalPagination:A()}),computed:{currentPageModel(){return null===this.currentPage?this.internalPagination.currentPage:this.currentPage},pageSizeModel(){return null===this.pageSize?this.internalPagination.pageSize:this.pageSize},mergedAttrs(){return this.$attrs||{}},mergedListeners(){const e={...this.$listeners||{}};return E.forEach(t=>delete e[t]),e}},watch:{currentPage:{handler(e){null!==e&&(this.internalPagination.currentPage=e)},immediate:!0},pageSize:{handler(e){null!==e&&(this.internalPagination.pageSize=e)},immediate:!0}},methods:{handleAdd(){this.$emit("add")},handleSelectionChange(e){this.$emit("selection-change",e)},handleSortChange(e){this.$emit("sort-change",e)},handleRowClick(e,t,i){this.$emit("row-click",e,t,i)},handleSizeChange(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e),this.$emit("size-change",e)},handleCurrentChange(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e),this.$emit("current-change",e)},handleLinkClick(e,t){this.$emit("link-click",e,t)},getIndex(e){if(!this.showPagination)return e+1;return(Number(this.currentPageModel||1)-1)*Number(this.pageSizeModel||10)+e+1},getSelectionRows(){return this.$refs.tableRef&&this.$refs.tableRef.selection?this.$refs.tableRef.selection:[]},getSelectionKeys(){const e=this.getSelectionRows();return this.rowKey?e.map(e=>"function"==typeof this.rowKey?this.rowKey(e):e[this.rowKey]):e},setSelectionRows(e){this.$refs.tableRef&&(this.$refs.tableRef.clearSelection(),(e||[]).forEach(e=>{this.$refs.tableRef.toggleRowSelection(e,!0)}))},setSelectionKeys(e){this.$refs.tableRef&&this.rowKey&&(this.$refs.tableRef.clearSelection(),(e||[]).forEach(e=>{const t=(this.tableData||[]).find(t=>("function"==typeof this.rowKey?this.rowKey(t):t[this.rowKey])===e);t&&this.$refs.tableRef.toggleRowSelection(t,!0)}))},isRowSelected(e){return this.getSelectionRows().includes(e)},isKeySelected(e){return this.getSelectionKeys().includes(e)},clearSelection(){this.$refs.tableRef&&this.$refs.tableRef.clearSelection()},toggleRowSelection(e,t){this.$refs.tableRef&&this.$refs.tableRef.toggleRowSelection(e,t)},toggleAllSelection(){this.$refs.tableRef&&this.$refs.tableRef.toggleAllSelection()},selectAll(){this.toggleAllSelection()},clearAllSelection(){this.clearSelection()},clearSort(){this.$refs.tableRef&&this.$refs.tableRef.clearSort&&this.$refs.tableRef.clearSort()},clearFilter(e){this.$refs.tableRef&&this.$refs.tableRef.clearFilter&&this.$refs.tableRef.clearFilter(e)},doLayout(){this.$refs.tableRef&&this.$refs.tableRef.doLayout&&this.$refs.tableRef.doLayout()},sort(e,t){this.$refs.tableRef&&this.$refs.tableRef.sort&&this.$refs.tableRef.sort(e,t)},resetPage(){this.internalPagination.currentPage=1,this.$emit("update:currentPage",1)},setPage(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e)},setPageSize(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e)},getPagination(){return{[this.pageTotalKey]:this.total,[this.pageNumberKey]:this.currentPageModel,[this.pageSizeKey]:this.pageSizeModel}},setPagination(e){void 0!==e.currentPage&&this.setPage(e.currentPage),void 0!==e.pageSize&&this.setPageSize(e.pageSize)}}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-table"},[e.showHeaderToolbar?t("div",{staticClass:"page-table__header"},[t("slot-renderer",{attrs:{renderer:e.slotRenderers["header-left"],scope:{tableData:e.tableData}}}),t("div",{staticClass:"page-table__actions"},[t("slot-renderer",{attrs:{renderer:e.slotRenderers["header-actions"],scope:{tableData:e.tableData}}}),e.showAddButton&&!e.slotRenderers["header-actions"]?t("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.handleAdd}},[e._v(" "+e._s(e.addButtonText)+" ")]):e._e()],1)],1):e._e(),t("el-table",e._g(e._b({directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"tableRef",attrs:{data:e.tableData,border:e.border,stripe:e.stripe,height:e.height,"max-height":e.maxHeight,"row-key":e.rowKey,"default-expand-all":e.defaultExpandAll,"highlight-current-row":e.highlightCurrentRow},on:{"selection-change":e.handleSelectionChange,"sort-change":e.handleSortChange,"row-click":e.handleRowClick}},"el-table",e.mergedAttrs,!1),e.mergedListeners),[e.showSelection?t("el-table-column",{attrs:{type:"selection",width:"55","reserve-selection":!!e.rowKey}}):e._e(),e.showIndex?t("el-table-column",{attrs:{type:"index",label:"序号",width:"60",index:e.getIndex}}):e._e(),e._l(e.columns,function(i,n){return t("table-column",{key:i.prop||i.label||n,attrs:{column:i,"slot-renderers":e.slotRenderers},on:{"link-click":e.handleLinkClick}})}),t("template",{slot:"empty"},[e.slotRenderers.empty?t("slot-renderer",{attrs:{renderer:e.slotRenderers.empty,scope:{tableData:e.tableData}}}):t("div",{staticClass:"page-table__empty"},[e._v("暂无数据")])],1)],2),e.showPagination?t("div",{staticClass:"page-table__pagination"},[t("el-pagination",{attrs:{background:"","current-page":e.currentPageModel,"page-size":e.pageSizeModel,"page-sizes":e.pageSizes,total:e.total,layout:e.paginationLayout},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1):e._e()],1)},[],!1,null,"e9b089a2",null,null).exports;const N=u({name:"NsTableContainer",components:{PageSearch:$,PageTable:K},props:{showSearch:{type:Boolean,default:!0},externalSearchParams:{type:Object,default:()=>({})},searchItems:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},actionButtons:{type:Array,default:()=>[]},total:{type:Number,default:0},currentPage:{type:Number,default:null},pageSize:{type:Number,default:null},pageNumberKey:{type:String,default:"currentPage"},pageSizeKey:{type:String,default:"pageSize"},pageTotalKey:{type:String,default:"total"},searchProps:{type:Object,default:()=>({})},tableProps:{type:Object,default:()=>({})},loadData:{type:Function,default:null}},data:()=>({internalPagination:A(),pendingSelectionKeys:new Set,selectionRowMap:{},isSyncingSelection:!1}),computed:{currentPageModel(){return null===this.currentPage?this.internalPagination.currentPage:this.currentPage},pageSizeModel(){return null===this.pageSize?this.internalPagination.pageSize:this.pageSize},currentRowKey(){return this.tableProps&&this.tableProps.rowKey}},watch:{currentPage:{handler(e){null!==e&&(this.internalPagination.currentPage=e)},immediate:!0},pageSize:{handler(e){null!==e&&(this.internalPagination.pageSize=e)},immediate:!0},tableData:{handler(){this.$nextTick(()=>{this.syncSelectionToCurrentPage()})},deep:!0,immediate:!0}},methods:{getRowKey(e){return this.currentRowKey?"function"==typeof this.currentRowKey?this.currentRowKey(e):e[this.currentRowKey]:e},resetSelectionState(){this.pendingSelectionKeys=new Set,this.selectionRowMap={},this.$refs.tableRef&&this.$refs.tableRef.clearSelection&&this.$refs.tableRef.clearSelection()},syncSelectionToCurrentPage(){this.currentRowKey&&this.$refs.tableRef&&(this.isSyncingSelection=!0,this.$refs.tableRef.clearSelection(),(this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.has(t)&&(this.$set(this.selectionRowMap,t,e),this.$refs.tableRef.toggleRowSelection(e,!0))}),this.$nextTick(()=>{this.isSyncingSelection=!1}))},handleSearch(e){if(this.resetSelectionState(),e&&e._resetPage){const{_resetPage:t,...i}=e;return this.internalPagination.currentPage=1,this.$emit("update:currentPage",1),void this.$emit("search",i)}this.$emit("search",e)},handleReset(){this.resetSelectionState(),this.$emit("reset")},handleAdd(){this.$emit("add")},handleSizeChange(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e),this.$emit("size-change",e),this.$emit("page-change",{currentPage:this.currentPageModel,pageSize:e}),this.loadData&&this.loadData()},handleCurrentChange(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e),this.$emit("current-change",e),this.$emit("page-change",{currentPage:e,pageSize:this.pageSizeModel}),this.loadData&&this.loadData()},handleSelectionChange(e){if(this.isSyncingSelection)return;if(!this.currentRowKey)return void this.$emit("selection-change",e);(this.tableData||[]).map(e=>this.getRowKey(e)).forEach(e=>{this.pendingSelectionKeys.delete(e),this.$delete(this.selectionRowMap,e)}),(e||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.$emit("selection-change",Object.values(this.selectionRowMap))},handleSortChange(e){this.$emit("sort-change",e)},handleRowClick(e,t,i){this.$emit("row-click",e,t,i)},handleLinkClick(e,t){this.$emit("link-click",e,t)},initSearchAndLoad(){this.$nextTick(()=>{this.showSearch&&this.$refs.searchRef?this.$emit("search",this.$refs.searchRef.getFormData()):this.loadData&&this.loadData()})},getSearchFormData(){return this.$refs.searchRef?this.$refs.searchRef.getFormData():{}},setSearchFormData(e){this.$refs.searchRef&&this.$refs.searchRef.setFormData(e)},resetSearchForm(){this.$refs.searchRef&&this.$refs.searchRef.resetForm()},validateSearchForm(){return this.$refs.searchRef?this.$refs.searchRef.validate():Promise.resolve(!0)},getPagination(){return{[this.pageTotalKey]:this.total,[this.pageNumberKey]:this.currentPageModel,[this.pageSizeKey]:this.pageSizeModel}},getSelectionRows(){var e,t;return this.currentRowKey?Object.values(this.selectionRowMap):(null==(t=null==(e=this.$refs.tableRef)?void 0:e.getSelectionRows)?void 0:t.call(e))||[]},getSelectionKeys(){var e,t;return this.currentRowKey?Array.from(this.pendingSelectionKeys):(null==(t=null==(e=this.$refs.tableRef)?void 0:e.getSelectionKeys)?void 0:t.call(e))||[]},setSelectionRows(e){this.currentRowKey?(this.pendingSelectionKeys=new Set,this.selectionRowMap={},(e||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.syncSelectionToCurrentPage()):this.$refs.tableRef&&this.$refs.tableRef.setSelectionRows(e)},setSelectionKeys(e){this.currentRowKey?(this.pendingSelectionKeys=new Set(e||[]),(this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.has(t)&&this.$set(this.selectionRowMap,t,e)}),this.syncSelectionToCurrentPage()):this.$refs.tableRef&&this.$refs.tableRef.setSelectionKeys(e)},clearAllSelection(){this.resetSelectionState()},selectAll(){this.$refs.tableRef&&(this.currentRowKey?((this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.$refs.tableRef.setSelectionRows(this.tableData)):this.$refs.tableRef.selectAll())},isRowSelected(e){var t,i;return this.currentRowKey?this.pendingSelectionKeys.has(this.getRowKey(e)):null==(i=null==(t=this.$refs.tableRef)?void 0:t.isRowSelected)?void 0:i.call(t,e)},isKeySelected(e){var t,i;return this.currentRowKey?this.pendingSelectionKeys.has(e):null==(i=null==(t=this.$refs.tableRef)?void 0:t.isKeySelected)?void 0:i.call(t,e)}}},function(){var e=this,t=e._self._c;return t("div",{staticClass:"page-container"},[e.showSearch?t("page-search",e._b({ref:"searchRef",attrs:{items:e.searchItems,"external-params":e.externalSearchParams,"slot-renderers":e.$scopedSlots},on:{search:e.handleSearch,reset:e.handleReset}},"page-search",e.searchProps,!1)):e._e(),t("page-table",e._b({ref:"tableRef",attrs:{"table-data":e.tableData,columns:e.columns,"action-buttons":e.actionButtons,total:e.total,"current-page":e.currentPageModel,"page-size":e.pageSizeModel,"page-number-key":e.pageNumberKey,"page-size-key":e.pageSizeKey,"page-total-key":e.pageTotalKey,"slot-renderers":e.$scopedSlots},on:{add:e.handleAdd,"selection-change":e.handleSelectionChange,"sort-change":e.handleSortChange,"row-click":e.handleRowClick,"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange,"link-click":e.handleLinkClick}},"page-table",e.tableProps,!1))],1)},[],!1,null,"400797f6",null,null).exports;[N,$,K].forEach(e=>{e.install=function(t){t.component(e.name,e)}});var O=function(){var e=this,t=e._self._c;return t("el-dialog",{attrs:{visible:e.visible,width:e.normalizedWidth,modal:e.modal,"modal-class":e.modalClassName,"show-close":!1,"append-to-body":!1,"close-on-click-modal":e.closeOnClickModal,"custom-class":e.dialogCustomClass},on:{"update:visible":function(t){e.visible=t},close:e.dealClose,closed:e.dealClosed}},[t("div",{staticClass:"ns-dialog-plus__header",attrs:{slot:"title"},on:{mousedown:e.handleDragStart},slot:"title"},[t("div",{staticClass:"ns-dialog-plus__title"},[e.resolvedHeaderDom?t(e.resolvedHeaderDom,e._g(e._b({tag:"component"},"component",e.headerOption,!1),e.mergeEvents(e.headerEvents))):[e._v(e._s(e.currentTitle))]],2),t("div",{staticClass:"ns-dialog-plus__actions"},[e.showMaximizeButton?t("el-button",{staticClass:"ns-dialog-plus__action-btn",attrs:{type:"text"},on:{click:function(t){return t.stopPropagation(),e.toggleMaximize.apply(null,arguments)}}},[e._v(" "+e._s(e.isMaximized?"还原":"最大化")+" ")]):e._e(),t("el-button",{staticClass:"ns-dialog-plus__action-btn",attrs:{type:"text"},on:{click:function(t){return t.stopPropagation(),e.closeDialog.apply(null,arguments)}}},[e._v("关闭")])],1)]),t("div",{staticClass:"ns-dialog-plus__body",style:e.bodyStyle},[t(e.resolvedDom,e._g(e._b({ref:"contentRef",tag:"component"},"component",e.currentOption,!1),e.mergeEvents(e.events)))],1),e.showFooter?t("div",{staticClass:"ns-dialog-plus__footer",attrs:{slot:"footer"},slot:"footer"},[e.resolvedFooterDom?t(e.resolvedFooterDom,e._g(e._b({tag:"component"},"component",e.footerOption,!1),e.mergeEvents(e.footerEvents))):[e.footerButtonReverse?t("el-button",{attrs:{type:"primary",loading:e.footerLoading},on:{click:e.dealConfirm}},[e._v(e._s(e.footerButtonText.confirm))]):e._e(),t("el-button",{on:{click:e.closeDialog}},[e._v(e._s(e.footerButtonText.close))]),e.footerButtonReverse?e._e():t("el-button",{attrs:{type:"primary",loading:e.footerLoading},on:{click:e.dealConfirm}},[e._v(e._s(e.footerButtonText.confirm))])]],2):e._e()])};const F=u({name:"NsDialogComponent",props:{className:{type:String,default:""},title:{type:String,default:""},width:{type:[Number,String],default:500},height:{type:[Number,String],default:""},modal:{type:Boolean,default:!0},dialogPadding:{type:[Number,String,Array],default:-1},modalColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},closeOnClickModal:{type:Boolean,default:!0},dom:{type:[Object,Function],default:null},option:{type:Object,default:()=>({})},events:{type:Object,default:()=>({})},domCompleted:{type:Function,default:null},headerDom:{type:[Object,Function],default:null},headerOption:{type:Object,default:()=>({})},headerEvents:{type:Object,default:()=>({})},showFooter:{type:Boolean,default:!0},footerDom:{type:[Object,Function],default:null},footerOption:{type:Object,default:()=>({})},footerTitle:{type:Object,default:()=>({close:"取消",confirm:"确定"})},footerEvents:{type:Object,default:()=>({})},footerButtonReverse:{type:Boolean,default:!1},immediately:{type:Boolean,default:!1},close:{type:Function,default:null},closed:{type:Function,default:null},draggable:{type:Boolean,default:!1},confirm:{type:Function,default:null},x:{type:[Number,String],default:null},y:{type:[Number,String],default:null},maxSize:{type:Function,default:null},dialogInstance:{type:Object,default:null},containerId:{type:String,default:""}},data(){return{visible:!1,currentTitle:this.title,currentOption:{...this.option},currentWidth:this.width,currentHeight:this.height,currentX:this.x,currentY:this.y,footerLoading:!1,isMaximized:!1,originalSize:{width:this.width,height:this.height,x:this.x,y:this.y},dragContext:null,domCompletedCalled:!1}},computed:{normalizedWidth(){return this.normalizeSize(this.currentWidth||this.width||500)},bodyStyle(){const e=this.resolvePadding();return this.currentHeight?{padding:e,height:"100%",minHeight:0,overflow:"auto",flex:"1 1 auto"}:{padding:e,minHeight:"auto",maxHeight:"none",overflow:"auto"}},dialogCustomClass(){return["ns-dialog-plus",this.className,this.hasAbsolutePosition?"ns-dialog-plus--absolute":""].filter(Boolean).join(" ")},modalClassName(){return`ns-dialog-plus-modal ns-dialog-plus-modal--${this.containerId}`},resolvedDom(){return this.resolveComponent(this.dom)},resolvedHeaderDom(){return this.resolveComponent(this.headerDom)},resolvedFooterDom(){return this.resolveComponent(this.footerDom)},footerButtonText(){var e,t;return{close:(null==(e=this.footerTitle)?void 0:e.close)||"取消",confirm:(null==(t=this.footerTitle)?void 0:t.confirm)||"确定"}},showMaximizeButton(){return"function"==typeof this.maxSize},hasAbsolutePosition(){return null!==this.currentX||null!==this.currentY}},watch:{option:{handler(e){this.currentOption={...e}},deep:!0},title(e){this.currentTitle=e},width(e){this.isMaximized||(this.currentWidth=e)},height(e){this.isMaximized||(this.currentHeight=e)},x(e){this.isMaximized||(this.currentX=e)},y(e){this.isMaximized||(this.currentY=e)},visible(){this.$nextTick(()=>{this.applyDialogLayout(),this.syncDialogInstance(),this.triggerDomCompleted()})}},mounted(){o(),this.visible=!0,this.updateModalStyle(),this.syncDialogInstance(),this.$nextTick(()=>{this.applyDialogLayout(),this.triggerDomCompleted()}),document.addEventListener("keydown",this.handleKeydown)},updated(){this.syncDialogInstance(),this.triggerDomCompleted(),this.$nextTick(()=>{this.applyDialogLayout()})},beforeDestroy(){document.removeEventListener("keydown",this.handleKeydown),this.removeDragListeners(),this.removeModalStyle()},methods:{normalizeSize:e=>null==e||""===e?"":/^\d+$/.test(String(e))?`${e}px`:String(e),resolvePadding(){return Array.isArray(this.dialogPadding)?this.dialogPadding.map(e=>this.normalizeSize(e)).join(" "):-1===this.dialogPadding||"-1"===this.dialogPadding?"16px 20px":this.normalizeSize(this.dialogPadding)},resolveComponent:e=>e?e.default?e.default:"function"==typeof e.then?()=>e:e:null,mergeEvents(e={}){return{...e,close:()=>this.closeDialog()}},resolveDialogElement(){return this.$el&&this.$el.querySelector?this.$el.querySelector(".el-dialog"):null},resolveWrapperElement(){return this.$el&&this.$el.querySelector?this.$el.querySelector(".el-dialog__wrapper"):null},applyDialogPosition(e,t,i){e&&(e.style.position="fixed",e.style.margin="0",null!=t&&(e.style.left=this.normalizeSize(t)),null!=i&&(e.style.top=this.normalizeSize(i)))},applyDialogLayout(){const e=this.resolveDialogElement();e&&(this.currentHeight?(e.style.height=this.normalizeSize(this.currentHeight),e.style.display="flex",e.style.flexDirection="column"):e.style.height="",this.hasAbsolutePosition?this.applyDialogPosition(e,this.currentX,this.currentY):(e.style.position="",e.style.margin="",e.style.left="",e.style.top=""))},updateModalStyle(){if(!this.containerId)return;let e=document.getElementById(`style-${this.containerId}`);e||(e=document.createElement("style"),e.id=`style-${this.containerId}`,document.head.appendChild(e)),e.textContent=`.${this.modalClassName.replace(/ /g,".")} { background-color: ${this.modalColor} !important; }`},removeModalStyle(){if(!this.containerId)return;const e=document.getElementById(`style-${this.containerId}`);e&&e.parentNode&&e.parentNode.removeChild(e)},syncDialogInstance(){this.dialogInstance&&(this.dialogInstance.domRef=this.$refs.contentRef||null,this.dialogInstance.updateOption=(e={})=>{Object.prototype.hasOwnProperty.call(e,"title")&&(this.currentTitle=e.title),Object.prototype.hasOwnProperty.call(e,"width")&&(this.currentWidth=e.width),Object.prototype.hasOwnProperty.call(e,"height")&&(this.currentHeight=e.height),Object.prototype.hasOwnProperty.call(e,"x")&&(this.currentX=e.x),Object.prototype.hasOwnProperty.call(e,"y")&&(this.currentY=e.y);const t={...e};delete t.title,delete t.width,delete t.height,delete t.x,delete t.y,this.currentOption={...this.currentOption,...t}},this.dialogInstance.callMethod=(e,...t)=>{const i=this.$refs.contentRef;if(i&&"function"==typeof i[e])return i[e](...t)},this.dialogInstance.close=()=>this.closeDialog())},triggerDomCompleted(){this.domCompletedCalled||this.$refs.contentRef&&(this.domCompletedCalled=!0,"function"==typeof this.domCompleted&&this.domCompleted(this.$refs.contentRef))},toggleMaximize(){if(this.showMaximizeButton){if(this.isMaximized)this.currentWidth=this.originalSize.width,this.currentHeight=this.originalSize.height,this.currentX=this.originalSize.x,this.currentY=this.originalSize.y,this.isMaximized=!1;else{this.originalSize={width:this.currentWidth,height:this.currentHeight,x:this.currentX,y:this.currentY};const e=this.maxSize&&this.maxSize()||{};this.currentWidth=e.width||"100vw",this.currentHeight=e.height||"100vh",this.currentX=void 0!==e.x?e.x:0,this.currentY=void 0!==e.y?e.y:0,this.isMaximized=!0}this.$nextTick(()=>this.applyDialogLayout())}},closeDialog(){this.visible=!1},dealClose(){"function"==typeof this.close&&this.close()},dealClosed(){"function"==typeof this.closed&&this.closed()},dealConfirm(){if(this.footerLoading=!0,this.confirm)return this.immediately?(this.footerLoading=!1,this.visible=!1,void this.confirm(null,this.$refs.contentRef)):void this.confirm(()=>{this.footerLoading=!1,this.visible=!1,this.$message&&this.$message.success&&this.$message.success("操作成功")},this.$refs.contentRef,{value:this.footerLoading,set value(e){this.footerLoading=e}});this.footerLoading=!1},handleKeydown(e){this.visible&&this.showFooter&&("Enter"!==e.key||this.footerDom||(e.preventDefault(),this.dealConfirm()))},handleDragStart(e){if(!this.draggable||this.showMaximizeButton||0!==e.button)return;const t=this.resolveDialogElement();if(!t)return;const i=t.getBoundingClientRect();this.applyDialogPosition(t,i.left,i.top),this.dragContext={startX:e.clientX,startY:e.clientY,originX:i.left,originY:i.top,currentX:i.left,currentY:i.top,moved:!1},document.addEventListener("mousemove",this.handleDragMove),document.addEventListener("mouseup",this.handleDragEnd)},handleDragMove(e){if(!this.dragContext)return;const t=this.resolveDialogElement();if(!t)return;const i=e.clientX-this.dragContext.startX,n=e.clientY-this.dragContext.startY,a=this.dragContext.originX+i,l=this.dragContext.originY+n;this.dragContext.currentX=a,this.dragContext.currentY=l,this.dragContext.moved=!0,this.applyDialogPosition(t,a,l)},handleDragEnd(){if(!this.dragContext)return;const{currentX:e,currentY:t,moved:i}=this.dragContext;this.removeDragListeners(),i?(this.currentX=e,this.currentY=t):this.applyDialogLayout()},removeDragListeners(){document.removeEventListener("mousemove",this.handleDragMove),document.removeEventListener("mouseup",this.handleDragEnd),this.dragContext=null}}},O,[],!1,null,"d4b97aa8",null,null).exports,T="undefined"!=typeof window?window.__dialogInstances=window.__dialogInstances||[]:[];let L=t,V=null,B=null,M=0;function j(e,t=[]){return e||(t.find(Boolean)||null)}function I(e,t={}){return j(t.store,[e&&e.$store,e&&e.$options&&e.$options.store,e&&e.store,V])}function H(e,t={}){return j(t.pinia,[e&&e.$pinia,e&&e.$options&&e.$options.pinia,e&&e.pinia,B])}function W(e,t={}){if(!e)return;const i=function(e){return e?e.extend?e:e.constructor&&e.constructor.extend?e.constructor:null:null}(e);i&&(L=i),V=I(e,t),B=H(e,t)}function q(){T.slice().forEach(e=>{e&&"function"==typeof e.close&&e.close()})}function X(e,i=!0,n="#app"){if(!e||!e.dom)return!1;const a=(l=n,"undefined"==typeof document?null:document.querySelector(l)||document.body);var l;if(!a)return!1;const r=this&&this._isVue?this:null,{store:s,pinia:o,...d}=e,c=I(r,{store:s}),u=H(r,{pinia:o}),h=d.id||`ns-dialog-${Date.now()}-${M++}`,p=document.createElement("div");p.id=h,a.appendChild(p);const f={id:h,class:d.class||"",element:p,vm:null,domRef:null,updateOption:()=>{},callMethod:()=>{},close:()=>{}},m=(L||t).extend(F),g={propsData:{...d,className:d.class||"",modal:i,footerButtonReverse:!0,containerId:h,dialogInstance:f,close:()=>{"function"==typeof d.close&&d.close()},closed:()=>{try{"function"==typeof d.closed&&d.closed()}finally{f.vm&&f.vm.$destroy(),p.parentNode&&p.parentNode.removeChild(p),function(e){const t=T.findIndex(t=>t.id===e.id);t>-1&&T.splice(t,1)}(f)}}}};c&&(g.store=c),u&&(g.pinia=u);const y=new m(g);return f.vm=y,f.close=()=>{y&&"function"==typeof y.closeDialog&&y.closeDialog()},T.push(f),y.$mount(p),f}const Y=[f,g,N,$,K];function U(e,t={}){U.installed||(U.installed=!0,r(e),Y.forEach(t=>{t&&t.name&&e.component(t.name,t)}),W(e,t),o(),e&&e.prototype&&(e.prototype.$NsDialog=X,e.prototype.$closeAllNsDialog=q),"undefined"!=typeof window&&(window.NsDialog=X,window.closeAllNsDialog=q))}const J={install:U,NsForm:f,NsFormTitle:g,NsTableContainer:N,NsSearch:$,NsTable:K,NsDialog:X,closeAllNsDialog:q,setExternalApp:W,useFileUpload:y,getAllFormNodeByKey:w,getAllFormKvData:S,getAllFormNodeRefByKey:C,createPagination:A,createPaginationWithCustomKeys:z,resetPagination:k};e.NsDialog=X,e.NsForm=f,e.NsFormTitle=g,e.NsSearch=$,e.NsTable=K,e.NsTableContainer=N,e.closeAllNsDialog=q,e.createPagination=A,e.createPaginationWithCustomKeys=z,e.default=J,e.getAllFormKvData=S,e.getAllFormNodeByKey=w,e.getAllFormNodeRefByKey=C,e.install=U,e.resetPagination=k,e.setExternalApp=W,e.useFileUpload=y,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-components-plus",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/vue2-components-plus.umd.cjs",
@@ -42,6 +42,5 @@
42
42
  "vue-template-compiler": "2.7.16"
43
43
  },
44
44
  "dependencies": {
45
- "vue2-components-plus": "^1.0.6"
46
45
  }
47
46
  }