@das-fed/ui 1.1.4 → 6.3.0-beta.1
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/global/icons/index.local.js +1 -1
- package/global/style/index.css +1 -1
- package/global/style/scrollbar.css +22 -22
- package/global/theme/index.js +12 -12
- package/global/theme/module/color.js +31 -31
- package/global/theme/module/fontSize.js +5 -5
- package/global/theme/module/scrollbar.js +6 -6
- package/package.json +15 -9
- package/packages/business-components/app-container/index.js +154 -147
- package/packages/business-components/change-enterprises/index.css +1 -0
- package/packages/business-components/change-enterprises/index.js +241 -0
- package/packages/business-components/change-pwd/index.css +1 -0
- package/packages/business-components/change-pwd/index.js +330 -0
- package/packages/business-components/currency-page/index.css +1 -0
- package/packages/business-components/currency-page/index.js +99 -0
- package/packages/business-components/device-panel/index.css +1 -0
- package/packages/business-components/device-panel/index.js +115939 -0
- package/packages/business-components/echarts/index.js +93 -122
- package/packages/business-components/export-button/index.js +73 -66
- package/packages/business-components/import-button/index.js +213 -170
- package/packages/business-components/index.js +8 -1
- package/packages/business-components/layout-breadcrumb/index.js +82 -66
- package/packages/business-components/model-table-dialog/index.js +299 -289
- package/packages/business-components/process-configuration/index.css +1 -0
- package/packages/business-components/process-configuration/index.js +612 -0
- package/packages/business-components/process-form/index.css +1 -0
- package/packages/business-components/process-form/index.js +524 -0
- package/packages/business-components/process-search-form/index.js +73 -315
- package/packages/business-components/process-table/index.css +1 -1
- package/packages/business-components/process-table/index.js +186 -152
- package/packages/business-components/urgent-panel/index.css +1 -0
- package/packages/business-components/urgent-panel/index.js +3914 -0
- package/packages/business-components/user-org-dialog/index.js +466 -375
- package/packages/business-components/video-dialog/index.css +1 -0
- package/packages/business-components/video-dialog/index.js +1041 -0
- package/packages/business.js +1 -2
- package/packages/components/alert/index.js +449 -633
- package/packages/components/audio-video/index.css +1 -1
- package/packages/components/audio-video/index.js +312 -126
- package/packages/components/autocomplete/index.css +1 -1
- package/packages/components/autocomplete/index.js +312 -2923
- package/packages/components/breadcrumb/index.js +97 -82
- package/packages/components/button/index.css +1 -1
- package/packages/components/button/index.js +646 -787
- package/packages/components/calendar/index.css +1 -1
- package/packages/components/calendar/index.js +655 -3879
- package/packages/components/cascader/index.js +209 -203
- package/packages/components/checkbox/index.css +1 -1
- package/packages/components/checkbox/index.js +710 -872
- package/packages/components/collapse-panel/index.css +1 -1
- package/packages/components/collapse-panel/index.js +419 -601
- package/packages/components/collapse-transition/index.js +23 -21
- package/packages/components/collaspe/index.css +1 -1
- package/packages/components/collaspe/index.js +413 -595
- package/packages/components/color-picker/index.css +1 -1
- package/packages/components/color-picker/index.js +176 -133
- package/packages/components/custom-search-item/index.js +43 -37
- package/packages/components/date-picker/index.js +1338 -1459
- package/packages/components/dialog/index.js +429 -215
- package/packages/components/dimple-layout/index.css +1 -1
- package/packages/components/dimple-layout/index.js +1298 -1794
- package/packages/components/drawer/index.js +105 -77
- package/packages/components/dropdown/index.js +129 -109
- package/packages/components/edit-table/index.css +1 -1
- package/packages/components/edit-table/index.js +868 -752
- package/packages/components/empty/index.js +83 -78
- package/packages/components/form/index.js +22 -15
- package/packages/components/form-item/index.css +1 -1
- package/packages/components/form-item/index.js +601 -440
- package/packages/components/icon/index.css +1 -1
- package/packages/components/icon/index.js +38 -22
- package/packages/components/image-preview/index.css +1 -0
- package/packages/components/image-preview/index.js +2714 -0
- package/packages/components/image-upload/index.js +601 -765
- package/packages/components/image-viewer/index.css +1 -1
- package/packages/components/image-viewer/index.js +909 -990
- package/packages/components/index.js +2 -2
- package/packages/components/input/index.css +1 -1
- package/packages/components/input/index.js +284 -256
- package/packages/components/input-dialog-select/index.css +1 -1
- package/packages/components/input-dialog-select/index.js +179 -156
- package/packages/components/input-number/index.css +1 -1
- package/packages/components/input-number/index.js +157 -170
- package/packages/components/live-player/index.css +1 -0
- package/packages/components/live-player/index.js +170 -0
- package/packages/components/loading/index.js +17 -26
- package/packages/components/map/index.css +1 -1
- package/packages/components/map/index.js +18913 -461
- package/packages/components/menu-aside/index.css +1 -1
- package/packages/components/menu-aside/index.js +648 -713
- package/packages/components/menu-header/index.js +446 -629
- package/packages/components/message/index.js +25 -16
- package/packages/components/notification/index.js +386 -575
- package/packages/components/overlay/index.js +112 -103
- package/packages/components/pagination/index.js +260 -330
- package/packages/components/popover/index.js +104 -93
- package/packages/components/popup-mask/index.css +1 -1
- package/packages/components/popup-mask/index.js +77 -72
- package/packages/components/preview/index.js +33 -28
- package/packages/components/progress/index.js +214 -221
- package/packages/components/radio/index.css +1 -1
- package/packages/components/radio/index.js +699 -862
- package/packages/components/radio-tabs/index.js +144 -107
- package/packages/components/rich-editor/index.css +1 -1
- package/packages/components/rich-editor/index.js +105 -106
- package/packages/components/scrollbar/index.css +3 -2
- package/packages/components/scrollbar/index.js +2262 -1201
- package/packages/components/search/index.js +500 -664
- package/packages/components/search-form/index.css +1 -1
- package/packages/components/search-form/index.js +724 -626
- package/packages/components/select/index.css +1 -1
- package/packages/components/select/index.js +1052 -950
- package/packages/components/select-input/index.js +63 -53
- package/packages/components/select-list/index.css +1 -1
- package/packages/components/select-list/index.js +258 -235
- package/packages/components/special-range-picker-month/index.css +1 -1
- package/packages/components/special-range-picker-month/index.js +3068 -72555
- package/packages/components/special-range-picker-year/index.css +1 -1
- package/packages/components/special-range-picker-year/index.js +345 -339
- package/packages/components/spin/index.js +415 -594
- package/packages/components/split-panel/index.css +1 -1
- package/packages/components/split-panel/index.js +146 -127
- package/packages/components/step/index.js +414 -597
- package/packages/components/steps/index.js +407 -590
- package/packages/components/switch/index.js +23 -23
- package/packages/components/table/index.css +1 -1
- package/packages/components/table/index.js +80813 -27734
- package/packages/components/tabs/index.css +1 -1
- package/packages/components/tabs/index.js +620 -813
- package/packages/components/tag/index.js +63 -63
- package/packages/components/text-tooltip/index.css +9 -0
- package/packages/components/text-tooltip/index.js +2739 -33
- package/packages/components/time-line/index.js +464 -643
- package/packages/components/tooltip/index.css +1 -1
- package/packages/components/tooltip/index.js +108 -79
- package/packages/components/tree/index.css +1 -1
- package/packages/components/tree/index.js +840 -809
- package/packages/components/tree-select/index.js +271 -303
- package/packages/components/tree-table/index.js +461 -352
- package/packages/components/upload/index.js +682 -858
- package/packages/components/virtual-tree/index.css +1 -1
- package/packages/components/virtual-tree/index.js +144 -126
- package/packages/index.d.ts +1 -0
- package/packages/index.js +2 -2
- package/style/business.css +11 -4
- package/style/index.css +52 -42
- package/packages/business-components/low-code/index.css +0 -1
- package/packages/business-components/low-code/index.js +0 -60
- package/packages/components/audio-video-player/index.css +0 -1
- package/packages/components/audio-video-player/index.js +0 -83
- package/packages/components/table-column/index.css +0 -1
- package/packages/components/table-column/index.js +0 -82021
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, createElementVNode, ref, computed, watch, resolveComponent, createBlock, withCtx, createVNode, withKeys, Fragment, renderList, normalizeClass, createTextVNode } from 'vue';
|
|
2
|
+
import { withInstall } from '@das-fed/utils';
|
|
3
|
+
import { DasDialog, DasInput, DasPagination, DasButton, DasTooltip, DasEmpty } from '@das-fed/ui';
|
|
4
|
+
import { justauth } from '@das-fed/utils/api-services';
|
|
5
|
+
|
|
6
|
+
/*! Element Plus Icons Vue v2.3.1 */
|
|
7
|
+
|
|
8
|
+
var search_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "Search",
|
|
10
|
+
__name: "search",
|
|
11
|
+
setup(__props) {
|
|
12
|
+
return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
|
|
13
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
+
viewBox: "0 0 1024 1024"
|
|
15
|
+
}, [
|
|
16
|
+
createElementVNode("path", {
|
|
17
|
+
fill: "currentColor",
|
|
18
|
+
d: "m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"
|
|
19
|
+
})
|
|
20
|
+
]));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// src/components/search.vue
|
|
25
|
+
var search_default = search_vue_vue_type_script_setup_true_lang_default;
|
|
26
|
+
|
|
27
|
+
var img = "data:image/png;base64,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";
|
|
28
|
+
|
|
29
|
+
const getPageTenant = justauth.post("/tenant/page");
|
|
30
|
+
|
|
31
|
+
var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
32
|
+
__name: "index",
|
|
33
|
+
props: {
|
|
34
|
+
visible: { type: Boolean, required: false, default: false },
|
|
35
|
+
useId: { type: String, required: false },
|
|
36
|
+
openId: { type: String, required: false, default: "" },
|
|
37
|
+
tenantId: { type: String, required: false, default: "" }
|
|
38
|
+
},
|
|
39
|
+
emits: ["update:visible", "confirm"],
|
|
40
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
41
|
+
__expose();
|
|
42
|
+
const props = __props;
|
|
43
|
+
const emit = __emit;
|
|
44
|
+
const tenantName = ref("");
|
|
45
|
+
const tableData = ref([]);
|
|
46
|
+
const currentPage = ref(1);
|
|
47
|
+
const pageSize = ref(20);
|
|
48
|
+
const total = ref(0);
|
|
49
|
+
const loading = ref(false);
|
|
50
|
+
const currentTenantId = ref("");
|
|
51
|
+
const innerVisible = computed({
|
|
52
|
+
get: () => props.visible,
|
|
53
|
+
set: (val) => emit("update:visible", val)
|
|
54
|
+
});
|
|
55
|
+
const getTenant = async () => {
|
|
56
|
+
let params = {
|
|
57
|
+
tenantName: tenantName.value,
|
|
58
|
+
userId: props.userId,
|
|
59
|
+
pageSize: pageSize.value,
|
|
60
|
+
pageIndex: currentPage.value
|
|
61
|
+
};
|
|
62
|
+
if (props.openId) params.openId = props.openId;
|
|
63
|
+
const [err, res] = await getPageTenant().run(params);
|
|
64
|
+
if (err) return;
|
|
65
|
+
if (res.data && res.data.length) {
|
|
66
|
+
tableData.value = res.data.map((item) => {
|
|
67
|
+
if (!item.tenantName) item.tenantName = "-";
|
|
68
|
+
return item;
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
tableData.value = [];
|
|
72
|
+
}
|
|
73
|
+
total.value = Number(res.totalCount);
|
|
74
|
+
};
|
|
75
|
+
const onSearch = () => {
|
|
76
|
+
currentPage.value = 1;
|
|
77
|
+
getTenant();
|
|
78
|
+
};
|
|
79
|
+
watch(
|
|
80
|
+
() => innerVisible.value,
|
|
81
|
+
(newVal) => {
|
|
82
|
+
if (newVal) {
|
|
83
|
+
currentTenantId.value = props?.tenantId ?? "";
|
|
84
|
+
onSearch();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{ immediate: true }
|
|
88
|
+
);
|
|
89
|
+
const changeTenant = (item) => {
|
|
90
|
+
const tenantId = item?.tenantId ?? "";
|
|
91
|
+
if (currentTenantId.value === tenantId) return;
|
|
92
|
+
emit("confirm", tenantId);
|
|
93
|
+
};
|
|
94
|
+
const handleSizeChange = (val) => {
|
|
95
|
+
pageSize.value = val;
|
|
96
|
+
onSearch();
|
|
97
|
+
};
|
|
98
|
+
const handleCurrentChange = (val) => {
|
|
99
|
+
currentPage.value = val;
|
|
100
|
+
getTenant();
|
|
101
|
+
};
|
|
102
|
+
const __returned__ = { props, emit, tenantName, tableData, currentPage, pageSize, total, loading, currentTenantId, innerVisible, getTenant, onSearch, changeTenant, handleSizeChange, handleCurrentChange, get DasDialog() {
|
|
103
|
+
return DasDialog;
|
|
104
|
+
}, get DasInput() {
|
|
105
|
+
return DasInput;
|
|
106
|
+
}, get DasPagination() {
|
|
107
|
+
return DasPagination;
|
|
108
|
+
}, get DasButton() {
|
|
109
|
+
return DasButton;
|
|
110
|
+
}, get DasTooltip() {
|
|
111
|
+
return DasTooltip;
|
|
112
|
+
}, get DasEmpty() {
|
|
113
|
+
return DasEmpty;
|
|
114
|
+
}, get Search() {
|
|
115
|
+
return search_default;
|
|
116
|
+
}, get enterpriseIcon() {
|
|
117
|
+
return img;
|
|
118
|
+
} };
|
|
119
|
+
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
120
|
+
return __returned__;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
var _export_sfc = (sfc, props) => {
|
|
125
|
+
const target = sfc.__vccOpts || sfc;
|
|
126
|
+
for (const [key, val] of props) {
|
|
127
|
+
target[key] = val;
|
|
128
|
+
}
|
|
129
|
+
return target;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
const _hoisted_1 = { class: "dialog_box" };
|
|
133
|
+
const _hoisted_2 = { class: "header" };
|
|
134
|
+
const _hoisted_3 = { class: "content" };
|
|
135
|
+
const _hoisted_4 = ["src"];
|
|
136
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
137
|
+
const _component_el_col = resolveComponent("el-col");
|
|
138
|
+
const _component_el_row = resolveComponent("el-row");
|
|
139
|
+
return openBlock(), createBlock($setup["DasDialog"], {
|
|
140
|
+
modelValue: $setup.innerVisible,
|
|
141
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $setup.innerVisible = $event),
|
|
142
|
+
title: "\u9009\u62E9\u767B\u5F55\u4F01\u4E1A",
|
|
143
|
+
size: "nomarl",
|
|
144
|
+
loading: $setup.loading
|
|
145
|
+
}, {
|
|
146
|
+
default: withCtx(() => [
|
|
147
|
+
createElementVNode("div", _hoisted_1, [
|
|
148
|
+
createElementVNode("div", _hoisted_2, [
|
|
149
|
+
createVNode($setup["DasInput"], {
|
|
150
|
+
modelValue: $setup.tenantName,
|
|
151
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $setup.tenantName = $event),
|
|
152
|
+
placeholder: "\u641C\u7D22\u4F01\u4E1A\u540D\u79F0",
|
|
153
|
+
"prefix-icon": $setup.Search,
|
|
154
|
+
onKeyup: withKeys($setup.onSearch, ["enter"])
|
|
155
|
+
}, null, 8, ["modelValue", "prefix-icon"]),
|
|
156
|
+
createVNode($setup["DasPagination"], {
|
|
157
|
+
modelValue: $setup.currentPage,
|
|
158
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $setup.currentPage = $event),
|
|
159
|
+
"page-size": $setup.pageSize,
|
|
160
|
+
"onUpdate:pageSize": _cache[2] || (_cache[2] = ($event) => $setup.pageSize = $event),
|
|
161
|
+
total: $setup.total,
|
|
162
|
+
layout: "prev,next,sizes",
|
|
163
|
+
onSizeChange: $setup.handleSizeChange,
|
|
164
|
+
onCurrentChange: $setup.handleCurrentChange
|
|
165
|
+
}, null, 8, ["modelValue", "page-size", "total"])
|
|
166
|
+
]),
|
|
167
|
+
createElementVNode("div", _hoisted_3, [
|
|
168
|
+
$setup.tableData && $setup.tableData.length ? (openBlock(), createBlock(_component_el_row, {
|
|
169
|
+
key: 0,
|
|
170
|
+
gutter: 20
|
|
171
|
+
}, {
|
|
172
|
+
default: withCtx(() => [
|
|
173
|
+
(openBlock(true), createElementBlock(
|
|
174
|
+
Fragment,
|
|
175
|
+
null,
|
|
176
|
+
renderList($setup.tableData, (item) => {
|
|
177
|
+
return openBlock(), createBlock(
|
|
178
|
+
_component_el_col,
|
|
179
|
+
{ span: 6 },
|
|
180
|
+
{
|
|
181
|
+
default: withCtx(() => [
|
|
182
|
+
createElementVNode(
|
|
183
|
+
"div",
|
|
184
|
+
{
|
|
185
|
+
class: normalizeClass(["item", item.tenantId === $setup.currentTenantId ? "active" : ""])
|
|
186
|
+
},
|
|
187
|
+
[
|
|
188
|
+
createElementVNode("img", {
|
|
189
|
+
class: "icon",
|
|
190
|
+
src: $setup.enterpriseIcon,
|
|
191
|
+
alt: ""
|
|
192
|
+
}, null, 8, _hoisted_4),
|
|
193
|
+
createVNode($setup["DasTooltip"], {
|
|
194
|
+
"custom-class": "name",
|
|
195
|
+
text: item.tenantName,
|
|
196
|
+
row: "2"
|
|
197
|
+
}, null, 8, ["text"]),
|
|
198
|
+
createVNode($setup["DasButton"], {
|
|
199
|
+
btnType: "primary",
|
|
200
|
+
ghost: "",
|
|
201
|
+
size: "middle",
|
|
202
|
+
onClick: ($event) => $setup.changeTenant(item)
|
|
203
|
+
}, {
|
|
204
|
+
default: withCtx(() => [
|
|
205
|
+
createTextVNode("\u8FDB\u5165")
|
|
206
|
+
]),
|
|
207
|
+
_: 2
|
|
208
|
+
/* DYNAMIC */
|
|
209
|
+
}, 1032, ["onClick"])
|
|
210
|
+
],
|
|
211
|
+
2
|
|
212
|
+
/* CLASS */
|
|
213
|
+
)
|
|
214
|
+
]),
|
|
215
|
+
_: 2
|
|
216
|
+
/* DYNAMIC */
|
|
217
|
+
},
|
|
218
|
+
1024
|
|
219
|
+
/* DYNAMIC_SLOTS */
|
|
220
|
+
);
|
|
221
|
+
}),
|
|
222
|
+
256
|
|
223
|
+
/* UNKEYED_FRAGMENT */
|
|
224
|
+
))
|
|
225
|
+
]),
|
|
226
|
+
_: 1
|
|
227
|
+
/* STABLE */
|
|
228
|
+
})) : (openBlock(), createBlock($setup["DasEmpty"], { key: 1 }))
|
|
229
|
+
])
|
|
230
|
+
])
|
|
231
|
+
]),
|
|
232
|
+
_: 1
|
|
233
|
+
/* STABLE */
|
|
234
|
+
}, 8, ["modelValue", "loading"]);
|
|
235
|
+
}
|
|
236
|
+
var ChangeEnterprises = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-0e1dac12"], ["__file", "/Users/xiecp/das/das-fe/framework/packages/das-ui/packages/business-components/change-enterprises/src/index.vue"]]);
|
|
237
|
+
|
|
238
|
+
const DasChangeEnterprises = withInstall(ChangeEnterprises);
|
|
239
|
+
const DasChangeEnterprisesRef = () => ref(null);
|
|
240
|
+
|
|
241
|
+
export { DasChangeEnterprises, DasChangeEnterprisesRef };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dialog-content[data-v-9afc00b9]{align-items:center;display:flex;height:100%;justify-content:center;width:100%}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { ref, reactive, defineComponent, openBlock, createBlock, withCtx, createElementVNode, createVNode, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
|
|
2
|
+
import { withInstall } from '@das-fed/utils';
|
|
3
|
+
import { i18n } from '@das-fed/web';
|
|
4
|
+
import { DasFormRef, DasMessage, DasDialog, DasForm, DasFormItem, DasButton } from '@das-fed/ui';
|
|
5
|
+
import { enterpriseright, superadminPortal, systemConfiguration } from '@das-fed/utils/api-services/modules';
|
|
6
|
+
import { encryption } from '@das-fed/utils/atob';
|
|
7
|
+
|
|
8
|
+
const updatePwdGetCsrf = enterpriseright.get("/user/change-pwd", (config) => {
|
|
9
|
+
config.ignoreErrorMessage = true;
|
|
10
|
+
return config;
|
|
11
|
+
});
|
|
12
|
+
const updatePwd = enterpriseright.put("/user/change-pwd", (config) => {
|
|
13
|
+
config.csrf = true;
|
|
14
|
+
return config;
|
|
15
|
+
});
|
|
16
|
+
const superadminUpdatePwd = superadminPortal.put("/change-pwd");
|
|
17
|
+
const getLoginWithDefault = systemConfiguration.get("/visitor/login/with-default");
|
|
18
|
+
|
|
19
|
+
const useChangePwd = (props, emit) => {
|
|
20
|
+
const visible = ref(false);
|
|
21
|
+
const form = DasFormRef();
|
|
22
|
+
const formData = ref({
|
|
23
|
+
prePwd: "",
|
|
24
|
+
pwd: "",
|
|
25
|
+
confirmPwd: ""
|
|
26
|
+
});
|
|
27
|
+
const passwordRule = reactive({
|
|
28
|
+
pwdStrongLimit: false,
|
|
29
|
+
// 是否开启密码强度校验
|
|
30
|
+
pwdRequireLength: false,
|
|
31
|
+
// 是否校验长度
|
|
32
|
+
pwdMinLength: 0,
|
|
33
|
+
// 最小密码长度
|
|
34
|
+
pwdRequireNum: false,
|
|
35
|
+
// 密码要求包含数字
|
|
36
|
+
pwdRequireLowercaseLetters: false,
|
|
37
|
+
// 密码要求包含小写字母
|
|
38
|
+
pwdRequireUppercaseLetters: false,
|
|
39
|
+
// 密码要求包含大写字母
|
|
40
|
+
pwdRequireSpecialCharacter: false
|
|
41
|
+
// 密码要求特殊字符
|
|
42
|
+
});
|
|
43
|
+
const getLoginConfig = async () => {
|
|
44
|
+
const [err, data] = await getLoginWithDefault().run();
|
|
45
|
+
if (err) return;
|
|
46
|
+
passwordRule.pwdStrongLimit = data.pwdStrongLimit;
|
|
47
|
+
passwordRule.pwdRequireLength = data.pwdRequireLength;
|
|
48
|
+
passwordRule.pwdMinLength = data.pwdMinLength;
|
|
49
|
+
passwordRule.pwdRequireNum = data.pwdRequireNum;
|
|
50
|
+
passwordRule.pwdRequireLowercaseLetters = data.pwdRequireLowercaseLetters;
|
|
51
|
+
passwordRule.pwdRequireUppercaseLetters = data.pwdRequireUppercaseLetters;
|
|
52
|
+
passwordRule.pwdRequireSpecialCharacter = data.pwdRequireSpecialCharacter;
|
|
53
|
+
};
|
|
54
|
+
const passwordValidate = (value) => {
|
|
55
|
+
let ruleLabel = "";
|
|
56
|
+
if (passwordRule.pwdStrongLimit) {
|
|
57
|
+
ruleLabel = passwordRullValidate(value);
|
|
58
|
+
} else {
|
|
59
|
+
ruleLabel = defaultPswRullValidate(value);
|
|
60
|
+
}
|
|
61
|
+
return ruleLabel;
|
|
62
|
+
};
|
|
63
|
+
const checkPwd = (rule, value, callback) => {
|
|
64
|
+
if (!value) return callback(new Error("\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"));
|
|
65
|
+
if (props.mainApp === "enterpriseadmin") {
|
|
66
|
+
const label = passwordValidate(value);
|
|
67
|
+
form.value?.validateField("confirmPwd", () => null);
|
|
68
|
+
if (label) return callback(new Error(label));
|
|
69
|
+
}
|
|
70
|
+
callback();
|
|
71
|
+
};
|
|
72
|
+
const checkComfirmPwd = (rule, value, callback) => {
|
|
73
|
+
if (!value) return callback(new Error("\u786E\u8BA4\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"));
|
|
74
|
+
if (formData.value.pwd !== value) return callback(new Error("\u4E0E\u65B0\u5BC6\u7801\u4E0D\u4E00\u81F4"));
|
|
75
|
+
if (props.mainApp === "enterpriseadmin") {
|
|
76
|
+
const label = passwordValidate(value);
|
|
77
|
+
if (label) return callback(new Error(label));
|
|
78
|
+
}
|
|
79
|
+
callback();
|
|
80
|
+
};
|
|
81
|
+
const rules = ref({
|
|
82
|
+
prePwd: [
|
|
83
|
+
{
|
|
84
|
+
required: !props.forceUpdate,
|
|
85
|
+
message: "\u65E7\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A",
|
|
86
|
+
trigger: "blur"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
pwd: [{ validator: checkPwd, trigger: "blur" }],
|
|
90
|
+
confirmPwd: [{ validator: checkComfirmPwd, trigger: "blur" }]
|
|
91
|
+
});
|
|
92
|
+
const currentToken = ref("");
|
|
93
|
+
const openDialog = (token) => {
|
|
94
|
+
if (props.mainApp === "enterpriseadmin") getLoginConfig();
|
|
95
|
+
visible.value = true;
|
|
96
|
+
currentToken.value = token || "";
|
|
97
|
+
};
|
|
98
|
+
const onCancel = (flag = false) => {
|
|
99
|
+
formData.value.prePwd = "";
|
|
100
|
+
formData.value.pwd = "";
|
|
101
|
+
formData.value.confirmPwd = "";
|
|
102
|
+
form.value?.resetField();
|
|
103
|
+
visible.value = false;
|
|
104
|
+
if (!flag) emit("onCancel");
|
|
105
|
+
};
|
|
106
|
+
const defaultPswRullValidate = (value) => {
|
|
107
|
+
const errorLabel = "8\uFF5E20\u4E2A\u5B57\u7B26\uFF0C\u81F3\u5C11\u5305\u542B\u6570\u5B57\u548C\u5B57\u6BCD\uFF0C\u4E0D\u5305\u542B\u7A7A\u683C";
|
|
108
|
+
const regex = /^(?=.*[a-zA-Z])(?=.*[\d])(?=.*[\w])[a-zA-Z\d\W_]{8,20}$/;
|
|
109
|
+
if (!regex.test(value)) {
|
|
110
|
+
return errorLabel;
|
|
111
|
+
} else {
|
|
112
|
+
return "";
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
const passwordRullValidate = (value) => {
|
|
116
|
+
let errorLabel = "";
|
|
117
|
+
let tag = false;
|
|
118
|
+
errorLabel += `${passwordRule.pwdMinLength}~20\u4E2A\u5B57\u7B26\uFF0C`;
|
|
119
|
+
const regStr = `\\S{${passwordRule.pwdMinLength},}`;
|
|
120
|
+
const lengthReg = new RegExp(regStr);
|
|
121
|
+
if (!lengthReg.test(value)) tag = true;
|
|
122
|
+
if (passwordRule.pwdRequireNum || passwordRule.pwdRequireLowercaseLetters || passwordRule.pwdRequireUppercaseLetters || passwordRule.pwdRequireSpecialCharacter)
|
|
123
|
+
errorLabel += "\u5FC5\u987B\u5305\u542B";
|
|
124
|
+
if (passwordRule.pwdRequireNum) {
|
|
125
|
+
errorLabel += "\u6570\u5B57\uFF0C";
|
|
126
|
+
if (!/\d+/.test(value)) tag = true;
|
|
127
|
+
}
|
|
128
|
+
if (passwordRule.pwdRequireLowercaseLetters) {
|
|
129
|
+
errorLabel += "\u5C0F\u5199\u5B57\u6BCD\uFF0C";
|
|
130
|
+
if (!/[a-z]+/.test(value)) tag = true;
|
|
131
|
+
}
|
|
132
|
+
if (passwordRule.pwdRequireUppercaseLetters) {
|
|
133
|
+
errorLabel += "\u5927\u5199\u5B57\u6BCD\uFF0C";
|
|
134
|
+
if (!/[A-Z]+/.test(value)) tag = true;
|
|
135
|
+
}
|
|
136
|
+
if (passwordRule.pwdRequireSpecialCharacter) {
|
|
137
|
+
errorLabel += "\u7B26\u53F7\uFF0C";
|
|
138
|
+
if (!/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~]+/.test(value)) tag = true;
|
|
139
|
+
}
|
|
140
|
+
if (tag) return errorLabel.slice(0, -1);
|
|
141
|
+
return "";
|
|
142
|
+
};
|
|
143
|
+
const onConfirm = async () => {
|
|
144
|
+
form.value?.validate(async (valid) => {
|
|
145
|
+
if (valid) {
|
|
146
|
+
const params = {
|
|
147
|
+
pwd: encryption(formData.value.pwd),
|
|
148
|
+
confirmPwd: encryption(formData.value.confirmPwd)
|
|
149
|
+
};
|
|
150
|
+
if (props.mainApp === "enterpriseadmin" && props.forceUpdate) {
|
|
151
|
+
let config = {};
|
|
152
|
+
if (currentToken.value) config = { headers: { Authorization: currentToken.value } };
|
|
153
|
+
await updatePwdGetCsrf({}, config).run();
|
|
154
|
+
const [err] = await updatePwd({}, config).run(params);
|
|
155
|
+
if (err) return;
|
|
156
|
+
} else {
|
|
157
|
+
params.prePwd = encryption(formData.value.prePwd);
|
|
158
|
+
if (props.mainApp === "enterpriseadmin") {
|
|
159
|
+
await updatePwdGetCsrf().run();
|
|
160
|
+
const [err] = await updatePwd().run(params);
|
|
161
|
+
if (err) return;
|
|
162
|
+
} else {
|
|
163
|
+
const [err] = await superadminUpdatePwd().run(params);
|
|
164
|
+
if (err) return;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
onCancel(true);
|
|
168
|
+
DasMessage.success("\u4FEE\u6539\u5BC6\u7801\u6210\u529F\uFF01");
|
|
169
|
+
emit("onConfirm");
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
};
|
|
173
|
+
return {
|
|
174
|
+
visible,
|
|
175
|
+
formData,
|
|
176
|
+
form,
|
|
177
|
+
rules,
|
|
178
|
+
openDialog,
|
|
179
|
+
onCancel,
|
|
180
|
+
onConfirm
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
const __default__ = {
|
|
185
|
+
name: "ChangePwd"
|
|
186
|
+
};
|
|
187
|
+
var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
188
|
+
...__default__,
|
|
189
|
+
props: {
|
|
190
|
+
mainApp: { type: String, required: false, default: "enterpriseadmin" },
|
|
191
|
+
forceUpdate: { type: Boolean, required: false }
|
|
192
|
+
},
|
|
193
|
+
emits: ["onCancel", "onConfirm"],
|
|
194
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
195
|
+
const props = __props;
|
|
196
|
+
const emit = __emit;
|
|
197
|
+
const { visible, form, formData, rules, openDialog, onCancel, onConfirm } = useChangePwd(props, emit);
|
|
198
|
+
__expose({
|
|
199
|
+
openDialog
|
|
200
|
+
});
|
|
201
|
+
const __returned__ = { props, emit, visible, form, formData, rules, openDialog, onCancel, onConfirm, get i18n() {
|
|
202
|
+
return i18n;
|
|
203
|
+
}, get DasDialog() {
|
|
204
|
+
return DasDialog;
|
|
205
|
+
}, get DasForm() {
|
|
206
|
+
return DasForm;
|
|
207
|
+
}, get DasFormItem() {
|
|
208
|
+
return DasFormItem;
|
|
209
|
+
}, get DasButton() {
|
|
210
|
+
return DasButton;
|
|
211
|
+
} };
|
|
212
|
+
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
213
|
+
return __returned__;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
var _export_sfc = (sfc, props) => {
|
|
218
|
+
const target = sfc.__vccOpts || sfc;
|
|
219
|
+
for (const [key, val] of props) {
|
|
220
|
+
target[key] = val;
|
|
221
|
+
}
|
|
222
|
+
return target;
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
const _hoisted_1 = { class: "dialog-content" };
|
|
226
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
227
|
+
return openBlock(), createBlock($setup["DasDialog"], {
|
|
228
|
+
title: "\u4FEE\u6539\u5BC6\u7801",
|
|
229
|
+
width: "460px",
|
|
230
|
+
height: "360px",
|
|
231
|
+
bodyStyle: { padding: 0 },
|
|
232
|
+
modelValue: $setup.visible,
|
|
233
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $setup.visible = $event),
|
|
234
|
+
"before-close": $setup.onCancel
|
|
235
|
+
}, {
|
|
236
|
+
footer: withCtx(() => [
|
|
237
|
+
createElementVNode("div", null, [
|
|
238
|
+
createVNode($setup["DasButton"], {
|
|
239
|
+
size: "middle",
|
|
240
|
+
style: { "margin-right": "12px" },
|
|
241
|
+
onClick: $setup.onCancel
|
|
242
|
+
}, {
|
|
243
|
+
default: withCtx(() => [
|
|
244
|
+
createTextVNode(
|
|
245
|
+
toDisplayString($setup.i18n("\u53D6\u6D88").value),
|
|
246
|
+
1
|
|
247
|
+
/* TEXT */
|
|
248
|
+
)
|
|
249
|
+
]),
|
|
250
|
+
_: 1
|
|
251
|
+
/* STABLE */
|
|
252
|
+
}, 8, ["onClick"]),
|
|
253
|
+
createVNode($setup["DasButton"], {
|
|
254
|
+
btnType: "primary",
|
|
255
|
+
size: "middle",
|
|
256
|
+
onClick: $setup.onConfirm
|
|
257
|
+
}, {
|
|
258
|
+
default: withCtx(() => [
|
|
259
|
+
createTextVNode(
|
|
260
|
+
toDisplayString($setup.i18n("\u786E\u5B9A").value),
|
|
261
|
+
1
|
|
262
|
+
/* TEXT */
|
|
263
|
+
)
|
|
264
|
+
]),
|
|
265
|
+
_: 1
|
|
266
|
+
/* STABLE */
|
|
267
|
+
}, 8, ["onClick"])
|
|
268
|
+
])
|
|
269
|
+
]),
|
|
270
|
+
default: withCtx(() => [
|
|
271
|
+
createElementVNode("div", _hoisted_1, [
|
|
272
|
+
createVNode($setup["DasForm"], {
|
|
273
|
+
ref: "form",
|
|
274
|
+
rules: $setup.rules,
|
|
275
|
+
style: { "overflow-x": "hidden !important" }
|
|
276
|
+
}, {
|
|
277
|
+
default: withCtx(() => [
|
|
278
|
+
!$props.forceUpdate ? (openBlock(), createBlock($setup["DasFormItem"], {
|
|
279
|
+
key: 0,
|
|
280
|
+
type: "password",
|
|
281
|
+
isTitle: false,
|
|
282
|
+
autocomplete: "new-password",
|
|
283
|
+
"show-password": "",
|
|
284
|
+
prop: "prePwd",
|
|
285
|
+
label: "\u65E7\u5BC6\u7801",
|
|
286
|
+
modelValue: $setup.formData.prePwd,
|
|
287
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $setup.formData.prePwd = $event),
|
|
288
|
+
modelModifiers: { trim: true },
|
|
289
|
+
required: ""
|
|
290
|
+
}, null, 8, ["modelValue"])) : createCommentVNode("v-if", true),
|
|
291
|
+
createVNode($setup["DasFormItem"], {
|
|
292
|
+
type: "password",
|
|
293
|
+
isTitle: false,
|
|
294
|
+
autocomplete: "new-password",
|
|
295
|
+
"show-password": "",
|
|
296
|
+
prop: "pwd",
|
|
297
|
+
label: "\u65B0\u5BC6\u7801",
|
|
298
|
+
modelValue: $setup.formData.pwd,
|
|
299
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $setup.formData.pwd = $event),
|
|
300
|
+
modelModifiers: { trim: true },
|
|
301
|
+
required: ""
|
|
302
|
+
}, null, 8, ["modelValue"]),
|
|
303
|
+
createVNode($setup["DasFormItem"], {
|
|
304
|
+
type: "password",
|
|
305
|
+
isTitle: false,
|
|
306
|
+
autocomplete: "new-password",
|
|
307
|
+
"show-password": "",
|
|
308
|
+
prop: "confirmPwd",
|
|
309
|
+
label: "\u786E\u8BA4\u65B0\u5BC6\u7801",
|
|
310
|
+
modelValue: $setup.formData.confirmPwd,
|
|
311
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $setup.formData.confirmPwd = $event),
|
|
312
|
+
modelModifiers: { trim: true },
|
|
313
|
+
required: ""
|
|
314
|
+
}, null, 8, ["modelValue"])
|
|
315
|
+
]),
|
|
316
|
+
_: 1
|
|
317
|
+
/* STABLE */
|
|
318
|
+
}, 8, ["rules"])
|
|
319
|
+
])
|
|
320
|
+
]),
|
|
321
|
+
_: 1
|
|
322
|
+
/* STABLE */
|
|
323
|
+
}, 8, ["modelValue", "before-close"]);
|
|
324
|
+
}
|
|
325
|
+
var ChangePwd = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9afc00b9"], ["__file", "/Users/xiecp/das/das-fe/framework/packages/das-ui/packages/business-components/change-pwd/src/index.vue"]]);
|
|
326
|
+
|
|
327
|
+
const DasChangePwd = withInstall(ChangePwd);
|
|
328
|
+
const DasChangePwdRef = () => ref(null);
|
|
329
|
+
|
|
330
|
+
export { DasChangePwd, DasChangePwdRef };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.das-currency-page[data-v-abed5374]{align-items:center;display:flex;height:100%;justify-content:center}.das-currency-page[data-v-abed5374] .content-box[data-v-abed5374]{align-items:center;display:flex;flex-direction:column;justify-content:center}.das-currency-page[data-v-abed5374] .content-box[data-v-abed5374] .picture[data-v-abed5374]{height:160px;width:280px}.das-currency-page[data-v-abed5374] .content-box[data-v-abed5374] .status[data-v-abed5374]{color:#212121;font-size:30px;font-weight:400;padding:8px 0}.das-currency-page[data-v-abed5374] .content-box[data-v-abed5374] .describe[data-v-abed5374]{color:#212121;font-size:16px;padding-bottom:8px}
|