sun-biz 0.0.2-beta.1 → 0.0.2-beta.3

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
  * 分组展开 集合展示
@@ -206,13 +206,19 @@ const TableColumn = (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
206
206
  header: (scope)=>{
207
207
  if (column.headerRender) return column.headerRender(scope);
208
208
  if (column.prop && slots[`${handleProp(column.prop)}Header`]) return slots[`${handleProp(column.prop)}Header`](scope);
209
- return [
210
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
211
- class: column.columnClass
209
+ return (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
210
+ class: column.columnClass
211
+ }, [
212
+ column.required && (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
213
+ class: "mr-2",
214
+ style: {
215
+ color: '#f56c6c'
216
+ }
212
217
  }, [
213
- column.label
214
- ], 2)
215
- ];
218
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("*")
219
+ ]),
220
+ column.label
221
+ ], 2);
216
222
  },
217
223
  _: 1
218
224
  }, 16, [
@@ -2167,9 +2173,12 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2167
2173
  const emit = __emit;
2168
2174
  const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(true);
2169
2175
  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');
2176
+ const tableData = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)([
2177
+ {
2178
+ value: props.defaultValue,
2179
+ label: props.defaultValueName
2180
+ }
2181
+ ]);
2173
2182
  let inputChange = debounce(fetchData, 800);
