sun-biz 0.0.2-beta.2 → 0.0.2-beta.4

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.
@@ -15,6 +15,9 @@ export declare const COMPONENT_MAP: {
15
15
  "11": string;
16
16
  "6": string;
17
17
  "1": string;
18
+ "8": string;
19
+ "9": string;
20
+ "10": string;
18
21
  };
19
22
  /**
20
23
  * 分组展开 集合展示
@@ -210,6 +210,14 @@ const TableColumn = (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
210
210
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
211
211
  class: column.columnClass
212
212
  }, [
213
+ column.required && (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
214
+ class: "mr-2",
215
+ style: {
216
+ color: '#f56c6c'
217
+ }
218
+ }, [
219
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("*")
220
+ ]),
213
221
  column.label
214
222
  ], 2)
215
223
  ];
@@ -2167,9 +2175,12 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2167
2175
  const emit = __emit;
2168
2176
  const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(true);
2169
2177
  const props = __props;
2170
- const tableData = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)([]);
2171
- const rowKey = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)('id');
2172
- const rowName = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)('name');
2178
+ const tableData = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)([
2179
+ {
2180
+ value: props.defaultValue,
2181
+ label: props.defaultValueName
2182
+ }
2183
+ ]);
2173
2184
  let inputChange = debounce(fetchData, 800);
2174
2185
  async function fetchData(value) {
2175
2186
  loading.value = true;
@@ -2183,28 +2194,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2183
2194
  loading.value = false;
2184
2195
  if (result?.success) {
2185
2196
  let { primaryKey, displayKey, data } = result.data;
2186
- rowKey.value = primaryKey;
2187
- rowName.value = displayKey;
2188
- tableData.value = data.data || [];
2197
+ tableData.value = data.data.map((item)=>({
2198
+ value: item[primaryKey],
2199
+ label: item[displayKey]
2200
+ })) || [];
2189
2201
  }
2190
2202
  }
2191
- const options = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2192
- if (!props.defaultValueName) return tableData.value;
2193
- let findObj = tableData.value.find((item)=>item[rowName.value] === props.defaultValueName);
2194
- if (!findObj) return [
2195
- ...tableData.value,
2196
- {
2197
- [rowKey.value]: props.defaultValue,
2198
- [rowName.value]: props.defaultValueName
2199
- }
2200
- ];
2201
- return tableData.value;
2202
- });
2203
2203
  /**
2204
- *
2205
- * @param value 下拉框选择
2206
- */ function change(value) {
2207
- let name = (options.value.find((item)=>item[rowKey.value] === value) || {})[rowName.value];
2204
+ *
2205
+ * @param value 下拉框选择
2206
+ */ function change(value) {
2207
+ let name = (tableData.value.find((item)=>item.value === value) || {})['label'];
2208
2208
  emit('change', value, name);
2209
2209
  }
2210
2210
  return (_ctx, _cache)=>{
@@ -2215,16 +2215,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2215
2215
  loading: loading.value && !tableData.value.length,
2216
2216
  disabled: props.disabled,
2217
2217
  remote: true,
2218
+ filterable: true,
2218
2219
  onChange: change,
2219
2220
  "remote-method": (value)=>{
2220
2221
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(inputChange)(value);
2221
2222
  }
2222
2223
  }, {
2223
2224
  default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2224
- ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(true), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(options.value, (item)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)(_component_el_option, {
2225
- key: item[rowKey.value],
2226
- label: item[rowName.value],
2227
- value: item[rowKey.value]
2225
+ ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(true), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(tableData.value, (item)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)(_component_el_option, {
2226
+ key: item.value,
2227
+ label: item.label,
2228
+ value: item.value
2228
2229
  }, null, 8, [
2229
2230
  "label",
2230
2231
  "value"
@@ -2243,7 +2244,7 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2243
2244
  const dict_select_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(dict_selectvue_type_script_setup_true_lang_ts, [
2244
2245
  [
2245
2246
  '__scopeId',
2246
- "data-v-7fb4894b"
2247
+ "data-v-54541b2c"
2247
2248
  ]
2248
2249
  ]);
2249
2250
  /* ESM default export */ const dict_select = dict_select_exports_;
@@ -2659,38 +2660,11 @@ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_1 = {
2659
2660
  const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_2 = {
2660
2661
  key: 1
2661
2662
  };
2662
- const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_3 = {
2663
- class: "flex items-center justify-center border-2 p-12"
2664
- };
2665
2663
  const DICT_SELECT = 'dictSelect';
2666
- /**
2667
- * upload上传前操作
2668
- */ /* ESM default export */ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2664
+ /* ESM default export */ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2669
2665
  __name: 'FormUnit',
2670
2666
  setup (__props, { expose: __expose }) {
2671
2667
  const componentRef = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2672
- const beforeUpload = (file)=>{
2673
- const isJsp = 'application/javascript' === file.type || file.name.endsWith('.jsp');
2674
- const isSvg = 'image/svg+xml' === file.type || file.name.endsWith('.svg');
2675
- const isPng = 'image/png' === file.type || file.name.endsWith('.png');
2676
- const isValidType = isJsp || isSvg || isPng;
2677
- const isValidSize = file.size / 1024 < 1000; // 转换为KB
2678
- if (!isValidType) __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error('只支持上传 .jsp、.svg 或 .png 文件!');
2679
- if (!isValidSize) __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error('文件大小不能超过 1000KB!');
2680
- return isValidType && isValidSize;
2681
- };
2682
- /**
2683
- * 选取文件
2684
- */ const handleChange = (file)=>{
2685
- const reader = new FileReader();
2686
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2687
- //@ts-expect-error
2688
- reader.readAsDataURL(file.raw);
2689
- reader.onload = ()=>{
2690
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2691
- attrs['onUpdate:modelValue'](reader.result);
2692
- };
2693
- };
2694
2668
  const attrs = (0, __WEBPACK_EXTERNAL_MODULE_vue__.useAttrs)();
2695
2669
  __expose(new Proxy({}, {
2696
2670
  get (_target, prop) {
@@ -2703,8 +2677,6 @@ const DICT_SELECT = 'dictSelect';
2703
2677
  }));
2704
2678
  return (_ctx, _cache)=>{
2705
2679
  const _component_el_option = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-option");
2706
- const _component_el_icon = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-icon");
2707
- const _component_el_button = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-button");
2708
2680
  return 'select' === (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2709
2681
  key: 0,
2710
2682
  filterable: !!(__WEBPACK_EXTERNAL_MODULE_vue__.unref(attrs)?.filterable || __WEBPACK_EXTERNAL_MODULE_vue__.unref(attrs)?.options?.length && __WEBPACK_EXTERNAL_MODULE_vue__.unref(attrs)?.options?.length > 5) || false
@@ -2745,42 +2717,8 @@ const DICT_SELECT = 'dictSelect';
2745
2717
  clearable: ""
2746
2718
  }, {
2747
2719
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
2748
- }), null, 16)) : 'upload' === (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2720
+ }), null, 16)) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2749
2721
  key: 5,
2750
- "before-upload": beforeUpload,
2751
- "on-change": handleChange,
2752
- "auto-upload": false
2753
- }, {
2754
- ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
2755
- }), {
2756
- trigger: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2757
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_3, [
2758
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_icon, null, {
2759
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2760
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE__element_sun_icons_vue__.Plus))
2761
- ]),
2762
- _: 1
2763
- })
2764
- ])
2765
- ]),
2766
- upload: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2767
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_button, {
2768
- type: "primary"
2769
- }, {
2770
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[0] || (_cache[0] = [
2771
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("上传")
2772
- ])),
2773
- _: 1
2774
- })
2775
- ]),
2776
- tip: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[1] || (_cache[1] = [
2777
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
2778
- class: "el-upload__tip"
2779
- }, "只能上传jpg/png/svg文件,且不超过1000kb", -1)
2780
- ])),
2781
- _: 1
2782
- }, 16)) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2783
- key: 6,
2784
2722
  ref_key: "componentRef",
