@fmdeui/fmui 1.0.109 → 1.0.111

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 (37) hide show
  1. package/es/api/index.d.ts +4 -0
  2. package/es/component.mjs +3 -1
  3. package/es/components/fm-select/index.d.ts +194 -0
  4. package/es/components/fm-select/index.vue.d.ts +237 -0
  5. package/es/components/index.d.ts +1 -0
  6. package/es/index.mjs +1 -1
  7. package/es/packages/api/index.mjs +39 -1
  8. package/es/packages/components/fm-select/index.mjs +6 -0
  9. package/es/packages/components/fm-select/index.vue.mjs +5 -0
  10. package/es/packages/components/fm-select/index.vue2.mjs +177 -0
  11. package/es/packages/components/index.mjs +1 -0
  12. package/index.js +270 -57
  13. package/index.min.js +7 -7
  14. package/index.min.mjs +7 -7
  15. package/index.mjs +270 -58
  16. package/lib/api/index.d.ts +4 -0
  17. package/lib/component.js +3 -1
  18. package/lib/components/fm-select/index.d.ts +194 -0
  19. package/lib/components/fm-select/index.vue.d.ts +237 -0
  20. package/lib/components/index.d.ts +1 -0
  21. package/lib/index.js +1 -0
  22. package/lib/packages/api/index.js +39 -0
  23. package/lib/packages/components/fm-select/index.js +8 -0
  24. package/lib/packages/components/fm-select/index.vue.js +9 -0
  25. package/lib/packages/components/fm-select/index.vue2.js +181 -0
  26. package/lib/packages/components/index.js +6 -4
  27. package/locale/en.js +1 -1
  28. package/locale/en.min.js +1 -1
  29. package/locale/en.min.mjs +1 -1
  30. package/locale/en.mjs +1 -1
  31. package/locale/zh-cn.js +1 -1
  32. package/locale/zh-cn.min.js +1 -1
  33. package/locale/zh-cn.min.mjs +1 -1
  34. package/locale/zh-cn.mjs +1 -1
  35. package/package.json +1 -1
  36. /package/{lib → es}/component.css +0 -0
  37. /package/{es → lib}/defaults.css +0 -0