2174
2183
  async function fetchData(value) {
2175
2184
  loading.value = true;
@@ -2183,28 +2192,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2183
2192
  loading.value = false;
2184
2193
  if (result?.success) {
2185
2194
  let { primaryKey, displayKey, data } = result.data;
2186
- rowKey.value = primaryKey;
2187
- rowName.value = displayKey;
2188
- tableData.value = data.data || [];
2195
+ tableData.value = data.data.map((item)=>({
2196
+ value: item[primaryKey],
2197
+ label: item[displayKey]
2198
+ })) || [];
2189
2199
  }
2190
2200
  }
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
2201
  /**
2204
- *
2205
- * @param value 下拉框选择
2206
- */ function change(value) {
2207
- let name = (options.value.find((item)=>item[rowKey.value] === value) || {})[rowName.value];
2202
+ *
2203
+ * @param value 下拉框选择
2204
+ */ function change(value) {
2205
+ let name = (tableData.value.find((item)=>item.value === value) || {})['label'];
2208
2206
  emit('change', value, name);
2209
2207
  }
2210
2208
  return (_ctx, _cache)=>{
@@ -2215,16 +2213,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2215
2213
  loading: loading.value && !tableData.value.length,
2216
2214
  disabled: props.disabled,
2217
2215
  remote: true,
2216
+ filterable: true,
2218
2217
  onChange: change,
2219
2218
  "remote-method": (value)=>{
2220
2219
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(inputChange)(value);
2221
2220
  }
2222
2221
  }, {
2223
2222
  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]
2223
+ ((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, {
2224
+ key: item.value,
2225
+ label: item.label,
2226
+ value: item.value
2228
2227
  }, null, 8, [
2229
2228
  "label",
2230
2229
  "value"
@@ -2243,7 +2242,7 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2243
2242
  const dict_select_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(dict_selectvue_type_script_setup_true_lang_ts, [
2244
2243
  [
2245
2244
  '__scopeId',
2246
- "data-v-7fb4894b"
2245
+ "data-v-54541b2c"
2247
2246
  ]
2248
2247
  ]);
2249
2248
  /* ESM default export */ const dict_select = dict_select_exports_;
@@ -2659,38 +2658,11 @@ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_1 = {
2659
2658
  const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_2 = {
2660
2659
  key: 1
2661
2660
  };
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
2661
  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)({
2662
+ /* ESM default export */ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2669
2663
  __name: 'FormUnit',
2670
2664
  setup (__props, { expose: __expose }) {
2671
2665
  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
2666
  const attrs = (0, __WEBPACK_EXTERNAL_MODULE_vue__.useAttrs)();
2695
2667
  __expose(new Proxy({}, {
2696
2668
  get (_target, prop) {
@@ -2703,8 +2675,6 @@ const DICT_SELECT = 'dictSelect';
2703
2675
  }));
2704
2676
  return (_ctx, _cache)=>{
2705
2677
  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
2678
  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
2679
  key: 0,
2710
2680
  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
@@ -2736,55 +2706,17 @@ const DICT_SELECT = 'dictSelect';
2736
2706
  clearable: ""
2737
2707
  }, {
2738
2708
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
2739
- }), null, 16)) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component === DICT_SELECT ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(dict_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2740
- key: 3,
2741
- modelValue: (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).modelValue,
2742
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).modelValue = $event)
2709
+ }), null, 16)) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component === DICT_SELECT ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(dict_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeProps)((0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2710
+ key: 3
2743
2711
  }, {
2744
2712
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
2745
- }), null, 16, [
2746
- "modelValue"
2747
- ])) : 'flagSelect' === (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__.unref)(flag_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2713
+ })), null, 16)) : 'flagSelect' === (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__.unref)(flag_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
2748
2714
  key: 4,
2749
2715
  clearable: ""
2750
2716
  }, {
2751
2717
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
2752
- }), 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)({
2718
+ }), 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)({
2753
2719
  key: 5,
2754
- "before-upload": beforeUpload,
2755
- "on-change": handleChange,
2756
- "auto-upload": false
2757
- }, {
2758
- ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
2759
- }), {
2760
- trigger: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2761
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_3, [
2762
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_icon, null, {
2763
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2764
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE__element_sun_icons_vue__.Plus))
2765
- ]),
2766
- _: 1
2767
- })
2768
- ])
2769
- ]),
2770
- upload: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
2771
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_button, {
2772
- type: "primary"
2773
- }, {
2774
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[1] || (_cache[1] = [
2775
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("上传")
2776
- ])),
2777
- _: 1
2778
- })
2779
- ]),
2780
- tip: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[2] || (_cache[2] = [
2781
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
2782
- class: "el-upload__tip"
2783
- }, "只能上传jpg/png/svg文件,且不超过1000kb", -1)
2784
- ])),
2785
- _: 1
2786
- }, 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)({
2787
- key: 6,
2788
2720
  ref_key: "componentRef",
2789
2721
  ref: componentRef,
2790
2722
  clearable: ""
@@ -2987,7 +2919,10 @@ const COMPONENT_MAP = {
2987
2919
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DATEPICKER]: 'date-picker',
2988
2920
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.GROUP]: 'group',
2989
2921
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXTAREA]: 'textarea',
2990
- [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text'
2922
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text',
2923
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH]: 'switch',
2924
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.CHECKBOX]: 'checkbox',
2925
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DIVIDER]: 'divider'
2991
2926
  };
2992
2927
  const COMMA = ',';
2993
2928
  /**
@@ -3051,7 +2986,7 @@ function getExtraProps(item, dataValueNames, modelValue) {
3051
2986
  initObj.defaultValueName = findObj.defaultValueName;
3052
2987
  }
3053
2988
  }
3054
- const resultObj = {
2989
+ let resultObj = {
3055
2990
  style: {
3056
2991
  width: '100%'
3057
2992
  },
@@ -3069,6 +3004,12 @@ function getExtraProps(item, dataValueNames, modelValue) {
3069
3004
  resultObj.valueFormat = 'YYYY-MM-DD HH:mm:ss';
3070
3005
  resultObj.defaultValue = void 0;
3071
3006
  }
3007
+ if (item.controlTypeCode === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH) resultObj = {
3008
+ ...resultObj,
3009
+ 'inline-prompt': true,
3010
+ 'active-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES,
3011
+ 'inactive-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO
3012
+ };
3072
3013
  return resultObj;
3073
3014
  }
3074
3015
  function useGetFromConfigData(result, layoutTypeCode) {
@@ -3344,8 +3285,7 @@ const Tablevue_type_script_setup_true_lang_tsx_hoisted_1 = {
3344
3285
  "columns",
3345
3286
  "data"
3346
3287
  ]),
3347
- settingList.value.length ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)(_component_el_button, {
3348
- key: 0,
3288
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_button, {
3349
3289
  class: "w-full border-t-0",
3350
3290
  onClick: onAddItem
3351
3291
  }, {
@@ -3358,7 +3298,7 @@ const Tablevue_type_script_setup_true_lang_tsx_hoisted_1 = {
3358
3298
  })
3359
3299
  ]),
3360
3300
  _: 1
3361
- })) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
3301
+ })
3362
3302
  ]);
3363
3303
  };
3364
3304
  }
@@ -3366,7 +3306,7 @@ const Tablevue_type_script_setup_true_lang_tsx_hoisted_1 = {
3366
3306
  const Table_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(Tablevue_type_script_setup_true_lang_tsx, [
3367
3307
  [
3368
3308
  '__scopeId',
3369
- "data-v-4e941e60"
3309
+ "data-v-737d0299"
3370
3310
  ]
3371
3311
  ]);
3372
3312
  /* ESM default export */ const Table = Table_exports_;
