@fmdeui/fmui 1.0.91 → 1.0.93

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 (38) hide show
  1. package/es/component.mjs +3 -1
  2. package/es/components/fm-autocomplete/component/userSelectDialog.vue.d.ts +34 -0
  3. package/es/components/fm-autocomplete/index.d.ts +223 -0
  4. package/es/components/fm-autocomplete/index.vue.d.ts +181 -0
  5. package/es/components/index.d.ts +1 -0
  6. package/es/packages/components/fm-autocomplete/component/userSelectDialog.vue.mjs +5 -0
  7. package/es/packages/components/fm-autocomplete/component/userSelectDialog.vue2.mjs +356 -0
  8. package/es/packages/components/fm-autocomplete/index.mjs +6 -0
  9. package/es/packages/components/fm-autocomplete/index.vue.mjs +5 -0
  10. package/es/packages/components/fm-autocomplete/index.vue2.mjs +178 -0
  11. package/es/packages/components/fm-inputnumber/index.vue2.mjs +4 -3
  12. package/es/packages/components/index.mjs +1 -0
  13. package/index.js +605 -80
  14. package/index.min.js +6 -6
  15. package/index.min.mjs +7 -7
  16. package/index.mjs +606 -81
  17. package/lib/component.js +3 -1
  18. package/lib/components/fm-autocomplete/component/userSelectDialog.vue.d.ts +34 -0
  19. package/lib/components/fm-autocomplete/index.d.ts +223 -0
  20. package/lib/components/fm-autocomplete/index.vue.d.ts +181 -0
  21. package/lib/components/index.d.ts +1 -0
  22. package/lib/packages/components/fm-autocomplete/component/userSelectDialog.vue.js +9 -0
  23. package/lib/packages/components/fm-autocomplete/component/userSelectDialog.vue2.js +360 -0
  24. package/lib/packages/components/fm-autocomplete/index.js +8 -0
  25. package/lib/packages/components/fm-autocomplete/index.vue.js +9 -0
  26. package/lib/packages/components/fm-autocomplete/index.vue2.js +182 -0
  27. package/lib/packages/components/fm-inputnumber/index.vue2.js +4 -3
  28. package/lib/packages/components/index.js +8 -6
  29. package/locale/en.js +1 -1
  30. package/locale/en.min.js +1 -1
  31. package/locale/en.min.mjs +1 -1
  32. package/locale/en.mjs +1 -1
  33. package/locale/zh-cn.js +1 -1
  34. package/locale/zh-cn.min.js +1 -1
  35. package/locale/zh-cn.min.mjs +1 -1
  36. package/locale/zh-cn.mjs +1 -1
  37. package/package.json +1 -1
  38. /package/es/{index.css → make-installer.css} +0 -0
