@ebiz/designer-components 0.0.19-beta.1 → 0.0.19-beta.3

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/dist/index.mjs CHANGED
@@ -123712,12 +123712,13 @@ const _Ct = /* @__PURE__ */ Pt(b1t, [["render", w1t], ["__scopeId", "data-v-491f
123712
123712
  return pe(
123713
123713
  i,
123714
123714
  (O) => {
123715
- p.value.treeRef && (c.value = O.map(p.value.treeRef.getItem).map((I) => {
123716
- var P;
123715
+ var I;
123716
+ (I = p.value) != null && I.treeRef && (c.value = (O.map(p.value.treeRef.getItem) ?? []).map((P) => {
123717
+ var L;
123717
123718
  return {
123718
- label: I == null ? void 0 : I.label,
123719
- type: ((P = I == null ? void 0 : I.data) == null ? void 0 : P.type) || I.type,
123720
- bindid: I == null ? void 0 : I.value
123719
+ label: P == null ? void 0 : P.label,
123720
+ type: ((L = P == null ? void 0 : P.data) == null ? void 0 : L.type) || (P == null ? void 0 : P.type),
123721
+ bindid: P == null ? void 0 : P.value
123721
123722
  };
123722
123723
  }));
123723
123724
  },
@@ -123743,7 +123744,7 @@ const _Ct = /* @__PURE__ */ Pt(b1t, [["render", w1t], ["__scopeId", "data-v-491f
123743
123744
  B("span", J1t, ee(P.label), 1),
123744
123745
  B("span", {
123745
123746
  class: "item-remove",
123746
- onClick: fe((F) => A(L), ["stop"])
123747
+ onClick: (F) => A(L)
123747
123748
  }, "×", 8, ewt)
123748
123749
  ]))), 128))
123749
123750
  ])) : q("", !0),
@@ -123759,6 +123760,8 @@ const _Ct = /* @__PURE__ */ Pt(b1t, [["render", w1t], ["__scopeId", "data-v-491f
123759
123760
  _: 1
123760
123761
  }),
123761
123762
  S(_1t, {
123763
+ attach: "body",
123764
+ zIndex: 1e4,
123762
123765
  visible: a.value,
123763
123766
  "onUpdate:visible": I[5] || (I[5] = (P) => a.value = P),
123764
123767
  header: "选择人员/部门",
@@ -123867,7 +123870,7 @@ const _Ct = /* @__PURE__ */ Pt(b1t, [["render", w1t], ["__scopeId", "data-v-491f
123867
123870
  }, 8, ["visible"])
123868
123871
  ]));
123869
123872
  }
123870
- }, GCt = /* @__PURE__ */ Pt(dwt, [["__scopeId", "data-v-3b5ea2d0"]]), qCt = {
123873
+ }, GCt = /* @__PURE__ */ Pt(dwt, [["__scopeId", "data-v-850f8600"]]), qCt = {
123871
123874
  __name: "EbizTimePicker",
123872
123875
  props: {
123873
123876
  // 选中值
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebiz/designer-components",
3
- "version": "0.0.19-beta.1",
3
+ "version": "0.0.19-beta.3",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,46 +1,47 @@
1
1
  <template>
2
2
  <div class="ebiz-tree-selector">
3
- <div class="selected-items" v-if="modelValue && modelValue.length">
4
- <div v-for="(item, index) in modelValue" :key="index" class="selected-item">
5
- <span class="item-text">{{ item.label }}</span>
6
- <span class="item-remove" @click.stop="removeItem(index)">×</span>
3
+ <div class="selected-items" v-if="modelValue && modelValue.length">
4
+ <div v-for="(item, index) in modelValue" :key="index" class="selected-item">
5
+ <span class="item-text">{{ item.label }}</span>
6
+ <span class="item-remove" @click="removeItem(index)">×</span>
7
+ </div>
7
8
  </div>
8
- </div>
9
- <t-button @click="showDialog" variant="text" theme="primary" size="small"> 添加 </t-button>
10
-
11
- <EbizDialog v-model:visible="dialogVisible" header="选择人员/部门" width="800px" placement="center" confirmBtn="确定"
12
- cancelBtn="取消" @confirm="handleConfirm" @cancel="handleCancel" @close="handleCancel">
13
- <div class="selector-container">
14
- <!-- 左侧选择区域 -->
15
- <div class="left-panel">
16
- <!-- 顶部搜索区域 -->
17
- <div class="search-box">
18
- <t-input v-model="searchText" placeholder="搜索成员、部门或标签" clearable>
19
- <template #suffix-icon>
20
- <t-icon name="search"></t-icon>
21
- </template>
22
- </t-input>
23
- </div>
24
-
25
- <!-- 选项卡 -->
26
- <t-tabs v-model="activeTab" class="selector-tabs">
27
- <t-tab-panel value="organization" label="组织架构" :destroyOnHide="false">
28
-
29
- </t-tab-panel>
30
- <!-- <t-tab-panel value="department" label="部门"></t-tab-panel> -->
31
- <!-- <t-tab-panel value="position" label="岗位"></t-tab-panel> -->
32
- <t-tab-panel value="employee" label="员工"></t-tab-panel>
33
- </t-tabs>
34
-
35
- <!-- 树形结构区域 -->
36
- <div class="tree-content">
37
- <div v-if="loading" class="loading-container">
38
- <t-loading />
9
+ <t-button @click="showDialog" variant="text" theme="primary" size="small"> 添加 </t-button>
10
+
11
+ <EbizDialog attach="body" :zIndex="10000" v-model:visible="dialogVisible" header="选择人员/部门" width="800px"
12
+ placement="center" confirmBtn="确定" cancelBtn="取消" @confirm="handleConfirm" @cancel="handleCancel"
13
+ @close="handleCancel">
14
+ <div class="selector-container">
15
+ <!-- 左侧选择区域 -->
16
+ <div class="left-panel">
17
+ <!-- 顶部搜索区域 -->
18
+ <div class="search-box">
19
+ <t-input v-model="searchText" placeholder="搜索成员、部门或标签" clearable>
20
+ <template #suffix-icon>
21
+ <t-icon name="search"></t-icon>
22
+ </template>
23
+ </t-input>
39
24
  </div>
40
- <EbizTree ref="organizationTree" v-show="activeTab === 'organization'" checkable :items="organizationData"
41
- v-model="checkedNodes" v-model:expanded="expandedNodes" :disable-check="disableCheck"
42
- :keys="{ label: 'name', value: 'id', children: 'childs' }" />
43
- <!-- <EbizTree
25
+
26
+ <!-- 选项卡 -->
27
+ <t-tabs v-model="activeTab" class="selector-tabs">
28
+ <t-tab-panel value="organization" label="组织架构" :destroyOnHide="false">
29
+
30
+ </t-tab-panel>
31
+ <!-- <t-tab-panel value="department" label="部门"></t-tab-panel> -->
32
+ <!-- <t-tab-panel value="position" label="岗位"></t-tab-panel> -->
33
+ <t-tab-panel value="employee" label="员工"></t-tab-panel>
34
+ </t-tabs>
35
+
36
+ <!-- 树形结构区域 -->
37
+ <div class="tree-content">
38
+ <div v-if="loading" class="loading-container">
39
+ <t-loading />
40
+ </div>
41
+ <EbizTree ref="organizationTree" v-show="activeTab === 'organization'" checkable :items="organizationData"
42
+ v-model="checkedNodes" v-model:expanded="expandedNodes" :disable-check="disableCheck"
43
+ :keys="{ label: 'name', value: 'id', children: 'childs' }" />
44
+ <!-- <EbizTree
44
45
  v-else-if="activeTab === 'department'"
45
46
  checkable
46
47
  :items="filteredData."
@@ -54,31 +55,31 @@
54
55
  v-model="checkedNodes"
55
56
  :disable-check="disableCheck"
56
57
  /> -->
57
- <EbizTree ref="employeeTree" v-show="activeTab === 'employee'" checkable :items="employeeData"
58
- :keys="{ label: 'label', value: 'bindid', children: 'childs' }" v-model="checkedUserNodes"
59
- :disable-check="disableCheck" />
58
+ <EbizTree ref="employeeTree" v-show="activeTab === 'employee'" checkable :items="employeeData"
59
+ :keys="{ label: 'label', value: 'bindid', children: 'childs' }" v-model="checkedUserNodes"
60
+ :disable-check="disableCheck" />
61
+ </div>
60
62
  </div>
61
- </div>
62
63
 
63
- <!-- 右侧已选区域 -->
64
- <div class="right-panel">
65
- <div class="selected-title">已选择的部门、成员</div>
66
- <div class="selected-count">共 {{ [...selectPreview, ...selectPreviewUser].length }} 项</div>
67
- <div class="selected-list">
68
- <div v-for="(item, index) in [...selectPreview,...selectPreviewUser]" :key="index"
69
- class="selected-list-item">
70
- <t-icon :name="getIconForType(item)" class="item-icon" />
71
- <span class="selected-label">{{ item.label }}</span>
72
- <t-icon name="close-circle" class="remove-icon" @click="removePreviewItem(item)" />
73
- </div>
74
- <div v-if="[...selectPreview, ...selectPreviewUser].length === 0" class="no-selection">
75
- <t-icon name="info-circle" />
76
- <span style="user-select: none">请在左侧选择部门或成员</span>
64
+ <!-- 右侧已选区域 -->
65
+ <div class="right-panel">
66
+ <div class="selected-title">已选择的部门、成员</div>
67
+ <div class="selected-count">共 {{ [...selectPreview, ...selectPreviewUser].length }} 项</div>
68
+ <div class="selected-list">
69
+ <div v-for="(item, index) in [...selectPreview,...selectPreviewUser]" :key="index"
70
+ class="selected-list-item">
71
+ <t-icon :name="getIconForType(item)" class="item-icon" />
72
+ <span class="selected-label">{{ item.label }}</span>
73
+ <t-icon name="close-circle" class="remove-icon" @click="removePreviewItem(item)" />
74
+ </div>
75
+ <div v-if="[...selectPreview, ...selectPreviewUser].length === 0" class="no-selection">
76
+ <t-icon name="info-circle" />
77
+ <span style="user-select: none">请在左侧选择部门或成员</span>
78
+ </div>
77
79
  </div>
78
80
  </div>
79
81
  </div>
80
- </div>
81
- </EbizDialog>
82
+ </EbizDialog>
82
83
  </div>
83
84
  </template>
84
85
 
@@ -235,10 +236,10 @@ function removeItem(index) {
235
236
  watch(
236
237
  checkedNodes,
237
238
  (newValues) => {
238
- if (!organizationTree.value.treeRef) return
239
- selectPreview.value = newValues.map(organizationTree.value.treeRef.getItem).map((i) => ({
239
+ if (!organizationTree.value?.treeRef) return
240
+ selectPreview.value = (newValues.map(organizationTree.value.treeRef.getItem) ?? []).map((i) => ({
240
241
  label: i?.label,
241
- type: i?.data?.type || i.type,
242
+ type: i?.data?.type || i?.type,
242
243
  bindid: i?.value
243
244
  }))
244
245
  },