@@ -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
@@ -174,13 +174,19 @@ const TableColumn = (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
174
174
  header: (scope)=>{
175
175
  if (column.headerRender) return column.headerRender(scope);
176
176
  if (column.prop && slots[`${handleProp(column.prop)}Header`]) return slots[`${handleProp(column.prop)}Header`](scope);
177
- return [
178
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
179
- class: column.columnClass
177
+ return (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
178
+ class: column.columnClass
179
+ }, [
180
+ column.required && (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)("span", {
181
+ class: "mr-2",
182
+ style: {
183
+ color: '#f56c6c'
184
+ }
180
185
  }, [
181
- column.label
182
- ], 2)
183
- ];
186
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("*")
187
+ ]),
188
+ column.label
189
+ ], 2);
184
190
  },
185
191
  _: 1
186
192
  }, 16, [
@@ -2472,9 +2478,12 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2472
2478
  const emit = __emit;
2473
2479
  const loading = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)(true);
2474
2480
  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');
2481
+ const tableData = (0, __WEBPACK_EXTERNAL_MODULE_vue__.ref)([
2482
+ {
2483
+ value: props.defaultValue,
2484
+ label: props.defaultValueName
2485
+ }
2486
+ ]);
2478
2487
  let inputChange = debounce(fetchData, 800);
