hy-dispatch-ui-v3 0.1.0

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.
Files changed (232) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/tailwind.css +1083 -0
  4. package/es/bussiness/index.mjs +2 -0
  5. package/es/bussiness/index.mjs.map +1 -0
  6. package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs +204 -0
  7. package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs.map +1 -0
  8. package/es/components/appConfirmDialog/appConfirmMethod.mjs +73 -0
  9. package/es/components/appConfirmDialog/appConfirmMethod.mjs.map +1 -0
  10. package/es/components/appConfirmDialog/index.mjs +8 -0
  11. package/es/components/appConfirmDialog/index.mjs.map +1 -0
  12. package/es/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
  13. package/es/components/appDatePicker/appDatePicker.vue.mjs +99 -0
  14. package/es/components/appDatePicker/appDatePicker.vue.mjs.map +1 -0
  15. package/es/components/appDatePicker/index.mjs +7 -0
  16. package/es/components/appDatePicker/index.mjs.map +1 -0
  17. package/es/components/appDatePicker/style/appDatePicker.scss +0 -0
  18. package/es/components/appForm/appForm.vue.mjs +331 -0
  19. package/es/components/appForm/appForm.vue.mjs.map +1 -0
  20. package/es/components/appForm/index.mjs +8 -0
  21. package/es/components/appForm/index.mjs.map +1 -0
  22. package/es/components/appForm/js/index.mjs +87 -0
  23. package/es/components/appForm/js/index.mjs.map +1 -0
  24. package/es/components/appForm/js/useAppForm.mjs +149 -0
  25. package/es/components/appForm/js/useAppForm.mjs.map +1 -0
  26. package/es/components/appForm/style/appForm.scss +16 -0
  27. package/es/components/appOrgCascader/appOrgCascader.vue.mjs +229 -0
  28. package/es/components/appOrgCascader/appOrgCascader.vue.mjs.map +1 -0
  29. package/es/components/appOrgCascader/index.mjs +7 -0
  30. package/es/components/appOrgCascader/index.mjs.map +1 -0
  31. package/es/components/appOrgCascader/style/appOrgCascader.scss +0 -0
  32. package/es/components/appSearch/appSearch.vue.mjs +408 -0
  33. package/es/components/appSearch/appSearch.vue.mjs.map +1 -0
  34. package/es/components/appSearch/index.mjs +8 -0
  35. package/es/components/appSearch/index.mjs.map +1 -0
  36. package/es/components/appSearch/js/index.mjs +114 -0
  37. package/es/components/appSearch/js/index.mjs.map +1 -0
  38. package/es/components/appSearch/js/useAppSearch.mjs +178 -0
  39. package/es/components/appSearch/js/useAppSearch.mjs.map +1 -0
  40. package/es/components/appSearch/style/appSearch.scss +53 -0
  41. package/es/components/appTable/appTable.vue.mjs +578 -0
  42. package/es/components/appTable/appTable.vue.mjs.map +1 -0
  43. package/es/components/appTable/cpns/columnSelect.vue.mjs +414 -0
  44. package/es/components/appTable/cpns/columnSelect.vue.mjs.map +1 -0
  45. package/es/components/appTable/index.mjs +8 -0
  46. package/es/components/appTable/index.mjs.map +1 -0
  47. package/es/components/appTable/js/index.mjs +304 -0
  48. package/es/components/appTable/js/index.mjs.map +1 -0
  49. package/es/components/appTable/js/search.mjs +129 -0
  50. package/es/components/appTable/js/search.mjs.map +1 -0
  51. package/es/components/appTable/js/useAppTable.mjs +63 -0
  52. package/es/components/appTable/js/useAppTable.mjs.map +1 -0
  53. package/es/components/appTable/style/appTable.scss +15 -0
  54. package/es/components/appTooltip/appTooltip.vue.mjs +94 -0
  55. package/es/components/appTooltip/appTooltip.vue.mjs.map +1 -0
  56. package/es/components/appTooltip/index.mjs +7 -0
  57. package/es/components/appTooltip/index.mjs.map +1 -0
  58. package/es/components/appTooltip/style/appTooltip.scss +0 -0
  59. package/es/components/index.mjs +12 -0
  60. package/es/components/index.mjs.map +1 -0
  61. package/es/components/svgIcon/iconBox.vue.mjs +99 -0
  62. package/es/components/svgIcon/iconBox.vue.mjs.map +1 -0
  63. package/es/components/svgIcon/index.mjs +9 -0
  64. package/es/components/svgIcon/index.mjs.map +1 -0
  65. package/es/components/svgIcon/style/iconBox.scss +13 -0
  66. package/es/components/svgIcon/style/svgIcon.scss +12 -0
  67. package/es/components/svgIcon/svgIcon.vue.mjs +47 -0
  68. package/es/components/svgIcon/svgIcon.vue.mjs.map +1 -0
  69. package/es/config/index.mjs +2 -0
  70. package/es/config/index.mjs.map +1 -0
  71. package/es/constants/index.mjs +4 -0
  72. package/es/constants/index.mjs.map +1 -0
  73. package/es/constants/keys.mjs +2 -0
  74. package/es/constants/keys.mjs.map +1 -0
  75. package/es/hooks/index.mjs +5 -0
  76. package/es/hooks/index.mjs.map +1 -0
  77. package/es/hooks/useApi.mjs +10 -0
  78. package/es/hooks/useApi.mjs.map +1 -0
  79. package/es/hooks/useGlobalConfig.mjs +56 -0
  80. package/es/hooks/useGlobalConfig.mjs.map +1 -0
  81. package/es/hooks/useLocale.mjs +34 -0
  82. package/es/hooks/useLocale.mjs.map +1 -0
  83. package/es/hooks/useMixins.mjs +19 -0
  84. package/es/hooks/useMixins.mjs.map +1 -0
  85. package/es/index.mjs +30 -0
  86. package/es/index.mjs.map +1 -0
  87. package/es/locale/en_US.mjs +67 -0
  88. package/es/locale/en_US.mjs.map +1 -0
  89. package/es/locale/index.mjs +3 -0
  90. package/es/locale/index.mjs.map +1 -0
  91. package/es/locale/zh_CN.mjs +67 -0
  92. package/es/locale/zh_CN.mjs.map +1 -0
  93. package/es/make-installer.mjs +29 -0
  94. package/es/make-installer.mjs.map +1 -0
  95. package/es/store/index.mjs +7 -0
  96. package/es/store/index.mjs.map +1 -0
  97. package/es/store/maintain.mjs +90 -0
  98. package/es/store/maintain.mjs.map +1 -0
  99. package/es/style/index.scss +46 -0
  100. package/es/style/tailwind.scss +3 -0
  101. package/es/style/theme.scss +123 -0
  102. package/es/utils/adaptive.mjs +30 -0
  103. package/es/utils/adaptive.mjs.map +1 -0
  104. package/es/utils/bus.mjs +6 -0
  105. package/es/utils/bus.mjs.map +1 -0
  106. package/es/utils/crypto.mjs +21 -0
  107. package/es/utils/crypto.mjs.map +1 -0
  108. package/es/utils/date.mjs +25 -0
  109. package/es/utils/date.mjs.map +1 -0
  110. package/es/utils/handler.mjs +83 -0
  111. package/es/utils/handler.mjs.map +1 -0
  112. package/es/utils/index.mjs +7 -0
  113. package/es/utils/index.mjs.map +1 -0
  114. package/es/utils/is.mjs +19 -0
  115. package/es/utils/is.mjs.map +1 -0
  116. package/es/version.mjs +4 -0
  117. package/es/version.mjs.map +1 -0
  118. package/lib/bussiness/index.js +3 -0
  119. package/lib/bussiness/index.js.map +1 -0
  120. package/lib/components/appConfirmDialog/appConfirmDialog.vue.js +208 -0
  121. package/lib/components/appConfirmDialog/appConfirmDialog.vue.js.map +1 -0
  122. package/lib/components/appConfirmDialog/appConfirmMethod.js +77 -0
  123. package/lib/components/appConfirmDialog/appConfirmMethod.js.map +1 -0
  124. package/lib/components/appConfirmDialog/index.js +13 -0
  125. package/lib/components/appConfirmDialog/index.js.map +1 -0
  126. package/lib/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
  127. package/lib/components/appDatePicker/appDatePicker.vue.js +103 -0
  128. package/lib/components/appDatePicker/appDatePicker.vue.js.map +1 -0
  129. package/lib/components/appDatePicker/index.js +12 -0
  130. package/lib/components/appDatePicker/index.js.map +1 -0
  131. package/lib/components/appDatePicker/style/appDatePicker.scss +0 -0
  132. package/lib/components/appForm/appForm.vue.js +335 -0
  133. package/lib/components/appForm/appForm.vue.js.map +1 -0
  134. package/lib/components/appForm/index.js +14 -0
  135. package/lib/components/appForm/index.js.map +1 -0
  136. package/lib/components/appForm/js/index.js +93 -0
  137. package/lib/components/appForm/js/index.js.map +1 -0
  138. package/lib/components/appForm/js/useAppForm.js +152 -0
  139. package/lib/components/appForm/js/useAppForm.js.map +1 -0
  140. package/lib/components/appForm/style/appForm.scss +16 -0
  141. package/lib/components/appOrgCascader/appOrgCascader.vue.js +233 -0
  142. package/lib/components/appOrgCascader/appOrgCascader.vue.js.map +1 -0
  143. package/lib/components/appOrgCascader/index.js +12 -0
  144. package/lib/components/appOrgCascader/index.js.map +1 -0
  145. package/lib/components/appOrgCascader/style/appOrgCascader.scss +0 -0
  146. package/lib/components/appSearch/appSearch.vue.js +412 -0
  147. package/lib/components/appSearch/appSearch.vue.js.map +1 -0
  148. package/lib/components/appSearch/index.js +14 -0
  149. package/lib/components/appSearch/index.js.map +1 -0
  150. package/lib/components/appSearch/js/index.js +122 -0
  151. package/lib/components/appSearch/js/index.js.map +1 -0
  152. package/lib/components/appSearch/js/useAppSearch.js +181 -0
  153. package/lib/components/appSearch/js/useAppSearch.js.map +1 -0
  154. package/lib/components/appSearch/style/appSearch.scss +53 -0
  155. package/lib/components/appTable/appTable.vue.js +582 -0
  156. package/lib/components/appTable/appTable.vue.js.map +1 -0
  157. package/lib/components/appTable/cpns/columnSelect.vue.js +418 -0
  158. package/lib/components/appTable/cpns/columnSelect.vue.js.map +1 -0
  159. package/lib/components/appTable/index.js +14 -0
  160. package/lib/components/appTable/index.js.map +1 -0
  161. package/lib/components/appTable/js/index.js +311 -0
  162. package/lib/components/appTable/js/index.js.map +1 -0
  163. package/lib/components/appTable/js/search.js +131 -0
  164. package/lib/components/appTable/js/search.js.map +1 -0
  165. package/lib/components/appTable/js/useAppTable.js +65 -0
  166. package/lib/components/appTable/js/useAppTable.js.map +1 -0
  167. package/lib/components/appTable/style/appTable.scss +15 -0
  168. package/lib/components/appTooltip/appTooltip.vue.js +98 -0
  169. package/lib/components/appTooltip/appTooltip.vue.js.map +1 -0
  170. package/lib/components/appTooltip/index.js +12 -0
  171. package/lib/components/appTooltip/index.js.map +1 -0
  172. package/lib/components/appTooltip/style/appTooltip.scss +0 -0
  173. package/lib/components/index.js +29 -0
  174. package/lib/components/index.js.map +1 -0
  175. package/lib/components/svgIcon/iconBox.vue.js +103 -0
  176. package/lib/components/svgIcon/iconBox.vue.js.map +1 -0
  177. package/lib/components/svgIcon/index.js +15 -0
  178. package/lib/components/svgIcon/index.js.map +1 -0
  179. package/lib/components/svgIcon/style/iconBox.scss +13 -0
  180. package/lib/components/svgIcon/style/svgIcon.scss +12 -0
  181. package/lib/components/svgIcon/svgIcon.vue.js +51 -0
  182. package/lib/components/svgIcon/svgIcon.vue.js.map +1 -0
  183. package/lib/config/index.js +3 -0
  184. package/lib/config/index.js.map +1 -0
  185. package/lib/constants/index.js +6 -0
  186. package/lib/constants/index.js.map +1 -0
  187. package/lib/constants/keys.js +3 -0
  188. package/lib/constants/keys.js.map +1 -0
  189. package/lib/hooks/index.js +21 -0
  190. package/lib/hooks/index.js.map +1 -0
  191. package/lib/hooks/useApi.js +13 -0
  192. package/lib/hooks/useApi.js.map +1 -0
  193. package/lib/hooks/useGlobalConfig.js +59 -0
  194. package/lib/hooks/useGlobalConfig.js.map +1 -0
  195. package/lib/hooks/useLocale.js +41 -0
  196. package/lib/hooks/useLocale.js.map +1 -0
  197. package/lib/hooks/useMixins.js +21 -0
  198. package/lib/hooks/useMixins.js.map +1 -0
  199. package/lib/index.js +85 -0
  200. package/lib/index.js.map +1 -0
  201. package/lib/locale/en_US.js +71 -0
  202. package/lib/locale/en_US.js.map +1 -0
  203. package/lib/locale/index.js +10 -0
  204. package/lib/locale/index.js.map +1 -0
  205. package/lib/locale/zh_CN.js +71 -0
  206. package/lib/locale/zh_CN.js.map +1 -0
  207. package/lib/make-installer.js +33 -0
  208. package/lib/make-installer.js.map +1 -0
  209. package/lib/store/index.js +10 -0
  210. package/lib/store/index.js.map +1 -0
  211. package/lib/store/maintain.js +92 -0
  212. package/lib/store/maintain.js.map +1 -0
  213. package/lib/style/index.scss +46 -0
  214. package/lib/style/tailwind.scss +3 -0
  215. package/lib/style/theme.scss +123 -0
  216. package/lib/utils/adaptive.js +35 -0
  217. package/lib/utils/adaptive.js.map +1 -0
  218. package/lib/utils/bus.js +8 -0
  219. package/lib/utils/bus.js.map +1 -0
  220. package/lib/utils/crypto.js +25 -0
  221. package/lib/utils/crypto.js.map +1 -0
  222. package/lib/utils/date.js +27 -0
  223. package/lib/utils/date.js.map +1 -0
  224. package/lib/utils/handler.js +89 -0
  225. package/lib/utils/handler.js.map +1 -0
  226. package/lib/utils/index.js +38 -0
  227. package/lib/utils/index.js.map +1 -0
  228. package/lib/utils/is.js +32 -0
  229. package/lib/utils/is.js.map +1 -0
  230. package/lib/version.js +6 -0
  231. package/lib/version.js.map +1 -0
  232. package/package.json +102 -0