@@ -0,0 +1,177 @@
1
+ import { defineComponent, useModel, reactive, onMounted, resolveComponent, openBlock, createBlock, normalizeStyle, withCtx, createElementBlock, Fragment, renderList, createElementVNode, createVNode, unref, mergeModels } from 'vue';
2
+ import { RefreshLeft } from '@element-plus/icons-vue';
3
+ import '../../stores/index.mjs';
4
+ import { usefminputdropdownstore } from '../../stores/ainputdropdow.mjs';
5
+
6
+ const _hoisted_1 = { style: { "display": "flex", "justify-content": "end", "align-items": "right" } };
7
+ var _sfc_main = /* @__PURE__ */ defineComponent({
8
+ ...{
9
+ name: "FmSelect"
10
+ },
11
+ __name: "index",
12
+ props: /* @__PURE__ */ mergeModels({
13
+ //数据
14
+ optionData: {
15
+ type: Array,
16
+ default: []
17
+ },
18
+ /**
19
+ * 值的属性值
20
+ */
21
+ bvalue: {
22
+ type: String,
23
+ default: "id"
24
+ },
25
+ /**
26
+ * 值的属性标签
27
+ */
28
+ blabel: {
29
+ type: String,
30
+ default: "name"
31
+ },
32
+ placeholder: {
33
+ type: String,
34
+ default: "\u8BF7\u9009\u62E9"
35
+ },
36
+ inputWidth: {
37
+ type: String,
38
+ default: "40%"
39
+ },
40
+ dropWidth: {
41
+ type: String,
42
+ default: "90px"
43
+ },
44
+ dropHeight: {
45
+ type: String,
46
+ default: "180px"
47
+ },
48
+ /**
49
+ * api service name
50
+ */
51
+ apiService: {
52
+ type: String,
53
+ default: "baseData"
54
+ },
55
+ /**
56
+ * api service 下的方法
57
+ */
58
+ apiAction: {
59
+ type: String,
60
+ default: "baseDataList"
61
+ },
62
+ /**
63
+ * 基础编码 自动获取数据
64
+ */
65
+ basecode: {
66
+ type: String,
67
+ default: ""
68
+ },
69
+ /**
70
+ * 基础编码 多个编码合在一起调用
71
+ */
72
+ multibasecode: {
73
+ type: Array,
74
+ default: []
75
+ },
76
+ freshSize: {
77
+ type: [Number, String],
78
+ default: 20
79
+ },
80
+ /**
81
+ * 是否默认加载数据
82
+ */
83
+ autoLoadData: {
84
+ type: Boolean,
85
+ default: true
86
+ }
87
+ }, {
88
+ "id": { default: 0, required: false },
89
+ "idModifiers": {},
90
+ "name": { default: "", required: false },
91
+ "nameModifiers": {}
92
+ }),
93
+ emits: /* @__PURE__ */ mergeModels(["change"], ["update:id", "update:name"]),
94
+ setup(__props, { emit: __emit }) {
95
+ const modeValueId = useModel(__props, "id");
96
+ const modeValueName = useModel(__props, "name");
97
+ const props = __props;
98
+ const state = reactive({
99
+ optionData: props.optionData
100
+ });
101
+ const emit = __emit;
102
+ const handelChange = (val) => {
103
+ const fitem = state.optionData.find((item) => item[props.blabel] === val);
104
+ modeValueId.value = fitem != null ? fitem[props.bvalue] : 0;
105
+ modeValueName.value = fitem != null ? fitem[props.blabel] : "";
106
+ emit("change", val);
107
+ };
108
+ const handelClear = () => {
109
+ modeValueId.value = 0;
110
+ modeValueName.value = "";
111
+ emit("change", "");
112
+ };
113
+ onMounted(async () => {
114
+ if (props.optionData.length > 0) {
115
+ state.optionData = props.optionData;
116
+ }
117
+ if (props.autoLoadData && props.basecode && props.basecode != "") {
118
+ const useBaseApi = usefminputdropdownstore();
119
+ state.optionData = await useBaseApi.getOptionsData(props.apiService, props.apiAction, props.basecode, false, props.multibasecode);
120
+ }
121
+ });
122
+ const handRestdata = async () => {
123
+ if (props.basecode && props.basecode != "") {
124
+ const useBaseApi = usefminputdropdownstore();
125
+ state.optionData = await useBaseApi.getOptionsData(props.apiService, props.apiAction, props.basecode, true, []);
126
+ }
127
+ };
128
+ return (_ctx, _cache) => {
129
+ const _component_el_icon = resolveComponent("el-icon");
130
+ const _component_el_option = resolveComponent("el-option");
131
+ const _component_el_select = resolveComponent("el-select");
132
+ return openBlock(), createBlock(_component_el_select, {
133
+ modelValue: modeValueName.value,
134
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modeValueName.value = $event),
135
+ placeholder: props.placeholder,
136
+ style: normalizeStyle({ width: __props.inputWidth }),
137
+ onChange: handelChange,
138
+ onClear: handelClear
139
+ }, {
140
+ header: withCtx(() => [
141
+ createElementVNode("div", _hoisted_1, [
142
+ createVNode(_component_el_icon, {
143
+ color: "#13c2c2",
144
+ size: __props.freshSize,
145
+ onClick: handRestdata
146
+ }, {
147
+ default: withCtx(() => [
148
+ createVNode(unref(RefreshLeft))
149
+ ]),
150
+ _: 1
151
+ /* STABLE */
152
+ }, 8, ["size"])
153
+ ])
154
+ ]),
155
+ default: withCtx(() => [
156
+ (openBlock(true), createElementBlock(
157
+ Fragment,
158
+ null,
159
+ renderList(state.optionData, (item, index) => {
160
+ return openBlock(), createBlock(_component_el_option, {
161
+ key: index,
162
+ label: item[__props.blabel],
163
+ value: item[__props.blabel]
164
+ }, null, 8, ["label", "value"]);
165
+ }),
166
+ 128
167
+ /* KEYED_FRAGMENT */
168
+ ))
169
+ ]),
170
+ _: 1
171
+ /* STABLE */
172
+ }, 8, ["modelValue", "placeholder", "style"]);
173
+ };
174
+ }
175
+ });
176
+
177
+ export { _sfc_main as default };
@@ -11,6 +11,7 @@ export { elSvg } from './svgIcon/index.mjs';
11
11
  export { FLayout } from './fm-layout/index.mjs';
12
12
  export { FSettings } from './fm-settings/index.mjs';
13
13
  export { FModifyRecord } from './modifyRecord/index.mjs';
14
+ export { FmSelect } from './fm-select/index.mjs';
14
15
  export { Fminputdropdown } from './fm-inputdropdown/index.mjs';
15
16
  export { FmInputNumber } from './fm-inputnumber/index.mjs';
16
17
  export { FmAutocomplete } from './fm-autocomplete/index.mjs';