2785
2723
  ref: componentRef,
2786
2724
  clearable: ""
@@ -2983,7 +2921,10 @@ const COMPONENT_MAP = {
2983
2921
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DATEPICKER]: 'date-picker',
2984
2922
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.GROUP]: 'group',
2985
2923
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXTAREA]: 'textarea',
2986
- [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text'
2924
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text',
2925
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH]: 'switch',
2926
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.CHECKBOX]: 'checkbox',
2927
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DIVIDER]: 'divider'
2987
2928
  };
2988
2929
  const COMMA = ',';
2989
2930
  /**
@@ -3047,7 +2988,7 @@ function getExtraProps(item, dataValueNames, modelValue) {
3047
2988
  initObj.defaultValueName = findObj.defaultValueName;
3048
2989
  }
3049
2990
  }
3050
- const resultObj = {
2991
+ let resultObj = {
3051
2992
  style: {
3052
2993
  width: '100%'
3053
2994
  },
@@ -3065,6 +3006,12 @@ function getExtraProps(item, dataValueNames, modelValue) {
3065
3006
  resultObj.valueFormat = 'YYYY-MM-DD HH:mm:ss';
3066
3007
  resultObj.defaultValue = void 0;
3067
3008
  }
3009
+ if (item.controlTypeCode === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH) resultObj = {
3010
+ ...resultObj,
3011
+ 'inline-prompt': true,
3012
+ 'active-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES,
3013
+ 'inactive-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO
3014
+ };
3068
3015
  return resultObj;
3069
3016
  }
3070
3017
  function useGetFromConfigData(result, layoutTypeCode) {
@@ -35,6 +35,7 @@ export type HeaderRenderScope<T> = {
35
35
  [key: string]: any;
36
36
  };
37
37
  export interface ColumnProps<T = any> extends Partial<Omit<TableColumnCtx<T>, 'type' | 'children' | 'renderCell' | 'renderHeader'>> {
38
+ required?: boolean | undefined;
38
39
  columnClass?: string;
39
40
  isHidden?: boolean;
40
41
  supportTextCopy?: boolean | undefined;
package/dist/index.js CHANGED
@@ -178,6 +178,14 @@ const TableColumn = (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
178
178
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
179
179
  class: column.columnClass
180
180
  }, [
181
+ column.required && (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
182
+ class: "mr-2",
183
+ style: {
184
+ color: '#f56c6c'
185
+ }
186
+ }, [
187
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("*")
188
+ ]),
181
189
  column.label
182
190
  ], 2)
183
191
  ];
@@ -2472,9 +2480,12 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2472
2480
  const emit = __emit;
2473
2481
  const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(true);
2474
2482
  const props = __props;
2475
- const tableData = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)([]);
2476
- const rowKey = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)('id');
2477
- const rowName = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)('name');
2483
+ const tableData = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)([
2484
+ {
2485
+ value: props.defaultValue,
2486
+ label: props.defaultValueName
2487
+ }
2488
+ ]);
2478
2489
  let inputChange = debounce(fetchData, 800);
2479
2490
  async function fetchData(value) {
2480
2491
  loading.value = true;
@@ -2488,28 +2499,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2488
2499
  loading.value = false;
2489
2500
  if (result?.success) {
2490
2501
  let { primaryKey, displayKey, data } = result.data;
2491
- rowKey.value = primaryKey;
2492
- rowName.value = displayKey;
2493
- tableData.value = data.data || [];
2502
+ tableData.value = data.data.map((item)=>({
2503
+ value: item[primaryKey],
2504
+ label: item[displayKey]
2505
+ })) || [];
2494
2506
  }
2495
2507
  }
2496
- const options = (0, __WEBPACK_EXTERNAL_MODULE_vue__.computed)(()=>{
2497
- if (!props.defaultValueName) return tableData.value;
2498
- let findObj = tableData.value.find((item)=>item[rowName.value] === props.defaultValueName);
2499
- if (!findObj) return [
2500
- ...tableData.value,
2501
- {
2502
- [rowKey.value]: props.defaultValue,
2503
- [rowName.value]: props.defaultValueName
2504
- }
2505
- ];
2506
- return tableData.value;
2507
- });
2508
2508
  /**
2509
- *
2510
- * @param value 下拉框选择
2511
- */ function change(value) {
2512
- let name = (options.value.find((item)=>item[rowKey.value] === value) || {})[rowName.value];
2509
+ *
2510
+ * @param value 下拉框选择
2511
+ */ function change(value) {
2512
+ let name = (tableData.value.find((item)=>item.value === value) || {})['label'];
2513
2513
  emit('change', value, name);
2514
2514
  }
2515
2515
  return (_ctx, _cache)=>{
@@ -2520,16 +2520,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2520
2520
  loading: loading.value && !tableData.value.length,
2521
2521
  disabled: props.disabled,
2522
2522
  remote: true,
2523
+ filterable: true,
2523
2524
  onChange: change,
2524
2525
  "remote-method": (value)=>{
2525
2526
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(inputChange)(value);
2526
2527
  }
2527
2528
  }, {
2528
2529
  default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2529
- ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(true), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(options.value, (item)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)(_component_el_option, {
2530
- key: item[rowKey.value],
2531
- label: item[rowName.value],
2532
- value: item[rowKey.value]
2530
+ ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(true), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementBlock)(__WEBPACK_EXTERNAL_MODULE_vue__.Fragment, null, (0, __WEBPACK_EXTERNAL_MODULE_vue__.renderList)(tableData.value, (item)=>((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)(_component_el_option, {
2531
+ key: item.value,
2532
+ label: item.label,
2533
+ value: item.value
2533
2534
  }, null, 8, [
2534
2535
  "label",
2535
2536
  "value"
@@ -2548,7 +2549,7 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2548
2549
  const dict_select_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(dict_selectvue_type_script_setup_true_lang_ts, [
2549
2550
  [
2550
2551
  '__scopeId',
2551
- "data-v-7fb4894b"
2552
+ "data-v-54541b2c"
2552
2553
  ]
2553
2554
  ]);
2554
2555
  /* ESM default export */ const dict_select = dict_select_exports_;
@@ -2964,38 +2965,11 @@ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_1 = {
2964
2965
  const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_2 = {
2965
2966
  key: 1
2966
2967
  };
2967
- const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_3 = {
2968
- class: "flex items-center justify-center border-2 p-12"
2969
- };
2970
2968
  const DICT_SELECT = 'dictSelect';
2971
- /**
2972
- * upload上传前操作
2973
- */ /* ESM default export */ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2969
+ /* ESM default export */ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2974
2970
  __name: 'FormUnit',
2975
2971
  setup (__props, { expose: __expose }) {
2976
2972
  const componentRef = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)();
2977
- const beforeUpload = (file)=>{
2978
- const isJsp = 'application/javascript' === file.type || file.name.endsWith('.jsp');
2979
- const isSvg = 'image/svg+xml' === file.type || file.name.endsWith('.svg');
2980
- const isPng = 'image/png' === file.type || file.name.endsWith('.png');
2981
- const isValidType = isJsp || isSvg || isPng;
2982
- const isValidSize = file.size / 1024 < 1000; // 转换为KB
2983
- if (!isValidType) __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error('只支持上传 .jsp、.svg 或 .png 文件!');
2984
- if (!isValidSize) __WEBPACK_EXTERNAL_MODULE_element_sun__.ElMessage.error('文件大小不能超过 1000KB!');
2985
- return isValidType && isValidSize;
2986
- };
2987
- /**
2988
- * 选取文件
2989
- */ const handleChange = (file)=>{
2990
- const reader = new FileReader();
2991
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2992
- //@ts-expect-error
2993
- reader.readAsDataURL(file.raw);
2994
- reader.onload = ()=>{
2995
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2996
- attrs['onUpdate:modelValue'](reader.result);
2997
- };
2998
- };
2999
2973
  const attrs = (0, __WEBPACK_EXTERNAL_MODULE_vue__.useAttrs)();
3000
2974
  __expose(new Proxy({}, {
3001
2975
  get (_target, prop) {
@@ -3008,8 +2982,6 @@ const DICT_SELECT = 'dictSelect';
3008
2982
  }));
3009
2983
  return (_ctx, _cache)=>{
3010
2984
  const _component_el_option = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-option");
3011
- const _component_el_icon = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-icon");
3012
- const _component_el_button = (0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveComponent)("el-button");
3013
2985
  return 'select' === (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3014
2986
  key: 0,
3015
2987
  filterable: !!(__WEBPACK_EXTERNAL_MODULE_vue__.unref(attrs)?.filterable || __WEBPACK_EXTERNAL_MODULE_vue__.unref(attrs)?.options?.length && __WEBPACK_EXTERNAL_MODULE_vue__.unref(attrs)?.options?.length > 5) || false
@@ -3050,42 +3022,8 @@ const DICT_SELECT = 'dictSelect';
3050
3022
  clearable: ""
3051
3023
  }, {
3052
3024
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
3053
- }), null, 16)) : 'upload' === (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3025
+ }), null, 16)) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3054
3026
  key: 5,
3055
- "before-upload": beforeUpload,
3056
- "on-change": handleChange,
3057
- "auto-upload": false
3058
- }, {
3059
- ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
3060
- }), {
3061
- trigger: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3062
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_3, [
3063
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_icon, null, {
3064
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3065
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE__element_sun_icons_vue__.Plus))
3066
- ]),
3067
- _: 1
3068
- })
3069
- ])
3070
- ]),
3071
- upload: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3072
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_button, {
3073
- type: "primary"
3074
- }, {
3075
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[0] || (_cache[0] = [
3076
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("上传")
3077
- ])),
3078
- _: 1
3079
- })
3080
- ]),
3081
- tip: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[1] || (_cache[1] = [
3082
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
3083
- class: "el-upload__tip"
3084
- }, "只能上传jpg/png/svg文件,且不超过1000kb", -1)
3085
- ])),
3086
- _: 1
3087
- }, 16)) : ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.resolveDynamicComponent)(`el-${(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component}`), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3088
- key: 6,
3089
3027
  ref_key: "componentRef",