2479
2488
  async function fetchData(value) {
2480
2489
  loading.value = true;
@@ -2488,28 +2497,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2488
2497
  loading.value = false;
2489
2498
  if (result?.success) {
2490
2499
  let { primaryKey, displayKey, data } = result.data;
2491
- rowKey.value = primaryKey;
2492
- rowName.value = displayKey;
2493
- tableData.value = data.data || [];
2500
+ tableData.value = data.data.map((item)=>({
2501
+ value: item[primaryKey],
2502
+ label: item[displayKey]
2503
+ })) || [];
2494
2504
  }
2495
2505
  }
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
2506
  /**
2509
- *
2510
- * @param value 下拉框选择
2511
- */ function change(value) {
2512
- let name = (options.value.find((item)=>item[rowKey.value] === value) || {})[rowName.value];
2507
+ *
2508
+ * @param value 下拉框选择
2509
+ */ function change(value) {
2510
+ let name = (tableData.value.find((item)=>item.value === value) || {})['label'];
2513
2511
  emit('change', value, name);
2514
2512
  }
2515
2513
  return (_ctx, _cache)=>{
@@ -2520,16 +2518,17 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2520
2518
  loading: loading.value && !tableData.value.length,
2521
2519
  disabled: props.disabled,
2522
2520
  remote: true,
2521
+ filterable: true,
2523
2522
  onChange: change,
2524
2523
  "remote-method": (value)=>{
2525
2524
  (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(inputChange)(value);
2526
2525
  }
2527
2526
  }, {
2528
2527
  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]
2528
+ ((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, {
2529
+ key: item.value,
2530
+ label: item.label,
2531
+ value: item.value
2533
2532
  }, null, 8, [
2534
2533
  "label",
2535
2534
  "value"
@@ -2548,7 +2547,7 @@ const PatientInfo_exports_ = PatientInfovue_type_script_setup_true_lang_ts;
2548
2547
  const dict_select_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(dict_selectvue_type_script_setup_true_lang_ts, [
2549
2548
  [
2550
2549
  '__scopeId',
2551
- "data-v-7fb4894b"
2550
+ "data-v-54541b2c"
2552
2551
  ]
2553
2552
  ]);
2554
2553
  /* ESM default export */ const dict_select = dict_select_exports_;
@@ -2964,38 +2963,11 @@ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_1 = {
2964
2963
  const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_2 = {
2965
2964
  key: 1
2966
2965
  };
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
2966
  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)({
2967
+ /* ESM default export */ const FormUnitvue_type_script_setup_true_lang_ts_name_formUnit = /*@__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent)({
2974
2968
  __name: 'FormUnit',
2975
2969
  setup (__props, { expose: __expose }) {
2976
2970
  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
2971
  const attrs = (0, __WEBPACK_EXTERNAL_MODULE_vue__.useAttrs)();
3000
2972
  __expose(new Proxy({}, {
3001
2973
  get (_target, prop) {
@@ -3008,8 +2980,6 @@ const DICT_SELECT = 'dictSelect';
3008
2980
  }));
3009
2981
  return (_ctx, _cache)=>{
3010
2982
  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
2983
  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
2984
  key: 0,
3015
2985
  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
@@ -3041,55 +3011,17 @@ const DICT_SELECT = 'dictSelect';
3041
3011
  clearable: ""
3042
3012
  }, {
3043
3013
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
3044
- }), null, 16)) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component === DICT_SELECT ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(dict_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3045
- key: 3,
3046
- modelValue: (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).modelValue,
3047
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).modelValue = $event)
3014
+ }), null, 16)) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs).component === DICT_SELECT ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(dict_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.normalizeProps)((0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3015
+ key: 3
3048
3016
  }, {
3049
3017
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
3050
- }), null, 16, [
3051
- "modelValue"
3052
- ])) : 'flagSelect' === (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__.unref)(flag_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3018
+ })), null, 16)) : 'flagSelect' === (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__.unref)(flag_select), (0, __WEBPACK_EXTERNAL_MODULE_vue__.mergeProps)({
3053
3019
  key: 4,
3054
3020
  clearable: ""
3055
3021
  }, {
3056
3022
  ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
3057
- }), 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)({
3023
+ }), 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)({
3058
3024
  key: 5,
3059
- "before-upload": beforeUpload,
3060
- "on-change": handleChange,
3061
- "auto-upload": false
3062
- }, {
3063
- ...(0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(attrs)
3064
- }), {
3065
- trigger: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3066
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("span", FormUnitvue_type_script_setup_true_lang_ts_name_formUnit_hoisted_3, [
3067
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_icon, null, {
3068
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3069
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)((0, __WEBPACK_EXTERNAL_MODULE_vue__.unref)(__WEBPACK_EXTERNAL_MODULE__element_sun_icons_vue__.Plus))
3070
- ]),
3071
- _: 1
3072
- })
3073
- ])
3074
- ]),
3075
- upload: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>[
3076
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_button, {
3077
- type: "primary"
3078
- }, {
3079
- default: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[1] || (_cache[1] = [
3080
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createTextVNode)("上传")
3081
- ])),
3082
- _: 1
3083
- })
3084
- ]),
3085
- tip: (0, __WEBPACK_EXTERNAL_MODULE_vue__.withCtx)(()=>_cache[2] || (_cache[2] = [
3086
- (0, __WEBPACK_EXTERNAL_MODULE_vue__.createElementVNode)("div", {
3087
- class: "el-upload__tip"
3088
- }, "只能上传jpg/png/svg文件,且不超过1000kb", -1)
3089
- ])),
3090
- _: 1
3091
- }, 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)({
3092
- key: 6,
3093
3025
  ref_key: "componentRef",
3094
3026
  ref: componentRef,
3095
3027
  clearable: ""
@@ -3292,7 +3224,10 @@ const COMPONENT_MAP = {
3292
3224
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DATEPICKER]: 'date-picker',
3293
3225
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.GROUP]: 'group',
3294
3226
  [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXTAREA]: 'textarea',
3295
- [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text'
3227
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.TEXT]: 'text',
3228
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH]: 'switch',
3229
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.CHECKBOX]: 'checkbox',
3230
+ [__WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.DIVIDER]: 'divider'
3296
3231
  };
3297
3232
  const COMMA = ',';
3298
3233
  /**
@@ -3356,7 +3291,7 @@ function getExtraProps(item, dataValueNames, modelValue) {
3356
3291
  initObj.defaultValueName = findObj.defaultValueName;
3357
3292
  }
3358
3293
  }
3359
- const resultObj = {
3294
+ let resultObj = {
3360
3295
  style: {
3361
3296
  width: '100%'
3362
3297
  },
@@ -3374,6 +3309,12 @@ function getExtraProps(item, dataValueNames, modelValue) {
3374
3309
  resultObj.valueFormat = 'YYYY-MM-DD HH:mm:ss';
3375
3310
  resultObj.defaultValue = void 0;
3376
3311
  }
3312
+ if (item.controlTypeCode === __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.CONTROL_TYPE_CODE.SWITCH) resultObj = {
3313
+ ...resultObj,
3314
+ 'inline-prompt': true,
3315
+ 'active-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.YES,
3316
+ 'inactive-value': __WEBPACK_EXTERNAL_MODULE__sun_toolkit_enums__.FLAG.NO
3317
+ };
3377
3318
  return resultObj;
3378
3319
  }
3379
3320
  function useGetFromConfigData(result, layoutTypeCode) {
@@ -3649,8 +3590,7 @@ const Tablevue_type_script_setup_true_lang_tsx_hoisted_1 = {
3649
3590
  "columns",
3650
3591
  "data"
3651
3592
  ]),
3652
- settingList.value.length ? ((0, __WEBPACK_EXTERNAL_MODULE_vue__.openBlock)(), (0, __WEBPACK_EXTERNAL_MODULE_vue__.createBlock)(_component_el_button, {
3653
- key: 0,
3593
+ (0, __WEBPACK_EXTERNAL_MODULE_vue__.createVNode)(_component_el_button, {
3654
3594
  class: "w-full border-t-0",
3655
3595
  onClick: onAddItem
3656
3596
  }, {
@@ -3663,7 +3603,7 @@ const Tablevue_type_script_setup_true_lang_tsx_hoisted_1 = {
3663
3603
  })
3664
3604
  ]),
3665
3605
  _: 1
3666
- })) : (0, __WEBPACK_EXTERNAL_MODULE_vue__.createCommentVNode)("", true)
3606
+ })
3667
3607
  ]);
3668
3608
  };
3669
3609
  }
@@ -3671,7 +3611,7 @@ const Tablevue_type_script_setup_true_lang_tsx_hoisted_1 = {
3671
3611
  const Table_exports_ = /*#__PURE__*/ (0, exportHelper["default"])(Tablevue_type_script_setup_true_lang_tsx, [
3672
3612
  [
3673
3613
  '__scopeId',
3674
- "data-v-4e941e60"
3614
+ "data-v-737d0299"
3675
3615
  ]
3676
3616
  ]);
3677
3617
  /* ESM default export */ const Table = Table_exports_;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sun-biz",
3
- "version": "0.0.2-beta.1",
3
+ "version": "0.0.2-beta.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "@element-sun/icons-vue": "^1.0.5",
59
- "@sun-toolkit/enums": "1.0.0-beta.3",
59
+ "@sun-toolkit/enums": "1.0.0-beta.4",
60
60
  "@sun-toolkit/request": "1.0.0-beta.4",
61
61
  "axios": "^1.7.7",
62
62
  "element-sun": "0.0.0-dev.2",