@@ -0,0 +1,16 @@
1
+ .app-form-container {
2
+ display: grid;
3
+ column-gap: 24px;
4
+ .el-form-item__label::before {
5
+ content: '' !important;
6
+ display: none;
7
+ }
8
+ }
9
+
10
+ .label-required {
11
+ &::after {
12
+ content: '*';
13
+ display: inline-block;
14
+ color: var(--dangerv2);
15
+ }
16
+ }
@@ -0,0 +1,229 @@
1
+ import { defineComponent, useModel, useTemplateRef, ref, computed, watch, openBlock, createElementBlock, createElementVNode, normalizeStyle, createVNode, unref, renderSlot, toDisplayString, createCommentVNode, createBlock, normalizeClass, mergeModels } from 'vue';
2
+ import { ElCascader } from 'element-plus';
3
+ import { useLocale } from '../../hooks/useLocale.mjs';
4
+ import { useApi } from '../../hooks/useApi.mjs';
5
+
6
+ import "./style/appOrgCascader.scss";
7
+
8
+ const __default__ = defineComponent({
9
+ name: "AppOrgCascader"
10
+ });
11
+ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
12
+ props: /* @__PURE__ */ mergeModels({
13
+ size: {
14
+ type: String,
15
+ default: () => {
16
+ return "default";
17
+ }
18
+ },
19
+ className: {
20
+ type: String,
21
+ default: () => {
22
+ return "";
23
+ }
24
+ },
25
+ placeholder: {
26
+ type: String
27
+ },
28
+ /*
29
+ * false 直接显示输入框
30
+ * true 文字和输入框切换
31
+ * */
32
+ contentType: {
33
+ type: Boolean,
34
+ default: () => {
35
+ return false;
36
+ }
37
+ },
38
+ disabled: {
39
+ type: Boolean,
40
+ default: () => {
41
+ return false;
42
+ }
43
+ },
44
+ // 自定义内容
45
+ options: {
46
+ type: Array,
47
+ default: () => {
48
+ return [];
49
+ }
50
+ },
51
+ // 是否自动获取数据
52
+ defaultGetData: {
53
+ type: Boolean,
54
+ default: () => {
55
+ return true;
56
+ }
57
+ },
58
+ // 是否支持清空选项
59
+ clearable: {
60
+ type: Boolean,
61
+ default: () => {
62
+ return true;
63
+ }
64
+ },
65
+ // 仅change 最后一个选项
66
+ changeLastLayer: {
67
+ type: Boolean,
68
+ default: () => {
69
+ return false;
70
+ }
71
+ }
72
+ }, {
73
+ "modelValue": { type: [Array, String, Number] },
74
+ "modelModifiers": {}
75
+ }),
76
+ emits: /* @__PURE__ */ mergeModels(["change"], ["update:modelValue"]),
77
+ setup(__props, { emit: __emit }) {
78
+ const props = __props;
79
+ const emits = __emit;
80
+ const { t } = useLocale();
81
+ const { api } = useApi();
82
+ const modelValue = useModel(__props, "modelValue");
83
+ const cascaderRef = useTemplateRef("cascaderRef");
84
+ const focusType = ref(false);
85
+ const cascaderValue = ref(null);
86
+ const cascaderOptions = ref([]);
87
+ const cascaderValueMap = ref(/* @__PURE__ */ new Map());
88
+ const currentCompanyName = computed(() => {
89
+ const target = cascaderValueMap.value.get(modelValue.value);
90
+ return target == null ? void 0 : target.companyName;
91
+ });
92
+ function getCascaderData() {
93
+ api.post("organization/orgTreeSimple").then((res) => {
94
+ handlerData(res.data);
95
+ });
96
+ }
97
+ function handlerData(data) {
98
+ const cascaderMap = /* @__PURE__ */ new Map();
99
+ const handler = (list, parentIdsList = []) => {
100
+ list.forEach((item) => {
101
+ item.label = item.companyName;
102
+ item.value = item.id;
103
+ item.parentIdsList = [...parentIdsList, item.id];
104
+ cascaderMap.set(item.value, item);
105
+ if (item.children && item.children.length > 0) {
106
+ handler(item.children, item.parentIdsList);
107
+ } else {
108
+ delete item.children;
109
+ }
110
+ });
111
+ };
112
+ handler(data);
113
+ if (modelValue.value) {
114
+ setDefaultValue(modelValue.value);
115
+ }
116
+ cascaderOptions.value = data;
117
+ cascaderValueMap.value = cascaderMap;
118
+ }
119
+ function setDefaultValue(val) {
120
+ const item = cascaderValueMap.value.get(val);
121
+ if (item) {
122
+ cascaderValue.value = item.parentIdsList;
123
+ } else {
124
+ cascaderValue.value = [val];
125
+ }
126
+ }
127
+ function onChangeHanlder(value) {
128
+ cascaderRef.value.dropDownVisible = false;
129
+ onVisibleChangeHandler(false);
130
+ modelValue.value = value == null ? void 0 : value[value.length - 1];
131
+ if (props.changeLastLayer) {
132
+ emits("change", modelValue.value);
133
+ } else {
134
+ emits("change", value);
135
+ }
136
+ }
137
+ function onVisibleChangeHandler(type) {
138
+ focusType.value = type;
139
+ }
140
+ if (props.defaultGetData) {
141
+ getCascaderData();
142
+ }
143
+ watch(() => props.options, () => {
144
+ var _a;
145
+ if ((_a = props.options) == null ? void 0 : _a.length) {
146
+ handlerData(props.options);
147
+ }
148
+ }, { immediate: true, deep: true });
149
+ watch(modelValue, () => {
150
+ setDefaultValue(modelValue.value);
151
+ }, { immediate: true, deep: true });
152
+ return (_ctx, _cache) => {
153
+ return openBlock(), createElementBlock("div", { class: "relative" }, [
154
+ __props.contentType ? (openBlock(), createElementBlock("div", {
155
+ key: 0,
156
+ class: "over_one_line"
157
+ }, [
158
+ createElementVNode(
159
+ "div",
160
+ {
161
+ style: normalizeStyle({
162
+ opacity: focusType.value ? 1 : 0,
163
+ position: focusType.value ? "relative" : "absolute"
164
+ }),
165
+ class: "top-0 left-0"
166
+ },
167
+ [
168
+ createVNode(unref(ElCascader), {
169
+ ref_key: "cascaderRef",
170
+ ref: cascaderRef,
171
+ modelValue: cascaderValue.value,
172
+ "onUpdate:modelValue": ($event) => cascaderValue.value = $event,
173
+ class: "w-full",
174
+ size: __props.size,
175
+ options: cascaderOptions.value,
176
+ disabled: __props.disabled,
177
+ props: { checkStrictly: true },
178
+ clearable: __props.clearable,
179
+ placeholder: __props.placeholder || unref(t)("cascader.pleaseSelectDepartment"),
180
+ filterable: "",
181
+ "show-all-levels": false,
182
+ onChange: onChangeHanlder,
183
+ onVisibleChange: ($event) => onVisibleChangeHandler($event)
184
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "size", "options", "disabled", "clearable", "placeholder", "onVisibleChange"])
185
+ ],
186
+ 4
187
+ /* STYLE */
188
+ ),
189
+ !focusType.value ? (openBlock(), createElementBlock("span", {
190
+ key: 0,
191
+ style: { "cursor": "pointer" }
192
+ }, [
193
+ createElementVNode("i", { class: "el-icon-caret-bottom" }),
194
+ renderSlot(_ctx.$slots, "default"),
195
+ currentCompanyName.value ? (openBlock(), createElementBlock(
196
+ "span",
197
+ {
198
+ key: 0,
199
+ class: "text-xs text-auxiliary"
200
+ },
201
+ "(" + toDisplayString(currentCompanyName.value) + ")",
202
+ 1
203
+ /* TEXT */
204
+ )) : createCommentVNode("v-if", true)
205
+ ])) : createCommentVNode("v-if", true)
206
+ ])) : (openBlock(), createBlock(unref(ElCascader), {
207
+ key: 1,
208
+ ref_key: "cascaderRef",
209
+ ref: cascaderRef,
210
+ modelValue: cascaderValue.value,
211
+ "onUpdate:modelValue": ($event) => cascaderValue.value = $event,
212
+ class: normalizeClass(["w-full", __props.className]),
213
+ size: __props.size,
214
+ options: cascaderOptions.value,
215
+ props: { checkStrictly: true },
216
+ clearable: __props.clearable,
217
+ disabled: __props.disabled,
218
+ placeholder: __props.placeholder || unref(t)("cascader.pleaseSelectDepartment"),
219
+ filterable: "",
220
+ "show-all-levels": false,
221
+ onChange: onChangeHanlder
222
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "class", "size", "options", "clearable", "disabled", "placeholder"]))
223
+ ]);
224
+ };
225
+ }
226
+ });
227
+
228
+ export { _sfc_main as default };
229
+ //# sourceMappingURL=appOrgCascader.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appOrgCascader.vue.mjs","sources":["../../../packages/components/appOrgCascader/appOrgCascader.vue"],"sourcesContent":["<script setup>\nimport { computed, ref, useTemplateRef, watch } from 'vue'\nimport { ElCascader } from 'element-plus'\nimport { useApi, useLocale } from '@hy-dispatch-ui-v3/hooks'\nimport './style/appOrgCascader.scss'\n\ndefineOptions({\n name: 'AppOrgCascader',\n})\n\nconst props = defineProps({\n size: {\n type: String,\n default: () => {\n return 'default'\n }\n },\n className: {\n type: String,\n default: () => {\n return ''\n }\n },\n placeholder: {\n type: String,\n },\n /*\n * false 直接显示输入框\n * true 文字和输入框切换\n * */\n contentType: {\n type: Boolean,\n default: () => {\n return false\n }\n },\n disabled: {\n type: Boolean,\n default: () => {\n return false\n }\n },\n // 自定义内容\n options: {\n type: Array,\n default: () => {\n return []\n }\n },\n // 是否自动获取数据\n defaultGetData: {\n type: Boolean,\n default: () => {\n return true\n }\n },\n // 是否支持清空选项\n clearable: {\n type: Boolean,\n default: () => {\n return true\n }\n },\n // 仅change 最后一个选项\n changeLastLayer: {\n type: Boolean,\n default: () => {\n return false\n }\n },\n})\nconst emits = defineEmits(['change'])\n\nconst { t } = useLocale()\nconst { api } = useApi()\n\nconst modelValue = defineModel('modelValue', { type: [Array, String, Number] })\n\nconst cascaderRef = useTemplateRef('cascaderRef')\n\nconst focusType = ref(false)\nconst cascaderValue = ref(null)\nconst cascaderOptions = ref([])\nconst cascaderValueMap = ref(new Map())\nconst currentCompanyName = computed(() => {\n const target = cascaderValueMap.value.get(modelValue.value)\n return target?.companyName\n})\n\n// 获取级联数据\nfunction getCascaderData() {\n api.post('organization/orgTreeSimple').then((res) => {\n handlerData(res.data)\n })\n}\n// 处理级联数据\nfunction handlerData(data, ) {\n const cascaderMap = new Map()\n const handler = (list, parentIdsList = []) => {\n list.forEach((item) => {\n item.label = item.companyName\n item.value = item.id\n item.parentIdsList = [...parentIdsList, item.id]\n cascaderMap.set(item.value, item)\n if (item.children && item.children.length > 0) {\n handler(item.children, item.parentIdsList)\n } else {\n delete item.children\n }\n })\n }\n handler(data)\n if (modelValue.value) {\n setDefaultValue(modelValue.value)\n }\n cascaderOptions.value = data\n cascaderValueMap.value = cascaderMap\n}\n/**\n * 外部传入部门ID,并且设置入选择器中\n */\nfunction setDefaultValue(val) {\n const item = cascaderValueMap.value.get(val)\n if (item) {\n cascaderValue.value = item.parentIdsList\n } else {\n cascaderValue.value = [val]\n }\n}\nfunction onChangeHanlder(value) {\n cascaderRef.value.dropDownVisible = false\n onVisibleChangeHandler(false)\n modelValue.value = value?.[value.length - 1]\n if (props.changeLastLayer) {\n emits('change', modelValue.value)\n } else {\n emits('change', value)\n }\n}\nfunction onVisibleChangeHandler(type) {\n focusType.value = type\n}\n\nif (props.defaultGetData) {\n getCascaderData()\n}\n\nwatch(() => props.options, () => {\n if (props.options?.length) {\n handlerData(props.options)\n }\n}, { immediate: true, deep: true })\n\nwatch(modelValue, () => {\n setDefaultValue(modelValue.value)\n}, { immediate: true, deep: true })\n</script>\n\n<template>\n <div class=\"relative\">\n <div v-if=\"contentType\" class=\"over_one_line\">\n <div\n :style=\"{\n opacity: focusType ? 1 : 0,\n position: focusType ? 'relative' : 'absolute'\n }\"\n class=\"top-0 left-0\"\n >\n <el-cascader\n ref=\"cascaderRef\"\n v-model=\"cascaderValue\"\n class=\"w-full\"\n :size=\"size\"\n :options=\"cascaderOptions\"\n :disabled=\"disabled\"\n :props=\"{ checkStrictly: true }\"\n :clearable=\"clearable\"\n :placeholder=\"placeholder || t('cascader.pleaseSelectDepartment')\"\n filterable\n :show-all-levels=\"false\"\n @change=\"onChangeHanlder\"\n @visible-change=\"onVisibleChangeHandler($event)\"\n ></el-cascader>\n </div>\n <span v-if=\"!focusType\" style=\"cursor: pointer\">\n <i class=\"el-icon-caret-bottom\"></i>\n <slot></slot>\n <span\n v-if=\"currentCompanyName\"\n class=\"text-xs text-auxiliary\"\n >({{ currentCompanyName }})</span\n >\n </span>\n </div>\n <el-cascader\n v-else\n ref=\"cascaderRef\"\n v-model=\"cascaderValue\"\n class=\"w-full\"\n :class=\"className\"\n :size=\"size\"\n :options=\"cascaderOptions\"\n :props=\"{ checkStrictly: true }\"\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder || t('cascader.pleaseSelectDepartment')\"\n filterable\n :show-all-levels=\"false\"\n @change=\"onChangeHanlder\"\n ></el-cascader>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_unref"],"mappings":";;;;;AAGA,OAAO,CAAC,GAAC,CAAA,eAAkB,EAAE,CAAA,qCAA8B,CAAA,CAAA;;;;;;AAG7C,IAAA,IAAA,EAAA;AACd,MAAM;AACN,MAAA,OAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAA,MAAM,aAAQ,GAAA,GAAA,CAAA,IAAA,CAAA;AA6Dd,IAAA,MAAM,eAAQ,GAAA,GAAA,CAAA,EAAA,CAAA;;AAEd,IAAA,MAAU,kBAAc,GAAA,QAAA,CAAA,MAAA;AACxB,MAAM,MAAM,MAAI,GAAA,gBAAO,CAAA,KAAA,CAAA,GAAA,CAAA,UAAA,CAAA,KAAA,CAAA;;AAEvB,IAAA,CAAK,CAAC;;AAEN,MAAM,qCAA8B,CAAA,CAAA,IAAY,CAAA,CAAA,GAAA,KAAA;;AAEhD,MAAM,CAAA,CAAA;AACN,IAAA;AACA,IAAA,oBAAwB,CAAA,IAAK,EAAC;AAC9B,MAAM,MAAA,WAAiB,mBAAe,IAAA,GAAA,EAAA;AACtC,MAAM,MAAA,OAAA,GAAA,CAAA,IAAqB,EAAA,aAAe,GAAA,EAAA,KAAA;AAC1C,QAAQ,IAAA,CAAA,OAAS,CAAA,CAAA,IAAA,KAAA;AACjB,UAAS,IAAA,CAAM,KAAE,GAAA,IAAA,CAAA,WAAA;AACjB,UAAC,IAAA,CAAA,KAAA,GAAA,IAAA,CAAA,EAAA;;AAED,UAAQ,WAAA,CAAA,GAAA,CAAA,IAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACR,UAAS,IAAA,IAAA,CAAA,QAAkB,IAAA,IAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AAC3B,YAAY,OAAA,CAAA,IAAY,CAAC,QAAA,EAAA,IAAc,CAAC,aAAa,CAAC;AACtD,iBAAgB;AAChB,YAAG,OAAA,IAAA,CAAA,QAAA;AACH,UAAA;AACA,QAAQ,CAAA,CAAA;AACR,MAAA,CAAA;AACA,MAAE,OAAM,CAAA,IAAA,CAAW;AACnB,UAAQ,UAAW,CAAA,KAAM,EAAA;AACzB,QAAQ,eAAe,CAAC,UAAG,CAAA,KAAA,CAAA;AAC3B,MAAM;AACN,MAAM,eAAa,CAAA,KAAK,GAAA,IAAA;AACxB,MAAM,sBAAsB,GAAG,WAAA;AAC/B,IAAI;AACJ,IAAI,SAAM,eAAiB,CAAA,GAAK,EAAA;AAChC,MAAM,MAAE,IAAQ,GAAA,gBAAmB,CAAC,KAAA,CAAA,GAAA,CAAA,GAAa,CAAA;AACjD,MAAM,QAAO,EAAA;AACb,QAAQ,aAAY,CAAA,KAAA,GAAA,IAAA,CAAA,aAAA;AACpB,MAAM,CAAA,MAAA;AACN,QAAK,aAAA,CAAA,KAAA,GAAA,CAAA,GAAA,CAAA;AACL,MAAE;AACF,IAAE;AACF,IAAI,wBAAoB,CAAA,KAAA,EAAA;AACxB,uBAAoB,CAAA,eAAgB,GAAA,KAAA;AACpC,MAAE,sBAAA,CAAA,KAAA,CAAA;AACF,MAAE,UAAA,CAAe,KAAC,GAAO,KAAC,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AAC1B,MAAE,IAAA,KAAA,CAAA,eAAyB,EAAA;AAC3B,QAAA,KAAA,CAAA,QAAA,EAAA,UAAA,CAAA,KAAA,CAAA;AACA,MAAE,CAAA,MAAA;AACF,QAAQ,KAAK,CAAC,QAAM,EAAA,KAAA,CAAA;AACpB,MAAE;AACF,IAAA;AACA,IAAE,SAAW,sBAAmB,CAAA,IAAM,EAAI;AAC1C,MAAM,SAAM,CAAA,KAAA,GAAA,IAAA;AACZ,IAAI;AACJ,IAAI,IAAI,KAAC,CAAA,cAAA,EAAA;AACT,MAAI,iBAAmB;AACvB,IAAE;AACF,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,OAAA,EAAA,MAAA;AACA,MAAA,IAAS,EAAA;AACT,aAAa,GAAC,KAAM,CAAA,OAAA,KAAA,IAAkB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,EAAA;AACtC,QAAE,WAAA,CAAA,KAAuB,CAAA,OAAK,CAAA;AAC9B,MAAE;AACF,IAAI,CAAC,aAAO,EAAA,IAAA,EAAA,IAAiB,EAAA,IAAA,EAAA,CAAA;AAC7B,IAAI,KAAK,CAAC,UAAU,EAAA,MAAA;AACpB,MAAI,eAAK,CAAA,UAAA,CAAA,KAAA,CAAA;AACT,IAAI,CAAA,EAAA,EAAK,SAAS,EAAE,IAAA,EAAK,IAAA,EAAA,IAAA,EAAA,CAAA;AACzB,IAAE,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AACF,MAAA,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA;AACA,QAAQ,OAAC,CAAA,WAAA,IAAsBD,SAAO,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;AACtC,UAAE,GAAU,EAAA,CAAA;AACZ,UAAA,KAAA,EAAA;;AAEA,UAAUC,kBAAgB;AAC1B,iBAAiB;AACjB,YAAA;;AAEA,gBAAY,OAAM,EAAO,SAAQ,CAAA,KAAA,GAAA,CAAA,GAAA,CAAA;AACjC,gBAAY,QAAS,EAAA,SAAQ,CAAA,KAAA,GAAA,UAAA,GAAA;AAC7B,eAAe,CAAC;AAChB,cAAE,KAAA,EAAA;AACF;;AAEA,yBAAwB,CAAAC,KAAA,CAAA,UAAA,CAAA,EAAA;AACxB,gBAAE,OAAgB,EAAA,aAAgB;AAClC,gBAAgB,GAAA,EAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import _sfc_main from './appOrgCascader.vue.mjs';
2
+ import { withInstall } from '../../utils/handler.mjs';
3
+
4
+ const AppOrgCascader = withInstall(_sfc_main);
5
+
6
+ export { AppOrgCascader, AppOrgCascader as default };
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../packages/components/appOrgCascader/index.js"],"sourcesContent":["import componnet from './appOrgCascader.vue'\nimport { withInstall } from '@hy-dispatch-ui-v3/utils'\n\nconst AppOrgCascader = withInstall(componnet)\n\nexport { AppOrgCascader }\n\nexport default AppOrgCascader\n"],"names":["componnet"],"mappings":";;;AAEK,MAAC,cAAc,GAAG,WAAW,CAACA,SAAS;;;;"}