@@ -0,0 +1,356 @@
1
+ import { defineComponent, ref, reactive, computed, onMounted, resolveComponent, openBlock, createBlock, isRef, unref, withCtx, createVNode, createElementVNode, withKeys, createTextVNode, createCommentVNode } from 'vue';
2
+ import '../../../api/index.mjs';
3
+ import { useBaseApi } from '../../../api/base/index.mjs';
4
+
5
+ const _hoisted_1 = { style: { "color": "#fff" } };
6
+ const _hoisted_2 = { style: { "margin-top": "10px" } };
7
+ const _hoisted_3 = { class: "dialog-footer" };
8
+ var _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "userSelectDialog",
10
+ props: {
11
+ visible: {
12
+ type: Boolean,
13
+ default: false
14
+ },
15
+ data: {
16
+ type: Array,
17
+ default: () => []
18
+ }
19
+ },
20
+ emits: ["update:visible", "change"],
21
+ setup(__props, { emit: __emit }) {
22
+ let emits = __emit;
23
+ const props = __props;
24
+ const userList = ref([]);
25
+ let checkedUsersList = ref([]);
26
+ const state = reactive({
27
+ total: 0,
28
+ queryParams: {
29
+ orgId: -1,
30
+ page: 1,
31
+ pageSize: 50
32
+ }
33
+ });
34
+ let visibleDialog = computed({
35
+ get() {
36
+ return props.visible;
37
+ },
38
+ set() {
39
+ closeDialog();
40
+ }
41
+ });
42
+ onMounted(async () => {
43
+ await getUserList();
44
+ });
45
+ const resetQuery = () => {
46
+ state.queryParams = {};
47
+ handleQuery();
48
+ };
49
+ const handleNodeChange = async (node) => {
50
+ state.queryParams.orgId = node.id;
51
+ await handleQuery();
52
+ };
53
+ const getUserList = async () => {
54
+ var _a, _b, _c, _d;
55
+ let res = await useBaseApi("sysUser").page(state.queryParams);
56
+ userList.value = (_b = (_a = res.data.result) == null ? void 0 : _a.items) != null ? _b : [];
57
+ state.queryParams.total = (_d = (_c = res.data.result) == null ? void 0 : _c.total) != null ? _d : 0;
58
+ };
59
+ async function handleQuery() {
60
+ state.queryParams.pageNum = 1;
61
+ await getUserList();
62
+ }
63
+ function handleSelectUser(row) {
64
+ if (!row || row.id == "") return;
65
+ emits("change", { id: row.id, name: row.realName, data: row });
66
+ }
67
+ const handleSizeChange = (val) => {
68
+ state.queryParams.pageSize = val;
69
+ handleQuery();
70
+ };
71
+ const handleCurrentChange = (val) => {
72
+ state.queryParams.page = val;
73
+ handleQuery();
74
+ };
75
+ const closeDialog = () => {
76
+ checkedUsersList.value = [];
77
+ emits("update:visible", false);
78
+ };
79
+ return (_ctx, _cache) => {
80
+ const _component_ele_Edit = resolveComponent("ele-Edit");
81
+ const _component_el_icon = resolveComponent("el-icon");
82
+ const _component_FmTree = resolveComponent("FmTree");
83
+ const _component_el_col = resolveComponent("el-col");
84
+ const _component_el_input = resolveComponent("el-input");
85
+ const _component_el_form_item = resolveComponent("el-form-item");
86
+ const _component_el_button = resolveComponent("el-button");
87
+ const _component_el_button_group = resolveComponent("el-button-group");
88
+ const _component_el_form = resolveComponent("el-form");
89
+ const _component_ele_Plus = resolveComponent("ele-Plus");
90
+ const _component_el_table_column = resolveComponent("el-table-column");
91
+ const _component_el_table = resolveComponent("el-table");
92
+ const _component_el_pagination = resolveComponent("el-pagination");
93
+ const _component_el_card = resolveComponent("el-card");
94
+ const _component_el_row = resolveComponent("el-row");
95
+ const _component_el_dialog = resolveComponent("el-dialog");
96
+ return openBlock(), createBlock(_component_el_dialog, {
97
+ modelValue: unref(visibleDialog),
98
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(visibleDialog) ? visibleDialog.value = $event : visibleDialog = $event),
99
+ style: { "width": "70vw" },
100
+ "append-to-body": "",
101
+ draggable: "",
102
+ "close-on-click-modal": false
103
+ }, {
104
+ header: withCtx(() => [
105
+ createElementVNode("div", _hoisted_1, [
106
+ createVNode(_component_el_icon, {
107
+ size: "16",
108
+ style: { "margin-right": "3px", "display": "inline", "vertical-align": "middle" }
109
+ }, {
110
+ default: withCtx(() => [
111
+ createVNode(_component_ele_Edit)
112
+ ]),
113
+ _: 1
114
+ /* STABLE */
115
+ }),
116
+ _cache[2] || (_cache[2] = createElementVNode(
117
+ "span",
118
+ null,
119
+ " \u9009\u62E9\u8D26\u53F7 ",
120
+ -1
121
+ /* CACHED */
122
+ ))
123
+ ])
124
+ ]),
125
+ footer: withCtx(() => [
126
+ createElementVNode("div", _hoisted_3, [
127
+ createVNode(_component_el_button, {
128
+ icon: "ele-CircleCloseFilled",
129
+ onClick: closeDialog
130
+ }, {
131
+ default: withCtx(() => [..._cache[7] || (_cache[7] = [
132
+ createTextVNode(
133
+ "\u53D6\u6D88",
134
+ -1
135
+ /* CACHED */
136
+ )
137
+ ])]),
138
+ _: 1
139
+ /* STABLE */
140
+ }),
141
+ createCommentVNode(' <el-button type="primary" icon="ele-CircleCheckFilled" @click="saveDialog">\u786E\u5B9A</el-button> ')
142
+ ])
143
+ ]),
144
+ default: withCtx(() => [
145
+ createVNode(_component_el_row, { gutter: 10 }, {
146
+ default: withCtx(() => [
147
+ createVNode(_component_el_col, { span: 6 }, {
148
+ default: withCtx(() => [
149
+ _cache[3] || (_cache[3] = createElementVNode(
150
+ "p",
151
+ { style: { "padding": "8px 16px", "background-color": "var(--el-color-primary-light-9)", "border-left": "5px solid var(--el-color-primary)", "margin-bottom": "5px" } },
152
+ "\u673A\u6784",
153
+ -1
154
+ /* CACHED */
155
+ )),
156
+ createVNode(
157
+ _component_FmTree,
158
+ {
159
+ ref: "orgTreeRef",
160
+ onNodeClick: handleNodeChange,
161
+ style: { "height": "calc(100% - 40px)", "overflow-y": "scroll", "overflow-x": "hidden" }
162
+ },
163
+ null,
164
+ 512
165
+ /* NEED_PATCH */
166
+ )
167
+ ]),
168
+ _: 1
169
+ /* STABLE */
170
+ }),
171
+ createVNode(_component_el_col, { span: 18 }, {
172
+ default: withCtx(() => [
173
+ _cache[6] || (_cache[6] = createElementVNode(
174
+ "p",
175
+ { style: { "padding": "8px 16px", "background-color": "var(--el-color-primary-light-9)", "border-left": "5px solid var(--el-color-primary)", "margin-bottom": "5px" } },
176
+ "\u7528\u6237\u5217\u8868",
177
+ -1
178
+ /* CACHED */
179
+ )),
180
+ createElementVNode("div", _hoisted_2, [
181
+ createVNode(_component_el_form, {
182
+ model: state.queryParams,
183
+ ref: "queryRef",
184
+ inline: true
185
+ }, {
186
+ default: withCtx(() => [
187
+ createVNode(_component_el_form_item, { label: "\u5173\u952E\u5B57" }, {
188
+ default: withCtx(() => [
189
+ createVNode(_component_el_input, {
190
+ modelValue: state.queryParams.keyword,
191
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.queryParams.keyword = $event),
192
+ clearable: "",
193
+ style: { "width": "150px" },
194
+ onKeyup: withKeys(handleQuery, ["enter"])
195
+ }, null, 8, ["modelValue"])
196
+ ]),
197
+ _: 1
198
+ /* STABLE */
199
+ }),
200
+ createVNode(_component_el_form_item, null, {
201
+ default: withCtx(() => [
202
+ createVNode(_component_el_button_group, null, {
203
+ default: withCtx(() => [
204
+ createVNode(_component_el_button, {
205
+ type: "primary",
206
+ icon: "ele-Search",
207
+ onClick: handleQuery
208
+ }, {
209
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [
210
+ createTextVNode(
211
+ " \u67E5\u8BE2 ",
212
+ -1
213
+ /* CACHED */
214
+ )
215
+ ])]),
216
+ _: 1
217
+ /* STABLE */
218
+ }),
219
+ createVNode(_component_el_button, {
220
+ icon: "ele-Refresh",
221
+ onClick: resetQuery
222
+ }, {
223
+ default: withCtx(() => [..._cache[5] || (_cache[5] = [
224
+ createTextVNode(
225
+ " \u91CD\u7F6E ",
226
+ -1
227
+ /* CACHED */
228
+ )
229
+ ])]),
230
+ _: 1
231
+ /* STABLE */
232
+ })
233
+ ]),
234
+ _: 1
235
+ /* STABLE */
236
+ }),
237
+ createCommentVNode(' <el-button type="primary" icon="ele-DArrowRight" plain style="margin-left: 10px" @click="handleSelectAllUser"> \u5168\u9009 </el-button> ')
238
+ ]),
239
+ _: 1
240
+ /* STABLE */
241
+ })
242
+ ]),
243
+ _: 1
244
+ /* STABLE */
245
+ }, 8, ["model"]),
246
+ createVNode(_component_el_card, {
247
+ class: "full-table",
248
+ shadow: "hover"
249
+ }, {
250
+ default: withCtx(() => [
251
+ createVNode(_component_el_table, {
252
+ ref: "refTable",
253
+ data: userList.value,
254
+ style: { "height": "calc(70vh - 96px)" }
255
+ }, {
256
+ default: withCtx(() => [
257
+ createVNode(_component_el_table_column, {
258
+ label: "\u64CD\u4F5C",
259
+ width: "60",
260
+ align: "center"
261
+ }, {
262
+ default: withCtx((scope) => [
263
+ createVNode(_component_el_button, {
264
+ link: "",
265
+ type: "primary",
266
+ onClick: ($event) => handleSelectUser(scope.row)
267
+ }, {
268
+ default: withCtx(() => [
269
+ createVNode(_component_el_icon, null, {
270
+ default: withCtx(() => [
271
+ createVNode(_component_ele_Plus)
272
+ ]),
273
+ _: 1
274
+ /* STABLE */
275
+ })
276
+ ]),
277
+ _: 1
278
+ /* STABLE */
279
+ }, 8, ["onClick"])
280
+ ]),
281
+ _: 1
282
+ /* STABLE */
283
+ }),
284
+ createVNode(_component_el_table_column, {
285
+ label: "\u8D26\u53F7\u540D\u79F0",
286
+ prop: "account",
287
+ align: "center",
288
+ "show-overflow-tooltip": true
289
+ }),
290
+ createVNode(_component_el_table_column, {
291
+ label: "\u771F\u5B9E\u59D3\u540D",
292
+ prop: "realName",
293
+ align: "center",
294
+ "show-overflow-tooltip": true
295
+ }),
296
+ createVNode(_component_el_table_column, {
297
+ label: "\u8054\u7CFB\u65B9\u5F0F",
298
+ prop: "phone",
299
+ align: "center",
300
+ "show-overflow-tooltip": true
301
+ }),
302
+ createVNode(_component_el_table_column, {
303
+ label: "\u5C97\u4F4D",
304
+ prop: "posName",
305
+ align: "center",
306
+ "show-overflow-tooltip": true
307
+ }),
308
+ createVNode(_component_el_table_column, {
309
+ label: "\u5DE5\u53F7",
310
+ prop: "jobNum",
311
+ align: "center",
312
+ "show-overflow-tooltip": true
313
+ }),
314
+ createVNode(_component_el_table_column, {
315
+ label: "\u6240\u5C5E\u673A\u6784",
316
+ prop: "orgName",
317
+ align: "center",
318
+ "show-overflow-tooltip": true
319
+ })
320
+ ]),
321
+ _: 1
322
+ /* STABLE */
323
+ }, 8, ["data"]),
324
+ createVNode(_component_el_pagination, {
325
+ currentPage: state.queryParams.page,
326
+ "page-size": state.queryParams.pageSize,
327
+ total: state.queryParams.total,
328
+ "page-sizes": [10, 20, 50, 100],
329
+ background: "",
330
+ onSizeChange: handleSizeChange,
331
+ onCurrentChange: handleCurrentChange,
332
+ layout: "total, sizes, prev, pager, next, jumper",
333
+ style: { "padding-bottom": "8px" }
334
+ }, null, 8, ["currentPage", "page-size", "total"])
335
+ ]),
336
+ _: 1
337
+ /* STABLE */
338
+ })
339
+ ])
340
+ ]),
341
+ _: 1
342
+ /* STABLE */
343
+ })
344
+ ]),
345
+ _: 1
346
+ /* STABLE */
347
+ })
348
+ ]),
349
+ _: 1
350
+ /* STABLE */
351
+ }, 8, ["modelValue"]);
352
+ };
353
+ }
354
+ });
355
+
356
+ export { _sfc_main as default };
@@ -0,0 +1,6 @@
1
+ import './index.vue.mjs';
2
+ import _sfc_main from './index.vue2.mjs';
3
+
4
+ const FmAutocomplete = _sfc_main;
5
+
6
+ export { FmAutocomplete };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './index.vue2.mjs';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -0,0 +1,178 @@
1
+ import { defineComponent, useModel, ref, resolveComponent, openBlock, createBlock, withCtx, renderSlot, createVNode, unref, createElementVNode, toDisplayString, mergeModels } from 'vue';
2
+ import { Search } from '@element-plus/icons-vue';
3
+ import '../../api/index.mjs';
4
+ import './component/userSelectDialog.vue.mjs';
5
+ import { useBaseApi } from '../../api/base/index.mjs';
6
+ import _sfc_main$1 from './component/userSelectDialog.vue2.mjs';
7
+
8
+ const _hoisted_1 = { style: { "font-size": "14px", "line-height": "30px" } };
9
+ var _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: "FmAutocomplete"
12
+ },
13
+ __name: "index",
14
+ props: /* @__PURE__ */ mergeModels({
15
+ placeholder: {
16
+ type: String,
17
+ default: "\u8BF7\u8F93\u5165\u5FEB\u901F\u641C\u7D22\u9009\u62E9"
18
+ },
19
+ /**
20
+ * ato service name
21
+ */
22
+ atoService: {
23
+ type: String,
24
+ default: "planOrder"
25
+ },
26
+ /**
27
+ * ato service 下的方法
28
+ */
29
+ atoAction: {
30
+ type: String,
31
+ default: "autoQuerySearch"
32
+ },
33
+ top: {
34
+ type: Number,
35
+ default: 15
36
+ },
37
+ /**
38
+ * 值的属性值
39
+ */
40
+ vId: {
41
+ type: String,
42
+ default: "id"
43
+ },
44
+ /**
45
+ * 值的属性标签
46
+ */
47
+ vName: {
48
+ type: String,
49
+ default: "name"
50
+ },
51
+ /**
52
+ * 查询业务表ID
53
+ */
54
+ qId: {
55
+ type: Number,
56
+ default: 0
57
+ },
58
+ params: {
59
+ type: Object,
60
+ default: () => {
61
+ }
62
+ },
63
+ /**
64
+ * 打开类型 1 用户 2 单位
65
+ * @default 1
66
+ */
67
+ openType: {
68
+ type: Number,
69
+ default: 1
70
+ },
71
+ /**
72
+ * 打开参数
73
+ */
74
+ openParams: {
75
+ type: Object,
76
+ default: () => {
77
+ }
78
+ }
79
+ }, {
80
+ "name": {
81
+ required: true,
82
+ default: ""
83
+ },
84
+ "nameModifiers": {},
85
+ "id": {
86
+ required: true,
87
+ default: 0
88
+ },
89
+ "idModifiers": {}
90
+ }),
91
+ emits: /* @__PURE__ */ mergeModels(["select", "reset"], ["update:name", "update:id"]),
92
+ setup(__props, { emit: __emit }) {
93
+ const autoName = useModel(__props, "name");
94
+ const autoId = useModel(__props, "id");
95
+ const props = __props;
96
+ const visibleopenDialog = ref(false);
97
+ const emit = __emit;
98
+ const querySearchAsync = async (queryString, cb) => {
99
+ var _a;
100
+ resetValue();
101
+ const postdata = { keywork: queryString, id: props.qId, ...props.params };
102
+ const res = await useBaseApi(props.atoService).post(postdata, props.atoAction);
103
+ const data = (_a = res.data.result) != null ? _a : [];
104
+ if (data.length === 0) {
105
+ return cb([]);
106
+ }
107
+ const results = data.map((item) => ({
108
+ ...item,
109
+ displayText: `${item[props.vName]}`
110
+ // 自定义展示格式
111
+ //fullData: item // 保留原始对象
112
+ }));
113
+ cb(results);
114
+ };
115
+ const handleSelect = (item) => {
116
+ autoName.value = item[props.vName];
117
+ autoId.value = item[props.vId];
118
+ emit("select", item);
119
+ };
120
+ const resetValue = () => {
121
+ autoId.value = 0;
122
+ emit("reset");
123
+ };
124
+ const handleSelectDialogChange = (value) => {
125
+ visibleopenDialog.value = false;
126
+ autoName.value = value.name;
127
+ autoId.value = value.id;
128
+ emit("select", value);
129
+ };
130
+ return (_ctx, _cache) => {
131
+ const _component_el_icon = resolveComponent("el-icon");
132
+ const _component_el_autocomplete = resolveComponent("el-autocomplete");
133
+ return openBlock(), createBlock(_component_el_autocomplete, {
134
+ modelValue: autoName.value,
135
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => autoName.value = $event),
136
+ debounce: 500,
137
+ "fetch-suggestions": querySearchAsync,
138
+ placeholder: props.placeholder,
139
+ "trigger-on-focus": false,
140
+ onSelect: handleSelect,
141
+ style: { "margin-top": "-2px" }
142
+ }, {
143
+ default: withCtx(({ item }) => [
144
+ createElementVNode(
145
+ "div",
146
+ _hoisted_1,
147
+ toDisplayString(item[__props.vName]),
148
+ 1
149
+ /* TEXT */
150
+ )
151
+ ]),
152
+ append: withCtx(() => [
153
+ renderSlot(_ctx.$slots, "append", {}, () => [
154
+ createVNode(_component_el_icon, {
155
+ color: "#E6A23C",
156
+ onClick: _cache[0] || (_cache[0] = () => visibleopenDialog.value = true)
157
+ }, {
158
+ default: withCtx(() => [
159
+ createVNode(unref(Search))
160
+ ]),
161
+ _: 1
162
+ /* STABLE */
163
+ }),
164
+ createVNode(_sfc_main$1, {
165
+ visible: visibleopenDialog.value,
166
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => visibleopenDialog.value = $event),
167
+ onChange: handleSelectDialogChange
168
+ }, null, 8, ["visible"])
169
+ ])
170
+ ]),
171
+ _: 3
172
+ /* FORWARDED */
173
+ }, 8, ["modelValue", "placeholder"]);
174
+ };
175
+ }
176
+ });
177
+
178
+ export { _sfc_main as default };
@@ -25,12 +25,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  const modelValue = useModel(__props, "modelValue");
26
26
  const props = __props;
27
27
  const handleInput = (val) => {
28
- if (val == "" && props.defaultValue != -1) {
29
- modelValue.value = props.defaultValue;
28
+ if (val === "" || val === null || val === void 0) {
29
+ modelValue.value = props.defaultValue !== -1 ? props.defaultValue : 0;
30
30
  return;
31
31
  }
32
32
  if (props.bType == "number") {
33
- modelValue.value = parseInt(val);
33
+ const num = parseInt(val, 10);
34
+ modelValue.value = Number.isNaN(num) ? props.defaultValue : num;
34
35
  return;
35
36
  }
36
37
  let cleaned = String(val).replace(/[^\d.]/g, "");
@@ -13,3 +13,4 @@ export { FSettings } from './fm-settings/index.mjs';
13
13
  export { FModifyRecord } from './modifyRecord/index.mjs';
14
14
  export { Fminputdropdown } from './fm-inputdropdown/index.mjs';
15
15
  export { FmInputNumber } from './fm-inputnumber/index.mjs';
16
+ export { FmAutocomplete } from './fm-autocomplete/index.mjs';