3090
3028
  ref: componentRef,
3091
3029
  clearable: ""
@@ -3288,7 +3226,10 @@ const COMPONENT_MAP = {
3288
3226
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DATEPICKER]: 'date-picker',
3289
3227
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.GROUP]: 'group',
3290
3228
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXTAREA]: 'textarea',
3291
- [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text'
3229
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text',
3230
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH]: 'switch',
3231
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.CHECKBOX]: 'checkbox',
3232
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DIVIDER]: 'divider'
3292
3233
  };
3293
3234
  const COMMA = ',';
3294
3235
  /**
@@ -3352,7 +3293,7 @@ function getExtraProps(item, dataValueNames, modelValue) {
3352
3293
  initObj.defaultValueName = findObj.defaultValueName;
3353
3294
  }
3354
3295
  }
3355
- const resultObj = {
3296
+ let resultObj = {
3356
3297
  style: {
3357
3298
  width: '100%'
3358
3299
  },
@@ -3370,6 +3311,12 @@ function getExtraProps(item, dataValueNames, modelValue) {
3370
3311
  resultObj.valueFormat = 'YYYY-MM-DD HH:mm:ss';
3371
3312
  resultObj.defaultValue = void 0;
3372
3313
  }
3314
+ if (item.controlTypeCode === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH) resultObj = {
3315
+ ...resultObj,
3316
+ 'inline-prompt': true,
3317
+ 'active-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES,
3318
+ 'inactive-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO
3319
+ };
3373
3320
  return resultObj;
3374
3321
  }
3375
3322
  function useGetFromConfigData(result, layoutTypeCode) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sun-biz",
3
- "version": "0.0.2-beta.2",
3
+ "version": "0.0.2-beta.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {