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.
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/tailwind.css +1083 -0
- package/es/bussiness/index.mjs +2 -0
- package/es/bussiness/index.mjs.map +1 -0
- package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs +204 -0
- package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs.map +1 -0
- package/es/components/appConfirmDialog/appConfirmMethod.mjs +73 -0
- package/es/components/appConfirmDialog/appConfirmMethod.mjs.map +1 -0
- package/es/components/appConfirmDialog/index.mjs +8 -0
- package/es/components/appConfirmDialog/index.mjs.map +1 -0
- package/es/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
- package/es/components/appDatePicker/appDatePicker.vue.mjs +99 -0
- package/es/components/appDatePicker/appDatePicker.vue.mjs.map +1 -0
- package/es/components/appDatePicker/index.mjs +7 -0
- package/es/components/appDatePicker/index.mjs.map +1 -0
- package/es/components/appDatePicker/style/appDatePicker.scss +0 -0
- package/es/components/appForm/appForm.vue.mjs +331 -0
- package/es/components/appForm/appForm.vue.mjs.map +1 -0
- package/es/components/appForm/index.mjs +8 -0
- package/es/components/appForm/index.mjs.map +1 -0
- package/es/components/appForm/js/index.mjs +87 -0
- package/es/components/appForm/js/index.mjs.map +1 -0
- package/es/components/appForm/js/useAppForm.mjs +149 -0
- package/es/components/appForm/js/useAppForm.mjs.map +1 -0
- package/es/components/appForm/style/appForm.scss +16 -0
- package/es/components/appOrgCascader/appOrgCascader.vue.mjs +229 -0
- package/es/components/appOrgCascader/appOrgCascader.vue.mjs.map +1 -0
- package/es/components/appOrgCascader/index.mjs +7 -0
- package/es/components/appOrgCascader/index.mjs.map +1 -0
- package/es/components/appOrgCascader/style/appOrgCascader.scss +0 -0
- package/es/components/appSearch/appSearch.vue.mjs +408 -0
- package/es/components/appSearch/appSearch.vue.mjs.map +1 -0
- package/es/components/appSearch/index.mjs +8 -0
- package/es/components/appSearch/index.mjs.map +1 -0
- package/es/components/appSearch/js/index.mjs +114 -0
- package/es/components/appSearch/js/index.mjs.map +1 -0
- package/es/components/appSearch/js/useAppSearch.mjs +178 -0
- package/es/components/appSearch/js/useAppSearch.mjs.map +1 -0
- package/es/components/appSearch/style/appSearch.scss +53 -0
- package/es/components/appTable/appTable.vue.mjs +578 -0
- package/es/components/appTable/appTable.vue.mjs.map +1 -0
- package/es/components/appTable/cpns/columnSelect.vue.mjs +414 -0
- package/es/components/appTable/cpns/columnSelect.vue.mjs.map +1 -0
- package/es/components/appTable/index.mjs +8 -0
- package/es/components/appTable/index.mjs.map +1 -0
- package/es/components/appTable/js/index.mjs +304 -0
- package/es/components/appTable/js/index.mjs.map +1 -0
- package/es/components/appTable/js/search.mjs +129 -0
- package/es/components/appTable/js/search.mjs.map +1 -0
- package/es/components/appTable/js/useAppTable.mjs +63 -0
- package/es/components/appTable/js/useAppTable.mjs.map +1 -0
- package/es/components/appTable/style/appTable.scss +15 -0
- package/es/components/appTooltip/appTooltip.vue.mjs +94 -0
- package/es/components/appTooltip/appTooltip.vue.mjs.map +1 -0
- package/es/components/appTooltip/index.mjs +7 -0
- package/es/components/appTooltip/index.mjs.map +1 -0
- package/es/components/appTooltip/style/appTooltip.scss +0 -0
- package/es/components/index.mjs +12 -0
- package/es/components/index.mjs.map +1 -0
- package/es/components/svgIcon/iconBox.vue.mjs +99 -0
- package/es/components/svgIcon/iconBox.vue.mjs.map +1 -0
- package/es/components/svgIcon/index.mjs +9 -0
- package/es/components/svgIcon/index.mjs.map +1 -0
- package/es/components/svgIcon/style/iconBox.scss +13 -0
- package/es/components/svgIcon/style/svgIcon.scss +12 -0
- package/es/components/svgIcon/svgIcon.vue.mjs +47 -0
- package/es/components/svgIcon/svgIcon.vue.mjs.map +1 -0
- package/es/config/index.mjs +2 -0
- package/es/config/index.mjs.map +1 -0
- package/es/constants/index.mjs +4 -0
- package/es/constants/index.mjs.map +1 -0
- package/es/constants/keys.mjs +2 -0
- package/es/constants/keys.mjs.map +1 -0
- package/es/hooks/index.mjs +5 -0
- package/es/hooks/index.mjs.map +1 -0
- package/es/hooks/useApi.mjs +10 -0
- package/es/hooks/useApi.mjs.map +1 -0
- package/es/hooks/useGlobalConfig.mjs +56 -0
- package/es/hooks/useGlobalConfig.mjs.map +1 -0
- package/es/hooks/useLocale.mjs +34 -0
- package/es/hooks/useLocale.mjs.map +1 -0
- package/es/hooks/useMixins.mjs +19 -0
- package/es/hooks/useMixins.mjs.map +1 -0
- package/es/index.mjs +30 -0
- package/es/index.mjs.map +1 -0
- package/es/locale/en_US.mjs +67 -0
- package/es/locale/en_US.mjs.map +1 -0
- package/es/locale/index.mjs +3 -0
- package/es/locale/index.mjs.map +1 -0
- package/es/locale/zh_CN.mjs +67 -0
- package/es/locale/zh_CN.mjs.map +1 -0
- package/es/make-installer.mjs +29 -0
- package/es/make-installer.mjs.map +1 -0
- package/es/store/index.mjs +7 -0
- package/es/store/index.mjs.map +1 -0
- package/es/store/maintain.mjs +90 -0
- package/es/store/maintain.mjs.map +1 -0
- package/es/style/index.scss +46 -0
- package/es/style/tailwind.scss +3 -0
- package/es/style/theme.scss +123 -0
- package/es/utils/adaptive.mjs +30 -0
- package/es/utils/adaptive.mjs.map +1 -0
- package/es/utils/bus.mjs +6 -0
- package/es/utils/bus.mjs.map +1 -0
- package/es/utils/crypto.mjs +21 -0
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/date.mjs +25 -0
- package/es/utils/date.mjs.map +1 -0
- package/es/utils/handler.mjs +83 -0
- package/es/utils/handler.mjs.map +1 -0
- package/es/utils/index.mjs +7 -0
- package/es/utils/index.mjs.map +1 -0
- package/es/utils/is.mjs +19 -0
- package/es/utils/is.mjs.map +1 -0
- package/es/version.mjs +4 -0
- package/es/version.mjs.map +1 -0
- package/lib/bussiness/index.js +3 -0
- package/lib/bussiness/index.js.map +1 -0
- package/lib/components/appConfirmDialog/appConfirmDialog.vue.js +208 -0
- package/lib/components/appConfirmDialog/appConfirmDialog.vue.js.map +1 -0
- package/lib/components/appConfirmDialog/appConfirmMethod.js +77 -0
- package/lib/components/appConfirmDialog/appConfirmMethod.js.map +1 -0
- package/lib/components/appConfirmDialog/index.js +13 -0
- package/lib/components/appConfirmDialog/index.js.map +1 -0
- package/lib/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
- package/lib/components/appDatePicker/appDatePicker.vue.js +103 -0
- package/lib/components/appDatePicker/appDatePicker.vue.js.map +1 -0
- package/lib/components/appDatePicker/index.js +12 -0
- package/lib/components/appDatePicker/index.js.map +1 -0
- package/lib/components/appDatePicker/style/appDatePicker.scss +0 -0
- package/lib/components/appForm/appForm.vue.js +335 -0
- package/lib/components/appForm/appForm.vue.js.map +1 -0
- package/lib/components/appForm/index.js +14 -0
- package/lib/components/appForm/index.js.map +1 -0
- package/lib/components/appForm/js/index.js +93 -0
- package/lib/components/appForm/js/index.js.map +1 -0
- package/lib/components/appForm/js/useAppForm.js +152 -0
- package/lib/components/appForm/js/useAppForm.js.map +1 -0
- package/lib/components/appForm/style/appForm.scss +16 -0
- package/lib/components/appOrgCascader/appOrgCascader.vue.js +233 -0
- package/lib/components/appOrgCascader/appOrgCascader.vue.js.map +1 -0
- package/lib/components/appOrgCascader/index.js +12 -0
- package/lib/components/appOrgCascader/index.js.map +1 -0
- package/lib/components/appOrgCascader/style/appOrgCascader.scss +0 -0
- package/lib/components/appSearch/appSearch.vue.js +412 -0
- package/lib/components/appSearch/appSearch.vue.js.map +1 -0
- package/lib/components/appSearch/index.js +14 -0
- package/lib/components/appSearch/index.js.map +1 -0
- package/lib/components/appSearch/js/index.js +122 -0
- package/lib/components/appSearch/js/index.js.map +1 -0
- package/lib/components/appSearch/js/useAppSearch.js +181 -0
- package/lib/components/appSearch/js/useAppSearch.js.map +1 -0
- package/lib/components/appSearch/style/appSearch.scss +53 -0
- package/lib/components/appTable/appTable.vue.js +582 -0
- package/lib/components/appTable/appTable.vue.js.map +1 -0
- package/lib/components/appTable/cpns/columnSelect.vue.js +418 -0
- package/lib/components/appTable/cpns/columnSelect.vue.js.map +1 -0
- package/lib/components/appTable/index.js +14 -0
- package/lib/components/appTable/index.js.map +1 -0
- package/lib/components/appTable/js/index.js +311 -0
- package/lib/components/appTable/js/index.js.map +1 -0
- package/lib/components/appTable/js/search.js +131 -0
- package/lib/components/appTable/js/search.js.map +1 -0
- package/lib/components/appTable/js/useAppTable.js +65 -0
- package/lib/components/appTable/js/useAppTable.js.map +1 -0
- package/lib/components/appTable/style/appTable.scss +15 -0
- package/lib/components/appTooltip/appTooltip.vue.js +98 -0
- package/lib/components/appTooltip/appTooltip.vue.js.map +1 -0
- package/lib/components/appTooltip/index.js +12 -0
- package/lib/components/appTooltip/index.js.map +1 -0
- package/lib/components/appTooltip/style/appTooltip.scss +0 -0
- package/lib/components/index.js +29 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/svgIcon/iconBox.vue.js +103 -0
- package/lib/components/svgIcon/iconBox.vue.js.map +1 -0
- package/lib/components/svgIcon/index.js +15 -0
- package/lib/components/svgIcon/index.js.map +1 -0
- package/lib/components/svgIcon/style/iconBox.scss +13 -0
- package/lib/components/svgIcon/style/svgIcon.scss +12 -0
- package/lib/components/svgIcon/svgIcon.vue.js +51 -0
- package/lib/components/svgIcon/svgIcon.vue.js.map +1 -0
- package/lib/config/index.js +3 -0
- package/lib/config/index.js.map +1 -0
- package/lib/constants/index.js +6 -0
- package/lib/constants/index.js.map +1 -0
- package/lib/constants/keys.js +3 -0
- package/lib/constants/keys.js.map +1 -0
- package/lib/hooks/index.js +21 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/useApi.js +13 -0
- package/lib/hooks/useApi.js.map +1 -0
- package/lib/hooks/useGlobalConfig.js +59 -0
- package/lib/hooks/useGlobalConfig.js.map +1 -0
- package/lib/hooks/useLocale.js +41 -0
- package/lib/hooks/useLocale.js.map +1 -0
- package/lib/hooks/useMixins.js +21 -0
- package/lib/hooks/useMixins.js.map +1 -0
- package/lib/index.js +85 -0
- package/lib/index.js.map +1 -0
- package/lib/locale/en_US.js +71 -0
- package/lib/locale/en_US.js.map +1 -0
- package/lib/locale/index.js +10 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/zh_CN.js +71 -0
- package/lib/locale/zh_CN.js.map +1 -0
- package/lib/make-installer.js +33 -0
- package/lib/make-installer.js.map +1 -0
- package/lib/store/index.js +10 -0
- package/lib/store/index.js.map +1 -0
- package/lib/store/maintain.js +92 -0
- package/lib/store/maintain.js.map +1 -0
- package/lib/style/index.scss +46 -0
- package/lib/style/tailwind.scss +3 -0
- package/lib/style/theme.scss +123 -0
- package/lib/utils/adaptive.js +35 -0
- package/lib/utils/adaptive.js.map +1 -0
- package/lib/utils/bus.js +8 -0
- package/lib/utils/bus.js.map +1 -0
- package/lib/utils/crypto.js +25 -0
- package/lib/utils/crypto.js.map +1 -0
- package/lib/utils/date.js +27 -0
- package/lib/utils/date.js.map +1 -0
- package/lib/utils/handler.js +89 -0
- package/lib/utils/handler.js.map +1 -0
- package/lib/utils/index.js +38 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/is.js +32 -0
- package/lib/utils/is.js.map +1 -0
- package/lib/version.js +6 -0
- package/lib/version.js.map +1 -0
- 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":"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"}
|
|
@@ -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;;;;"}
|
|
File without changes
|