bmw-form-render 0.0.317 → 0.0.319

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 (112) hide show
  1. package/dist/{AntiCheating-1XtpJ3wG.cjs → AntiCheating-DwGk4N7c.cjs} +1 -1
  2. package/dist/{AppointConfig-DBP29Ih4.cjs → AppointConfig-CF3h4516.cjs} +1 -1
  3. package/dist/{BasicInputSetting-B-Wri4WG.cjs → BasicInputSetting-pyWaznES.cjs} +1 -1
  4. package/dist/BasicSelectSetting-V8ipuyxQ.cjs +1 -0
  5. package/dist/{Button-CpOwmnf8.cjs → Button-mzSFkqox.cjs} +1 -1
  6. package/dist/{ButtonConfig-DETt07Ya.cjs → ButtonConfig-wir8KDei.cjs} +1 -1
  7. package/dist/{CacheIcon-YBGFfJCK.cjs → CacheIcon-DQwXET_g.cjs} +1 -1
  8. package/dist/{Carousel-BCPwGPWz.cjs → Carousel-55OFgViX.cjs} +1 -1
  9. package/dist/{CarouselSetting-DTPiysCS.cjs → CarouselSetting-BzD72AVT.cjs} +1 -1
  10. package/dist/{CheckEntrySetting-EWcP0GGO.cjs → CheckEntrySetting-C1FndF8i.cjs} +1 -1
  11. package/dist/{CheckboxRange.vue_vue_type_script_setup_true_lang-CUFCdxNf.cjs → CheckboxRange.vue_vue_type_script_setup_true_lang-DmfsxSed.cjs} +1 -1
  12. package/dist/CheckboxSetting-D8VXc10C.cjs +1 -0
  13. package/dist/{Choice-CBclHMqk.cjs → Choice-g18rV-sR.cjs} +1 -1
  14. package/dist/{Column.vue_vue_type_script_setup_true_lang-BIWJK1cq.cjs → Column.vue_vue_type_script_setup_true_lang-DAfdFoj_.cjs} +1 -1
  15. package/dist/{ColumnNumOption.vue_vue_type_script_setup_true_lang-Ro2dKzdy.cjs → ColumnNumOption.vue_vue_type_script_setup_true_lang-BMJZfL2u.cjs} +1 -1
  16. package/dist/{CommonRadioSetting-DBm_X0c9.cjs → CommonRadioSetting-Bo20cQ-E.cjs} +1 -1
  17. package/dist/{ConfirmCode-D9O6NnCW.cjs → ConfirmCode-9kPzstzF.cjs} +1 -1
  18. package/dist/{ContactUs-B0dFvWiZ.cjs → ContactUs-CutYdGzv.cjs} +1 -1
  19. package/dist/{ContactUs-Je2Ivb8o.cjs → ContactUs-Cx2Q-ssa.cjs} +1 -1
  20. package/dist/{ContactUsSetting-ByPiuMsu.cjs → ContactUsSetting-oytlqMZD.cjs} +1 -1
  21. package/dist/{CrowdManagement-CcZF8JDi.cjs → CrowdManagement-D9i-l4sB.cjs} +1 -1
  22. package/dist/{DataCollectPanel-C6BtL1AR.cjs → DataCollectPanel-DVh58lum.cjs} +1 -1
  23. package/dist/{DataSubmitPanel-DqTyLGKM.cjs → DataSubmitPanel-Dsab1OAb.cjs} +1 -1
  24. package/dist/{DateSetting-CFuH8tw7.cjs → DateSetting-Cyh4HLWl.cjs} +1 -1
  25. package/dist/DisplayRuleSetting-0KLY2h-h.cjs +1 -0
  26. package/dist/{DynamicTableSetting-CkMXdlob.cjs → DynamicTableSetting-CWWVSFji.cjs} +1 -1
  27. package/dist/{EduCheckboxSetting-BeqVG1wA.cjs → EduCheckboxSetting-D7Dx_QZc.cjs} +1 -1
  28. package/dist/{EmailInputSetting-j8S2DqBf.cjs → EmailInputSetting-BqfURdh8.cjs} +1 -1
  29. package/dist/{ExamBar-VZQbXqs9.cjs → ExamBar-C1YwMocN.cjs} +1 -1
  30. package/dist/{FileSetting-By1cz2Z-.cjs → FileSetting-CCzpdC98.cjs} +1 -1
  31. package/dist/{FillBlank-LJ5NaY-C.cjs → FillBlank-CSnPZ_rO.cjs} +1 -1
  32. package/dist/{FormProgress-Bs5_0fse.cjs → FormProgress-CGhuvoUJ.cjs} +1 -1
  33. package/dist/{GainConfig-CRb2-oO9.cjs → GainConfig-Cm6O5V9N.cjs} +1 -1
  34. package/dist/{Geolocation-BI2zSMUD.cjs → Geolocation-CvNBr1P8.cjs} +1 -1
  35. package/dist/{IdCardInputSetting-B-UYSVqA.cjs → IdCardInputSetting-DS1ND0nl.cjs} +1 -1
  36. package/dist/ImageSetting-CLV7q6R1.cjs +1 -0
  37. package/dist/{ImgCard-iIAxaLTg.cjs → ImgCard-DeUGq0XV.cjs} +1 -1
  38. package/dist/{ImgCheckboxSetting-CzItW7IW.cjs → ImgCheckboxSetting-CO0Hu4_W.cjs} +1 -1
  39. package/dist/ImgRadioSetting-BO11wmxd.cjs +1 -0
  40. package/dist/{ImportantOption.vue_vue_type_script_setup_true_lang-C2R2isCI.cjs → ImportantOption.vue_vue_type_script_setup_true_lang-C7ndh7xd.cjs} +1 -1
  41. package/dist/{Input-BXN5ZJ0N.cjs → Input-CsJQsPhh.cjs} +1 -1
  42. package/dist/{InputTimer-BsHuRZwD.cjs → InputTimer-Cm3KUGIM.cjs} +1 -1
  43. package/dist/{LengthRangeOption.vue_vue_type_script_setup_true_lang-BTcbGzRP.cjs → LengthRangeOption.vue_vue_type_script_setup_true_lang-Wj0v68Zy.cjs} +1 -1
  44. package/dist/{LocationSetting-B-fBuLvG.cjs → LocationSetting-BmLKG6eU.cjs} +1 -1
  45. package/dist/{MapNavSetting-BsIXD40y.cjs → MapNavSetting-Dj5Z8mHC.cjs} +1 -1
  46. package/dist/{MapNavigation-Dwb3A8Z9.cjs → MapNavigation-AfNDK8To.cjs} +1 -1
  47. package/dist/{MessagePush-DU_xrL92.cjs → MessagePush-BfGXBd-X.cjs} +1 -1
  48. package/dist/{MultiSelectSetting-BVZXC66S.cjs → MultiSelectSetting-CB9LHy62.cjs} +1 -1
  49. package/dist/{NumRange-B9HTFJr4.cjs → NumRange-D6cdF-eP.cjs} +1 -1
  50. package/dist/{NumberFillBlank-Bb1WYVGJ.cjs → NumberFillBlank-L1YLEIvS.cjs} +1 -1
  51. package/dist/{NumberInputSetting-CGPPCs86.cjs → NumberInputSetting-D9QkE4Mg.cjs} +1 -1
  52. package/dist/{OcrSetting-DOcQkXGD.cjs → OcrSetting-CO8kBuvb.cjs} +1 -1
  53. package/dist/{OcrWidget-dtNYVUNN.cjs → OcrWidget-wF3yH7UU.cjs} +1 -1
  54. package/dist/{OptionRandom.vue_vue_type_script_setup_true_lang-PSs5kW8L.cjs → OptionRandom.vue_vue_type_script_setup_true_lang-ZRDSfVc6.cjs} +1 -1
  55. package/dist/{PageHeader-CoZHiIEI.cjs → PageHeader-D0NHMXMK.cjs} +1 -1
  56. package/dist/{PageHeaderSetting-CFN847nH.cjs → PageHeaderSetting-Bn8gt1kp.cjs} +1 -1
  57. package/dist/{Pagination-BG2LFspt.cjs → Pagination-D3CBhgN5.cjs} +1 -1
  58. package/dist/{PayConfig-qndiv1sg.cjs → PayConfig-mgv880Pe.cjs} +1 -1
  59. package/dist/{PayMethod-C3T-cw8h.cjs → PayMethod-czgTgLFC.cjs} +1 -1
  60. package/dist/{PhoneInputSetting-BYV1DRF8.cjs → PhoneInputSetting-0CW4dBm2.cjs} +1 -1
  61. package/dist/{PlaceholderOption.vue_vue_type_script_setup_true_lang-CCEqha7l.cjs → PlaceholderOption.vue_vue_type_script_setup_true_lang-eFwoyqIK.cjs} +1 -1
  62. package/dist/{PreparePlaceholderOption.vue_vue_type_script_setup_true_lang-D6xorG_G.cjs → PreparePlaceholderOption.vue_vue_type_script_setup_true_lang-xA2q_SED.cjs} +1 -1
  63. package/dist/{PreparerNameSetting-vcReySPO.cjs → PreparerNameSetting-D2Pdcm1v.cjs} +1 -1
  64. package/dist/{PreparerPhoneInputSetting-BP0toqiG.cjs → PreparerPhoneInputSetting-CseiA-20.cjs} +1 -1
  65. package/dist/{PreparerSetting-8sKKFPAv.cjs → PreparerSetting-CL8HQ5QB.cjs} +1 -1
  66. package/dist/RadioSetting-xVdBiJv9.cjs +1 -0
  67. package/dist/{RatingSetting-BxM4VrXS.cjs → RatingSetting-C78aOu6a.cjs} +1 -1
  68. package/dist/{SearchAndShare-CiHlzYvR.cjs → SearchAndShare-DgdvIlRu.cjs} +1 -1
  69. package/dist/{SetpayModal-BIK2hwam.cjs → SetpayModal-STls2L4H.cjs} +1 -1
  70. package/dist/{ShareQRCode-Btc_zHWY.cjs → ShareQRCode-DwnJegl4.cjs} +1 -1
  71. package/dist/{TableSetting-B_fFyXWK.cjs → TableSetting-CPkhcMi9.cjs} +1 -1
  72. package/dist/{TestSettingPanel-BWy5Tmie.cjs → TestSettingPanel-C_xLoh8v.cjs} +1 -1
  73. package/dist/{ViewVoteRate-E32nJEW8.cjs → ViewVoteRate-CyHdBIBU.cjs} +1 -1
  74. package/dist/{WatermarkSetting-CAmUH86G.cjs → WatermarkSetting-ByYEwVAw.cjs} +1 -1
  75. package/dist/bmw-form-render.cjs +1 -1
  76. package/dist/iconfont-D1vBY9pe.cjs +1 -0
  77. package/dist/{index-CqPp8woa.cjs → index-Ai3BQ1gB.cjs} +1 -1
  78. package/dist/{index-CVvCENyg.cjs → index-B2LdP98-.cjs} +1 -1
  79. package/dist/{index-BAbgNgT7.cjs → index-Ba8YkLGU.cjs} +1 -1
  80. package/dist/{index-BUDs2uQu.cjs → index-CR1kxct6.cjs} +1 -1
  81. package/dist/index-CZBdUlB7.cjs +1 -0
  82. package/dist/{index-BRzXABfd.cjs → index-CiP-JQy-.cjs} +1 -1
  83. package/dist/{index-CNmdQVJh.cjs → index-CkMIqzAF.cjs} +1 -1
  84. package/dist/{index-NA0wgNL_.cjs → index-CuXsJ5Hs.cjs} +1 -1
  85. package/dist/main-BJ5jMLtY.cjs +146 -0
  86. package/dist/{style-wPyDpjUj.cjs → style-DwfVs0Th.cjs} +1 -1
  87. package/dist/style.css +1 -1
  88. package/dist/types/app/right-side/components/DisplayRuleDialog.vue.d.ts +18 -0
  89. package/dist/types/app/right-side/components/DisplayRuleSetting.vue.d.ts +2 -0
  90. package/dist/types/app/right-side/modules/ImageSetting.vue.d.ts +2 -0
  91. package/dist/types/logic/active-manager.d.ts +1 -1
  92. package/dist/types/logic/display-rules.d.ts +37 -0
  93. package/dist/types/logic/getters.d.ts +6 -0
  94. package/dist/types/logic/request.d.ts +29 -0
  95. package/dist/types/logic/verify-util.d.ts +6 -1
  96. package/dist/types/logic/widget-manager.d.ts +2 -2
  97. package/dist/types/widgets/date/src/components/ScrollPicker.vue.d.ts +1 -1
  98. package/dist/types/widgets/image/index.d.ts +38 -0
  99. package/dist/types/widgets/image/src/Image.vue.d.ts +35 -0
  100. package/dist/types/widgets/image/src/constant.d.ts +43 -0
  101. package/dist/types/widgets/select/src/components/FormSelect.vue.d.ts +1 -1
  102. package/dist/{useVipDialog-BmrpYMBU.cjs → useVipDialog-zzvg2Uab.cjs} +1 -1
  103. package/dist/{vue-quill.esm-bundler-qmX6jM4-.cjs → vue-quill.esm-bundler-DztrbEZt.cjs} +1 -1
  104. package/package.json +1 -1
  105. package/dist/BasicSelectSetting-DfO-bOSA.cjs +0 -1
  106. package/dist/CheckboxSetting-BdgF7YrK.cjs +0 -1
  107. package/dist/ChooseInput-ox8w5sgC.cjs +0 -1
  108. package/dist/ImgRadioSetting-DfDbkSAV.cjs +0 -1
  109. package/dist/RadioSetting-CWpBg_KE.cjs +0 -1
  110. package/dist/iconfont-CRr0eauA.cjs +0 -1
  111. package/dist/index-4COV7dz7.cjs +0 -1
  112. package/dist/main-S-TAkKF1.cjs +0 -146
@@ -0,0 +1,18 @@
1
+ type __VLS_Props = {
2
+ modelValue: boolean;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "update:modelValue": (val: boolean) => void;
6
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>> & {
7
+ "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
8
+ }, {}, {}>;
9
+ export default _default;
10
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+ type __VLS_TypePropsToOption<T> = {
12
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
13
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
14
+ } : {
15
+ type: import('vue').PropType<T[K]>;
16
+ required: true;
17
+ };
18
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -16,7 +16,7 @@ export declare const activeWidget: import('vue').ComputedRef<{
16
16
  attrs: AnyRecord;
17
17
  } | TWidget<"contactUs"> | null>;
18
18
  export declare const activeWidgetIndex: import('vue').ComputedRef<number | null>;
19
- export declare const activeWidgetType: import('vue').ComputedRef<"textarea" | "button" | "file" | "resume" | "work" | "sort" | "basicInput" | "fillBlank" | "emailInput" | "idCardInput" | "shortAnswer" | "phoneInput" | "numberInput" | "nameInput" | "companyInput" | "departmentInput" | "positionInput" | "ageInput" | "basicSelect" | "multiSelect" | "businessSelect" | "nationSelect" | "regionSelect" | "rate" | "date" | "basicRadio" | "checkbox" | "imgRadio" | "imgCheckbox" | "occupationRadio" | "sexRadio" | "educationRadio" | "ageRadio" | "geolocation" | "mapNavigation" | "carousel" | "pageHeader" | "contactUs" | "pagination" | "description" | "eduRadio" | "fillBlank2" | "shortAnswer2" | "numberFillBlank" | "eduCheckbox" | "eduJudgement" | "eduImgRadio" | "eduImgCheckbox" | "eduSelect" | "appoint" | "gainWithPic" | "gainWithoutPic" | "groupTitle" | "preparerNameInput" | "preparerIdCardInput" | "preparerPhoneInput" | "preparerWorkIdInput" | "watermark" | "location" | "checkEntry" | "basicTable" | "dynamicTable" | "idCardOcr" | "bankCardOcr" | "vehicleLicenseOcr" | "driverLicenseOcr" | "businessLicenseOcr" | "specialCertificateOcr" | "vatInvoiceOcr" | "customTableOcr" | undefined>;
19
+ export declare const activeWidgetType: import('vue').ComputedRef<"textarea" | "button" | "file" | "resume" | "work" | "sort" | "basicInput" | "fillBlank" | "emailInput" | "idCardInput" | "shortAnswer" | "phoneInput" | "numberInput" | "nameInput" | "companyInput" | "departmentInput" | "positionInput" | "ageInput" | "basicSelect" | "multiSelect" | "businessSelect" | "nationSelect" | "regionSelect" | "rate" | "date" | "basicRadio" | "checkbox" | "imgRadio" | "imgCheckbox" | "occupationRadio" | "sexRadio" | "educationRadio" | "ageRadio" | "geolocation" | "mapNavigation" | "carousel" | "pageHeader" | "contactUs" | "pagination" | "description" | "eduRadio" | "fillBlank2" | "shortAnswer2" | "numberFillBlank" | "eduCheckbox" | "eduJudgement" | "eduImgRadio" | "eduImgCheckbox" | "eduSelect" | "appoint" | "gainWithPic" | "gainWithoutPic" | "groupTitle" | "preparerNameInput" | "preparerIdCardInput" | "preparerPhoneInput" | "preparerWorkIdInput" | "watermark" | "location" | "checkEntry" | "image" | "basicTable" | "dynamicTable" | "idCardOcr" | "bankCardOcr" | "vehicleLicenseOcr" | "driverLicenseOcr" | "businessLicenseOcr" | "specialCertificateOcr" | "vatInvoiceOcr" | "customTableOcr" | undefined>;
20
20
  export declare const activeWidgetAttrs: import('vue').ComputedRef<AnyRecord | undefined>;
21
21
  export declare const activeWidgetInfo: import('vue').ComputedRef<WidgetInfo | null>;
22
22
  export declare const setActiveWidget: (widgetId: string | null) => void;
@@ -0,0 +1,37 @@
1
+ export interface ControlledByInfo {
2
+ controllerId: string;
3
+ controllerTitle: string;
4
+ optionValue: string;
5
+ optionLabel: string;
6
+ ruleId: string;
7
+ }
8
+ /**
9
+ * 构建反向索引:被控制字段 -> 控制规则列表
10
+ */
11
+ export declare function buildControlledByMap(widgets: {
12
+ id: string;
13
+ attrs: AnyRecord;
14
+ }[] | undefined | null): Map<string, ControlledByInfo[]>;
15
+ /**
16
+ * 判断 widget 在当前数据状态下是否可见
17
+ * 仅 basicRadio、imgRadio 和 basicSelect 支持显隐规则;editor 模式下始终可见
18
+ */
19
+ export declare function isWidgetVisible(widget: {
20
+ id: string;
21
+ attrs: AnyRecord;
22
+ }, widgets: {
23
+ id: string;
24
+ attrs: AnyRecord;
25
+ }[], data: Record<string, any>): boolean;
26
+ /**
27
+ * 获取 widget 上的字段显示规则数量
28
+ * - 若 widget 是控制者:返回 showRules 数量
29
+ * - 若 widget 是被控制者:返回关联规则数量
30
+ */
31
+ export declare function getDisplayRulesCount(widget: {
32
+ id: string;
33
+ attrs: AnyRecord;
34
+ }, widgets?: {
35
+ id: string;
36
+ attrs: AnyRecord;
37
+ }[]): number;
@@ -29,6 +29,12 @@ export declare const getPageList: (isEditor: boolean) => Widget[][];
29
29
  * 获取组件分页后的真实索引
30
30
  */
31
31
  export declare const getWidgetRealIndex: (id: string, type: WidgetType) => any;
32
+ /**
33
+ * 获取组件在可见组件中的真实索引(跳过被显隐规则隐藏的组件)
34
+ * 用于落地页(input/render 模式)中的序号显示
35
+ * 编辑器模式中所有组件均可见,应使用 getWidgetRealIndex
36
+ */
37
+ export declare const getWidgetVisibleIndex: (id: string, type: WidgetType, allWidgets: Widget[], formData: Record<string, any>) => number;
32
38
  /**
33
39
  * 是否显示题号
34
40
  */
@@ -22,6 +22,35 @@ export declare const postUploadAnswerFile: (data: {
22
22
  file_size: any;
23
23
  }) => Promise<any>;
24
24
  export declare const getUploadLimit: (uid: string) => Promise<any>;
25
+ /** 临时文件条目(与后端 /v1/tempFile 接口字段对齐) */
26
+ export interface TempFileItem {
27
+ type: "image";
28
+ url: string;
29
+ name: string;
30
+ size: number;
31
+ latitude?: number;
32
+ longitude?: number;
33
+ address?: string;
34
+ nickname?: string;
35
+ uploadMethod?: string;
36
+ uploadTime?: number;
37
+ }
38
+ /**
39
+ * 保存临时文件列表,获取临时 id
40
+ * @description 跳转小程序上传页前,将当前已有的图片数据保存到服务端,
41
+ * 获取临时 id(tid) 后通过 URL 参数传递给小程序页。
42
+ */
43
+ export declare const saveTempFileList: (files: TempFileItem[]) => Promise<{
44
+ tid: string;
45
+ expire: number;
46
+ }>;
47
+ /**
48
+ * 根据 tid 查询小程序上传页已上传的临时文件列表
49
+ * @description 小程序上传页上传完成后,会重定向回表单页并附带
50
+ * `?tempFileId=xxx` 查询参数;落地页 widget 在 onMounted 拿到 tempFileId 后调用本接口,
51
+ * 将返回的图片列表渲染到上传网格。
52
+ */
53
+ export declare const getTempFileList: (tid: string) => Promise<TempFileItem[]>;
25
54
  export declare const getForm3: (id: string) => Promise<any>;
26
55
  export declare const getSumitData: (id: string) => Promise<any>;
27
56
  export declare const editFormData: ({ answer, form_id, fake_id }: {
@@ -4,12 +4,13 @@ import { TCheckEntryAttrs } from '../widgets/checkEntry';
4
4
  import { TWatermarkAttrs } from '../widgets/watermark';
5
5
  import { TBasicTableAttrs, TDynamicTableAttrs } from '../widgets/table';
6
6
  import { TLocationAttrs } from '../widgets/location';
7
+ import { TImageAttrs } from '../widgets/image';
7
8
  import { OcrAttrs } from '../widgets/ocr/types';
8
9
  export declare enum VerifyStatus {
9
10
  Error = 0,
10
11
  Success = 1
11
12
  }
12
- export declare const verifyFormData: (widgets: Widget[], data: Record<string, any>) => Record<string, ValueVerification>;
13
+ export declare const verifyFormData: (widgets: Widget[], data: Record<string, any>, allWidgets?: Widget[]) => Record<string, ValueVerification>;
13
14
  export declare const verifyValue: (widget: Widget, value: any) => ValueVerification;
14
15
  export declare const verifyRadio: (widget: Widget, attrs: RadioAttrs, value: any) => {
15
16
  status: VerifyStatus;
@@ -47,6 +48,10 @@ export declare const verifyLocation: (attrs: TLocationAttrs, value: any) => {
47
48
  status: VerifyStatus;
48
49
  message: string;
49
50
  };
51
+ export declare const verifyImage: (attrs: TImageAttrs, value: any) => {
52
+ status: VerifyStatus;
53
+ message: string;
54
+ };
50
55
  export declare const verifyBasicTable: (attrs: TBasicTableAttrs, value: any) => any;
51
56
  export declare const verifyDynamicTable: (attrs: TDynamicTableAttrs, value: any) => any;
52
57
  export declare const verifyCustomTableOcr: (attrs: OcrAttrs, value: any) => {
@@ -1,7 +1,7 @@
1
1
  import { WidgetType } from '../widgets';
2
2
  export declare const createWidget: (type: WidgetType) => {
3
3
  id: string;
4
- type: "textarea" | "button" | "file" | "resume" | "work" | "sort" | "basicInput" | "fillBlank" | "emailInput" | "idCardInput" | "shortAnswer" | "phoneInput" | "numberInput" | "nameInput" | "companyInput" | "departmentInput" | "positionInput" | "ageInput" | "basicSelect" | "multiSelect" | "businessSelect" | "nationSelect" | "regionSelect" | "rate" | "date" | "basicRadio" | "checkbox" | "imgRadio" | "imgCheckbox" | "occupationRadio" | "sexRadio" | "educationRadio" | "ageRadio" | "geolocation" | "mapNavigation" | "carousel" | "pageHeader" | "contactUs" | "pagination" | "description" | "eduRadio" | "fillBlank2" | "shortAnswer2" | "numberFillBlank" | "eduCheckbox" | "eduJudgement" | "eduImgRadio" | "eduImgCheckbox" | "eduSelect" | "appoint" | "gainWithPic" | "gainWithoutPic" | "groupTitle" | "preparerNameInput" | "preparerIdCardInput" | "preparerPhoneInput" | "preparerWorkIdInput" | "watermark" | "location" | "checkEntry" | "basicTable" | "dynamicTable" | "idCardOcr" | "bankCardOcr" | "vehicleLicenseOcr" | "driverLicenseOcr" | "businessLicenseOcr" | "specialCertificateOcr" | "vatInvoiceOcr" | "customTableOcr";
4
+ type: "textarea" | "button" | "file" | "resume" | "work" | "sort" | "basicInput" | "fillBlank" | "emailInput" | "idCardInput" | "shortAnswer" | "phoneInput" | "numberInput" | "nameInput" | "companyInput" | "departmentInput" | "positionInput" | "ageInput" | "basicSelect" | "multiSelect" | "businessSelect" | "nationSelect" | "regionSelect" | "rate" | "date" | "basicRadio" | "checkbox" | "imgRadio" | "imgCheckbox" | "occupationRadio" | "sexRadio" | "educationRadio" | "ageRadio" | "geolocation" | "mapNavigation" | "carousel" | "pageHeader" | "contactUs" | "pagination" | "description" | "eduRadio" | "fillBlank2" | "shortAnswer2" | "numberFillBlank" | "eduCheckbox" | "eduJudgement" | "eduImgRadio" | "eduImgCheckbox" | "eduSelect" | "appoint" | "gainWithPic" | "gainWithoutPic" | "groupTitle" | "preparerNameInput" | "preparerIdCardInput" | "preparerPhoneInput" | "preparerWorkIdInput" | "watermark" | "location" | "checkEntry" | "image" | "basicTable" | "dynamicTable" | "idCardOcr" | "bankCardOcr" | "vehicleLicenseOcr" | "driverLicenseOcr" | "businessLicenseOcr" | "specialCertificateOcr" | "vatInvoiceOcr" | "customTableOcr";
5
5
  attrs: any;
6
6
  };
7
7
  /**
@@ -25,7 +25,7 @@ export declare const onAfterAddWidget: (addedWidget: Widget) => void;
25
25
  */
26
26
  export declare const addWidget: (type: WidgetType, idx?: number) => {
27
27
  id: string;
28
- type: "textarea" | "button" | "file" | "resume" | "work" | "sort" | "basicInput" | "fillBlank" | "emailInput" | "idCardInput" | "shortAnswer" | "phoneInput" | "numberInput" | "nameInput" | "companyInput" | "departmentInput" | "positionInput" | "ageInput" | "basicSelect" | "multiSelect" | "businessSelect" | "nationSelect" | "regionSelect" | "rate" | "date" | "basicRadio" | "checkbox" | "imgRadio" | "imgCheckbox" | "occupationRadio" | "sexRadio" | "educationRadio" | "ageRadio" | "geolocation" | "mapNavigation" | "carousel" | "pageHeader" | "contactUs" | "pagination" | "description" | "eduRadio" | "fillBlank2" | "shortAnswer2" | "numberFillBlank" | "eduCheckbox" | "eduJudgement" | "eduImgRadio" | "eduImgCheckbox" | "eduSelect" | "appoint" | "gainWithPic" | "gainWithoutPic" | "groupTitle" | "preparerNameInput" | "preparerIdCardInput" | "preparerPhoneInput" | "preparerWorkIdInput" | "watermark" | "location" | "checkEntry" | "basicTable" | "dynamicTable" | "idCardOcr" | "bankCardOcr" | "vehicleLicenseOcr" | "driverLicenseOcr" | "businessLicenseOcr" | "specialCertificateOcr" | "vatInvoiceOcr" | "customTableOcr";
28
+ type: "textarea" | "button" | "file" | "resume" | "work" | "sort" | "basicInput" | "fillBlank" | "emailInput" | "idCardInput" | "shortAnswer" | "phoneInput" | "numberInput" | "nameInput" | "companyInput" | "departmentInput" | "positionInput" | "ageInput" | "basicSelect" | "multiSelect" | "businessSelect" | "nationSelect" | "regionSelect" | "rate" | "date" | "basicRadio" | "checkbox" | "imgRadio" | "imgCheckbox" | "occupationRadio" | "sexRadio" | "educationRadio" | "ageRadio" | "geolocation" | "mapNavigation" | "carousel" | "pageHeader" | "contactUs" | "pagination" | "description" | "eduRadio" | "fillBlank2" | "shortAnswer2" | "numberFillBlank" | "eduCheckbox" | "eduJudgement" | "eduImgRadio" | "eduImgCheckbox" | "eduSelect" | "appoint" | "gainWithPic" | "gainWithoutPic" | "groupTitle" | "preparerNameInput" | "preparerIdCardInput" | "preparerPhoneInput" | "preparerWorkIdInput" | "watermark" | "location" | "checkEntry" | "image" | "basicTable" | "dynamicTable" | "idCardOcr" | "bankCardOcr" | "vehicleLicenseOcr" | "driverLicenseOcr" | "businessLicenseOcr" | "specialCertificateOcr" | "vatInvoiceOcr" | "customTableOcr";
29
29
  attrs: any;
30
30
  };
31
31
  export declare const deleteWidget: (id: string) => void;
@@ -91,8 +91,8 @@ declare const _default: import('vue').DefineComponent<{
91
91
  }>> & {
92
92
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
93
93
  }, {
94
- modelValue: Selection[];
95
94
  options: Option[][];
95
+ modelValue: Selection[];
96
96
  activeClass: string;
97
97
  inactiveClass: string;
98
98
  activeStyle: string;
@@ -0,0 +1,38 @@
1
+ import { imageAttrs, imageInfo } from './src/constant';
2
+ export { imageAttrs, imageInfo };
3
+ export type { TImageAttrs, IImageItem, ImageUploadMethod } from './src/constant';
4
+ export declare const imageComponent: import('vue').DefineComponent<{
5
+ id: {
6
+ type: import('vue').PropType<string>;
7
+ required: true;
8
+ };
9
+ attrs: {
10
+ type: import('vue').PropType<import('.').TImageAttrs>;
11
+ required: true;
12
+ };
13
+ value: {
14
+ type: import('vue').PropType<import('.').IImageItem[]>;
15
+ required: true;
16
+ default: () => never[];
17
+ };
18
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ "update:value": (value: import('.').IImageItem[]) => void;
20
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
21
+ id: {
22
+ type: import('vue').PropType<string>;
23
+ required: true;
24
+ };
25
+ attrs: {
26
+ type: import('vue').PropType<import('.').TImageAttrs>;
27
+ required: true;
28
+ };
29
+ value: {
30
+ type: import('vue').PropType<import('.').IImageItem[]>;
31
+ required: true;
32
+ default: () => never[];
33
+ };
34
+ }>> & {
35
+ "onUpdate:value"?: ((value: import('.').IImageItem[]) => any) | undefined;
36
+ }, {
37
+ value: import('.').IImageItem[];
38
+ }, {}>;
@@ -0,0 +1,35 @@
1
+ import { IImageItem, TImageAttrs } from './constant';
2
+ type __VLS_Props = {
3
+ attrs: TImageAttrs;
4
+ value: IImageItem[];
5
+ id: string;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
8
+ value: () => never[];
9
+ }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:value": (value: IImageItem[]) => void;
11
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
12
+ value: () => never[];
13
+ }>>> & {
14
+ "onUpdate:value"?: ((value: IImageItem[]) => any) | undefined;
15
+ }, {
16
+ value: IImageItem[];
17
+ }, {}>;
18
+ export default _default;
19
+ type __VLS_WithDefaults<P, D> = {
20
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
21
+ default: D[K];
22
+ }> : P[K];
23
+ };
24
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
25
+ type __VLS_TypePropsToOption<T> = {
26
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
27
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
28
+ } : {
29
+ type: import('vue').PropType<T[K]>;
30
+ required: true;
31
+ };
32
+ };
33
+ type __VLS_PrettifyLocal<T> = {
34
+ [K in keyof T]: T[K];
35
+ } & {};
@@ -0,0 +1,43 @@
1
+ /** 上传方式枚举 */
2
+ export type ImageUploadMethod = "camera" | "album" | "wechat";
3
+ /** 单张图片的数据结构 */
4
+ export interface IImageItem {
5
+ /** 后端文件 id(来自 postUploadAnswerFile) */
6
+ id: string;
7
+ /** 资源 url */
8
+ url: string;
9
+ /** 文件名 */
10
+ name: string;
11
+ /** 文件大小(字节) */
12
+ size: number;
13
+ /** 水印:纬度(开启图片水印防作假时记录) */
14
+ latitude?: number;
15
+ /** 水印:经度 */
16
+ longitude?: number;
17
+ /** 水印:地址文本 */
18
+ address?: string;
19
+ /** 水印:上传人(昵称) */
20
+ nickname?: string;
21
+ /** 水印:上传时间(毫秒时间戳) */
22
+ uploadTime?: number;
23
+ /** 上传方式 */
24
+ uploadMethod?: ImageUploadMethod;
25
+ }
26
+ /** 组件 attrs 类型 */
27
+ export interface TImageAttrs {
28
+ title: string;
29
+ desc: string;
30
+ required: boolean;
31
+ /** 最大上传数量,默认 20 */
32
+ maxCount: number;
33
+ /** 启用的上传方式,默认全部勾选 */
34
+ uploadMethods: ImageUploadMethod[];
35
+ /** 图片水印防作假:开启后上传时记录时间/地点/上传人 */
36
+ watermark: boolean;
37
+ /** 落地页左下角水印:开启后渲染时在每张图左下角叠加信息 */
38
+ showWatermarkOnRender: boolean;
39
+ /** 单图最大体积(字节),默认 10MB */
40
+ maxSize: number;
41
+ }
42
+ export declare const imageAttrs: TImageAttrs;
43
+ export declare const imageInfo: WidgetInfo;
@@ -27,9 +27,9 @@ declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_T
27
27
  "onUpdate:modelValue"?: ((value: IBasicSelectValue | undefined) => any) | undefined;
28
28
  }, {
29
29
  error: boolean;
30
+ options: IBasicSelectOption[];
30
31
  disabled: boolean;
31
32
  placeholder: string;
32
- options: IBasicSelectOption[];
33
33
  random: boolean;
34
34
  }, {}>;
35
35
  export default _default;
@@ -1 +1 @@
1
- "use strict";const e=require("./main-S-TAkKF1.cjs"),V=t=>(e.pushScopeId("data-v-274736c6"),t=t(),e.popScopeId(),t),C=V(()=>e.createBaseVNode("div",{class:"upgrade-title"},[e.createBaseVNode("span",{class:"icon iconfont icon-form-circle-notice"}),e.createTextVNode("提示")],-1)),w={class:"upgrade-container"},b={class:"dialog-upgrade-footer"},I=e.defineComponent({__name:"VipDialog",props:{type:{},name:{},confirmEvent:{}},emits:["closed"],setup(t,{emit:n}){const o=t,s=e.ref(!1),a=()=>{s.value=!0},d=()=>{s.value=!1};e.onMounted(a);const v=()=>{o.confirmEvent&&e.globalInject.postCollection(o.confirmEvent),d(),e.globalInject.showBuyVipDialog({level:o.type})};return(i,r)=>(e.openBlock(),e.createBlock(e.unref(e.ElDialog),{width:"480",modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=p=>s.value=p),"align-center":"",onClosed:r[1]||(r[1]=p=>i.$emit("closed"))},{header:e.withCtx(()=>[C]),footer:e.withCtx(()=>[e.createBaseVNode("div",b,[e.createVNode(e.unref(e.ElButton),{class:"button",plain:!0,onClick:d},{default:e.withCtx(()=>[e.createTextVNode(" 取消 ")]),_:1}),e.createBaseVNode("div",{class:"origin-button button",onClick:v}," 去升级 ")])]),default:e.withCtx(()=>[e.createBaseVNode("div",w,"该功能为"+e.toDisplayString(i.name)+"尊享,您当前的会员等级尚不满足",1)]),_:1},8,["modelValue"]))}}),N=e._export_sfc(I,[["__scopeId","data-v-274736c6"]]),B=["src"],E=e.defineComponent({__name:"ImagePreview",props:{url:{}},setup(t){const n=e.ref(!1),o=()=>{n.value=!0};return e.onMounted(o),(s,a)=>(e.openBlock(),e.createBlock(e.unref(e.ElDialog),{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=d=>n.value=d),"align-center":"",class:"form-img-preview","show-close":!1,onClosed:a[1]||(a[1]=d=>s.$emit("closed"))},{default:e.withCtx(()=>[e.createBaseVNode("img",{src:s.url,alt:"Preview Image",style:{width:"100%"}},null,8,B)]),_:1},8,["modelValue"]))}}),k=e._export_sfc(E,[["__scopeId","data-v-b2fd2af4"]]),m=t=>(e.pushScopeId("data-v-8a34b329"),t=t(),e.popScopeId(),t),$={class:"upgrade-title"},P=m(()=>e.createBaseVNode("div",null,[e.createTextVNode(" 在线预约"),e.createBaseVNode("span",{class:"high-vip"},"高级版及以上会员专享")],-1)),S={class:"upgrade-container"},x=m(()=>e.createBaseVNode("div",{class:"content"},"在线预约支持不同的预约项目设置不同的预约时间和名额,可以满足例如:课程、服务项目、场地等不同业务的预约需求",-1)),D=m(()=>e.createBaseVNode("div",{class:"desc"},"在线预约为高级版及以上会员专享功能,普通版与初级版会员有一次七天试用机会 ~",-1)),y=["src"],M={key:0,class:"dialog-upgrade-footer"},U={key:1,class:"dialog-upgrade-footer"},A=m(()=>e.createBaseVNode("div",{class:"finish-tip"},"已完成七天试用,直接升级解锁预约功能 →",-1)),F=e.defineComponent({__name:"AppointDialog",props:{type:{},name:{},confirmEvent:{},probStatus:{},callback:{type:Function}},emits:["closed"],setup(t,{emit:n}){const o=t,s=n,a=e.ref(!1),d=()=>{a.value=!0},v=()=>{a.value=!1};e.onMounted(d);const i=()=>{o.confirmEvent&&e.globalInject.postCollection(o.confirmEvent),v(),e.globalInject.showBuyVipDialog({level:o.type})},r=c=>{const l=new Date(c*1e3),u=l.getFullYear(),_=String(l.getMonth()+1).padStart(2,"0"),h=String(l.getDate()).padStart(2,"0");return`${u}年${_}月${h}日`},p=async()=>{let c=await e.getAppointmentTempUse("1");if(console.log(c,"getAppointmentTempUse1"),c.status){o.callback(c.end_time);let l=`您已开启预约功能七天试用,试用将在${r(c.end_time)}结束`;e.ElMessage.success(l)}s("closed")};return(c,l)=>(e.openBlock(),e.createBlock(e.unref(e.ElDialog),{width:"660",modelValue:a.value,"onUpdate:modelValue":l[1]||(l[1]=u=>a.value=u),"show-close":!1,style:{"padding-left":"24px","padding-right":"24px","border-radius":"4px"},onClosed:l[2]||(l[2]=u=>c.$emit("closed"))},{header:e.withCtx(()=>[e.createBaseVNode("div",$,[P,e.createVNode(e.unref(e.ElIcon),{class:"colse-icon",onClick:l[0]||(l[0]=u=>c.$emit("closed"))},{default:e.withCtx(()=>[e.createVNode(e.unref(e.close_default))]),_:1})])]),footer:e.withCtx(()=>[o.probStatus===0?(e.openBlock(),e.createElementBlock("div",M,[e.createVNode(e.unref(e.ElPopover),{placement:"top",width:320,trigger:"hover",content:"七天试用期内您可以试用预约所有功能,包括编辑, 设置、发布、填写与数据处理,点击即可开启~"},{reference:e.withCtx(()=>[e.createVNode(e.unref(e.ElButton),{class:"button",plain:!0,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(" 开启七天试用 ")]),_:1})]),_:1}),e.createBaseVNode("div",{class:"button origin-button",onClick:i}," 直接升级 ")])):e.createCommentVNode("",!0),o.probStatus===2?(e.openBlock(),e.createElementBlock("div",U,[A,e.createBaseVNode("div",{class:"button origin-button",onClick:i}," 直接升级 ")])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createBaseVNode("div",S,[x,D,e.createBaseVNode("img",{class:"img",src:e.unref(e.getImageUrl)("images/widget/appoint-probat.png"),alt:"",srcset:""},null,8,y)])]),_:1},8,["modelValue"]))}}),O=e._export_sfc(F,[["__scopeId","data-v-8a34b329"]]);var f=(t=>(t[t.OldVIP=12]="OldVIP",t[t.OldSVIP=13]="OldSVIP",t[t.OldCVIP=14]="OldCVIP",t[t.VIP=52]="VIP",t[t.SVIP=53]="SVIP",t[t.CVIP=54]="CVIP",t))(f||{});const g={52:"初级版及以上会员",53:"高级版及以上会员",54:"企业版会员"};function q(t=52,n){const o=document.createElement("div"),s=()=>{e.render(null,o),o.remove()},a=e.h(e.ElConfigProvider,{namespace:"bmwfr"},()=>e.h(N,{type:t,name:`${g[t]}`,confirmEvent:n,onClosed:s}));document.body.appendChild(o),e.render(a,o)}function Y(t){const n=document.createElement("div"),o=()=>{e.render(null,n),n.remove()},s=e.h(e.ElConfigProvider,{namespace:"bmwfr"},()=>e.h(k,{url:t,onClosed:o}));document.body.appendChild(n),e.render(s,n)}function j(t){const n=document.createElement("div"),o=()=>{e.render(null,n),n.remove()},s=e.h(e.ElConfigProvider,{namespace:"bmwfr"},()=>e.h(O,{type:t.type||53,probStatus:t.probStatus,name:`${g[t.type||53]}`,callback:t.callback||function(){},confirmEvent:t.confirmEvent,onClosed:o}));document.body.appendChild(n),e.render(s,n)}exports.VipType=f;exports.useAppointDialog=j;exports.useImgModel=Y;exports.useVipModel=q;
1
+ "use strict";const e=require("./main-BJ5jMLtY.cjs"),V=t=>(e.pushScopeId("data-v-274736c6"),t=t(),e.popScopeId(),t),C=V(()=>e.createBaseVNode("div",{class:"upgrade-title"},[e.createBaseVNode("span",{class:"icon iconfont icon-form-circle-notice"}),e.createTextVNode("提示")],-1)),w={class:"upgrade-container"},b={class:"dialog-upgrade-footer"},I=e.defineComponent({__name:"VipDialog",props:{type:{},name:{},confirmEvent:{}},emits:["closed"],setup(t,{emit:n}){const o=t,s=e.ref(!1),a=()=>{s.value=!0},d=()=>{s.value=!1};e.onMounted(a);const v=()=>{o.confirmEvent&&e.globalInject.postCollection(o.confirmEvent),d(),e.globalInject.showBuyVipDialog({level:o.type})};return(i,r)=>(e.openBlock(),e.createBlock(e.unref(e.ElDialog),{width:"480",modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=p=>s.value=p),"align-center":"",onClosed:r[1]||(r[1]=p=>i.$emit("closed"))},{header:e.withCtx(()=>[C]),footer:e.withCtx(()=>[e.createBaseVNode("div",b,[e.createVNode(e.unref(e.ElButton),{class:"button",plain:!0,onClick:d},{default:e.withCtx(()=>[e.createTextVNode(" 取消 ")]),_:1}),e.createBaseVNode("div",{class:"origin-button button",onClick:v}," 去升级 ")])]),default:e.withCtx(()=>[e.createBaseVNode("div",w,"该功能为"+e.toDisplayString(i.name)+"尊享,您当前的会员等级尚不满足",1)]),_:1},8,["modelValue"]))}}),N=e._export_sfc(I,[["__scopeId","data-v-274736c6"]]),B=["src"],E=e.defineComponent({__name:"ImagePreview",props:{url:{}},setup(t){const n=e.ref(!1),o=()=>{n.value=!0};return e.onMounted(o),(s,a)=>(e.openBlock(),e.createBlock(e.unref(e.ElDialog),{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=d=>n.value=d),"align-center":"",class:"form-img-preview","show-close":!1,onClosed:a[1]||(a[1]=d=>s.$emit("closed"))},{default:e.withCtx(()=>[e.createBaseVNode("img",{src:s.url,alt:"Preview Image",style:{width:"100%"}},null,8,B)]),_:1},8,["modelValue"]))}}),k=e._export_sfc(E,[["__scopeId","data-v-b2fd2af4"]]),m=t=>(e.pushScopeId("data-v-8a34b329"),t=t(),e.popScopeId(),t),$={class:"upgrade-title"},P=m(()=>e.createBaseVNode("div",null,[e.createTextVNode(" 在线预约"),e.createBaseVNode("span",{class:"high-vip"},"高级版及以上会员专享")],-1)),S={class:"upgrade-container"},x=m(()=>e.createBaseVNode("div",{class:"content"},"在线预约支持不同的预约项目设置不同的预约时间和名额,可以满足例如:课程、服务项目、场地等不同业务的预约需求",-1)),D=m(()=>e.createBaseVNode("div",{class:"desc"},"在线预约为高级版及以上会员专享功能,普通版与初级版会员有一次七天试用机会 ~",-1)),y=["src"],M={key:0,class:"dialog-upgrade-footer"},U={key:1,class:"dialog-upgrade-footer"},A=m(()=>e.createBaseVNode("div",{class:"finish-tip"},"已完成七天试用,直接升级解锁预约功能 →",-1)),F=e.defineComponent({__name:"AppointDialog",props:{type:{},name:{},confirmEvent:{},probStatus:{},callback:{type:Function}},emits:["closed"],setup(t,{emit:n}){const o=t,s=n,a=e.ref(!1),d=()=>{a.value=!0},v=()=>{a.value=!1};e.onMounted(d);const i=()=>{o.confirmEvent&&e.globalInject.postCollection(o.confirmEvent),v(),e.globalInject.showBuyVipDialog({level:o.type})},r=c=>{const l=new Date(c*1e3),u=l.getFullYear(),_=String(l.getMonth()+1).padStart(2,"0"),h=String(l.getDate()).padStart(2,"0");return`${u}年${_}月${h}日`},p=async()=>{let c=await e.getAppointmentTempUse("1");if(console.log(c,"getAppointmentTempUse1"),c.status){o.callback(c.end_time);let l=`您已开启预约功能七天试用,试用将在${r(c.end_time)}结束`;e.ElMessage.success(l)}s("closed")};return(c,l)=>(e.openBlock(),e.createBlock(e.unref(e.ElDialog),{width:"660",modelValue:a.value,"onUpdate:modelValue":l[1]||(l[1]=u=>a.value=u),"show-close":!1,style:{"padding-left":"24px","padding-right":"24px","border-radius":"4px"},onClosed:l[2]||(l[2]=u=>c.$emit("closed"))},{header:e.withCtx(()=>[e.createBaseVNode("div",$,[P,e.createVNode(e.unref(e.ElIcon),{class:"colse-icon",onClick:l[0]||(l[0]=u=>c.$emit("closed"))},{default:e.withCtx(()=>[e.createVNode(e.unref(e.close_default))]),_:1})])]),footer:e.withCtx(()=>[o.probStatus===0?(e.openBlock(),e.createElementBlock("div",M,[e.createVNode(e.unref(e.ElPopover),{placement:"top",width:320,trigger:"hover",content:"七天试用期内您可以试用预约所有功能,包括编辑, 设置、发布、填写与数据处理,点击即可开启~"},{reference:e.withCtx(()=>[e.createVNode(e.unref(e.ElButton),{class:"button",plain:!0,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(" 开启七天试用 ")]),_:1})]),_:1}),e.createBaseVNode("div",{class:"button origin-button",onClick:i}," 直接升级 ")])):e.createCommentVNode("",!0),o.probStatus===2?(e.openBlock(),e.createElementBlock("div",U,[A,e.createBaseVNode("div",{class:"button origin-button",onClick:i}," 直接升级 ")])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createBaseVNode("div",S,[x,D,e.createBaseVNode("img",{class:"img",src:e.unref(e.getImageUrl)("images/widget/appoint-probat.png"),alt:"",srcset:""},null,8,y)])]),_:1},8,["modelValue"]))}}),O=e._export_sfc(F,[["__scopeId","data-v-8a34b329"]]);var f=(t=>(t[t.OldVIP=12]="OldVIP",t[t.OldSVIP=13]="OldSVIP",t[t.OldCVIP=14]="OldCVIP",t[t.VIP=52]="VIP",t[t.SVIP=53]="SVIP",t[t.CVIP=54]="CVIP",t))(f||{});const g={52:"初级版及以上会员",53:"高级版及以上会员",54:"企业版会员"};function q(t=52,n){const o=document.createElement("div"),s=()=>{e.render(null,o),o.remove()},a=e.h(e.ElConfigProvider,{namespace:"bmwfr"},()=>e.h(N,{type:t,name:`${g[t]}`,confirmEvent:n,onClosed:s}));document.body.appendChild(o),e.render(a,o)}function Y(t){const n=document.createElement("div"),o=()=>{e.render(null,n),n.remove()},s=e.h(e.ElConfigProvider,{namespace:"bmwfr"},()=>e.h(k,{url:t,onClosed:o}));document.body.appendChild(n),e.render(s,n)}function j(t){const n=document.createElement("div"),o=()=>{e.render(null,n),n.remove()},s=e.h(e.ElConfigProvider,{namespace:"bmwfr"},()=>e.h(O,{type:t.type||53,probStatus:t.probStatus,name:`${g[t.type||53]}`,callback:t.callback||function(){},confirmEvent:t.confirmEvent,onClosed:o}));document.body.appendChild(n),e.render(s,n)}exports.VipType=f;exports.useAppointDialog=j;exports.useImgModel=Y;exports.useVipModel=q;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const gt=require("./main-S-TAkKF1.cjs");var zn={exports:{}};/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const gt=require("./main-BJ5jMLtY.cjs");var zn={exports:{}};/*!
2
2
  * Quill Editor v1.3.7
3
3
  * https://quilljs.com/
4
4
  * Copyright (c) 2014, Jason Chen
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bmw-form-render",
3
3
  "private": false,
4
- "version": "0.0.317",
4
+ "version": "0.0.319",
5
5
  "type": "module",
6
6
  "main": "dist/bmw-form-render.cjs",
7
7
  "types": "dist/types/main.d.ts",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-S-TAkKF1.cjs"),t=require("./index-4COV7dz7.cjs"),n=require("./OptionRandom.vue_vue_type_script_setup_true_lang-PSs5kW8L.cjs"),r=require("./ImportantOption.vue_vue_type_script_setup_true_lang-C2R2isCI.cjs"),_=e.defineComponent({__name:"BasicSelectSetting",setup(c){return(o,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(t.TitleRow),null,{default:e.withCtx(()=>[e.createTextVNode("选项设置")]),_:1}),e.createVNode(n._sfc_main),e.createVNode(r._sfc_main)],64))}});exports.default=_;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-S-TAkKF1.cjs"),_=require("./index-4COV7dz7.cjs"),n=require("./ColumnNumOption.vue_vue_type_script_setup_true_lang-Ro2dKzdy.cjs"),r=require("./CheckboxRange.vue_vue_type_script_setup_true_lang-CUFCdxNf.cjs"),o=require("./OptionRandom.vue_vue_type_script_setup_true_lang-PSs5kW8L.cjs"),u=require("./ImportantOption.vue_vue_type_script_setup_true_lang-C2R2isCI.cjs"),t=require("./ViewVoteRate-E32nJEW8.cjs"),c=require("./ChooseInput-ox8w5sgC.cjs"),i=e.defineComponent({__name:"CheckboxSetting",setup(a){return(s,p)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(_.TitleRow),null,{default:e.withCtx(()=>[e.createTextVNode("选项设置")]),_:1}),e.createVNode(n._sfc_main),e.createVNode(r._sfc_main),e.createVNode(o._sfc_main),e.createVNode(c.ChooseInput),e.createVNode(t.OptionTips),e.createVNode(t._sfc_main),e.createVNode(u._sfc_main)]))}});exports.default=i;
@@ -1 +0,0 @@
1
- "use strict";const e=require("./main-S-TAkKF1.cjs");require("./index-4COV7dz7.cjs");const b=require("./ViewVoteRate-E32nJEW8.cjs"),r=d=>(e.pushScopeId("data-v-02849420"),d=d(),e.popScopeId(),d),C={slot:"title"},g={class:"title-view flex flex-row items-center justify-between"},N=r(()=>e.createBaseVNode("span",{class:"section-title dialog-title"},"选项后加入输入框",-1)),B={class:"flex justify-end items-center"},I={class:"cursor-pointer flex items-center justify-center w-7.5 h-7.5 rounded-full hover:bg-normal-eee"},y=r(()=>e.createBaseVNode("div",{class:"tips-text"},"添加后,在编辑器可以直接看到哪些选项添加了输入框,表单填写页面在选中选项后会出现输入框",-1)),E={class:"table-Container"},S=r(()=>e.createBaseVNode("div",{class:"table-title"},"选项",-1)),k={style:{display:"flex",gap:"4px"}},q=r(()=>e.createBaseVNode("span",{class:"table-title"},"占位符(最多输入18个字符)",-1)),T=r(()=>e.createBaseVNode("div",{class:"table-title"},"设置必填",-1)),P=e.defineComponent({__name:"ChooseInput",setup(d){const h=e.getSceneType();e.inject("widgetStore");const o=e.ref(!1),u=e.ref(),i=e.ref([]),c=e.computed({get:()=>(e.activeWidgetAttrs.value.list.filter(t=>t.type!="other")??[]).map(t=>({...t,hasInput:t.hasInput??!1,inputPlaceholder:t.inputPlaceholder??null,required:t.required??!1}))}),f=()=>{o.value=!0};e.watch(o,()=>{e.nextTick(()=>{u.value&&o.value&&c.value.map(l=>{u.value.toggleRowSelection(l,l.hasInput)})})});const v=l=>{i.value=l},m=({row:l})=>i.value.some(t=>t.value==l.value)?"selected-row":"",p=l=>!i.value.some(t=>t.value==l.value),V=e.computed({get:()=>e.activeWidgetAttrs.value.list.some(l=>l.hasInput)}),_=()=>{const l=e.cloneDeep$1(e.activeWidgetAttrs.value.list);c.value.map(t=>{t.hasInput=i.value.some(s=>s.value==t.value)}),l.forEach(t=>{const s=c.value.find(a=>a.value==t.value);s&&Object.assign(t,s)}),e.setWidgetAttrs({attr:"list",value:l}),o.value=!1},w=()=>{const l=e.cloneDeep$1(e.activeWidgetAttrs.value.list);e.setWidgetAttrs({attr:"list",value:l}),o.value=!1},x=(l,t)=>{l.length>18&&(l=l.slice(0,18)),t.row.inputPlaceholder=l};return(l,t)=>{const s=e.resolveComponent("icon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(h)!=3?(e.openBlock(),e.createBlock(e.unref(b.SettingRow),{key:0,onOpenDialog:f,label:"选项后加入输入框",disabled:!1,hasSetted:V.value},null,8,["hasSetted"])):e.createCommentVNode("",!0),e.createVNode(e.unref(e.ElDialog),{modelValue:o.value,"onUpdate:modelValue":t[1]||(t[1]=a=>o.value=a),width:"600px","show-close":!1,class:"custom-dialog"},{footer:e.withCtx(()=>[e.createBaseVNode("div",null,[e.createVNode(e.unref(e.ElButton),{class:"button",onClick:w},{default:e.withCtx(()=>[e.createTextVNode(" 取消 ")]),_:1}),e.createVNode(e.unref(e.ElButton),{class:"button",type:"primary",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1})])]),default:e.withCtx(()=>[e.createBaseVNode("div",C,[e.createBaseVNode("div",g,[N,e.createBaseVNode("div",B,[e.createBaseVNode("div",I,[e.createBaseVNode("i",{onClick:t[0]||(t[0]=a=>o.value=!1),class:"el-icon-close text-normal-gray text-xl"})])])])]),y,e.createBaseVNode("div",E,[e.createVNode(e.unref(e.ElTable),{"header-row-class-name":"header-container",border:"",ref_key:"tableRef",ref:u,data:c.value,onSelectionChange:v,"row-class-name":m},{default:e.withCtx(()=>[e.createVNode(e.unref(e.ElTableColumn),{type:"selection",width:"55px"}),e.createVNode(e.unref(e.ElTableColumn),{label:"选项",prop:"label",width:"118px"},{header:e.withCtx(()=>[S]),_:1}),e.createVNode(e.unref(e.ElTableColumn),{label:"占位符",prop:"inputPlaceholder",width:"287px"},{header:e.withCtx(()=>[e.createBaseVNode("div",k,[q,e.createVNode(e.unref(e.ElPopover),{placement:"bottom",title:"关于占位符",trigger:"hover",width:"350px",content:"用于提示填写者在输入框输入的内容和格式,当填写者填写内容时,占位符内容自动消失"},{reference:e.withCtx(()=>[e.createVNode(s,{style:{"font-size":"16px",cursor:"pointer","font-weight":"400"},type:"question"})]),_:1})])]),default:e.withCtx(a=>[e.createVNode(e.unref(e.ElInput),{modelValue:a.row.inputPlaceholder,"onUpdate:modelValue":n=>a.row.inputPlaceholder=n,onInput:n=>x(n,a),placeholder:"请输入补充信息",disabled:p(a.row)},null,8,["modelValue","onUpdate:modelValue","onInput","disabled"])]),_:1}),e.createVNode(e.unref(e.ElTableColumn),{label:"设置必填",prop:"required"},{header:e.withCtx(()=>[T]),default:e.withCtx(a=>[e.createVNode(e.unref(e.ElSwitch),{modelValue:a.row.required,"onUpdate:modelValue":n=>a.row.required=n,disabled:p(a.row)},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1})]),_:1},8,["data"])])]),_:1},8,["modelValue"])],64)}}}),A=e._export_sfc(P,[["__scopeId","data-v-02849420"]]);exports.ChooseInput=A;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-S-TAkKF1.cjs"),n=require("./index-4COV7dz7.cjs"),t=require("./ViewVoteRate-E32nJEW8.cjs"),o=e.defineComponent({__name:"ImgRadioSetting",setup(r){return(i,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(n.TitleRow),null,{default:e.withCtx(()=>[e.createTextVNode("选项设置")]),_:1}),e.createVNode(t.OptionTips),e.createVNode(t._sfc_main)]))}});exports.default=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-S-TAkKF1.cjs"),n=require("./index-4COV7dz7.cjs"),o=require("./ColumnNumOption.vue_vue_type_script_setup_true_lang-Ro2dKzdy.cjs"),r=require("./ChooseInput-ox8w5sgC.cjs"),_=require("./OptionRandom.vue_vue_type_script_setup_true_lang-PSs5kW8L.cjs"),u=require("./ImportantOption.vue_vue_type_script_setup_true_lang-C2R2isCI.cjs"),t=require("./ViewVoteRate-E32nJEW8.cjs"),c=e.defineComponent({__name:"RadioSetting",setup(i){return(a,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(n.TitleRow),null,{default:e.withCtx(()=>[e.createTextVNode("选项设置")]),_:1}),e.createVNode(o._sfc_main),e.createVNode(_._sfc_main),e.createVNode(r.ChooseInput),e.createVNode(t.OptionTips),e.createVNode(t._sfc_main),e.createVNode(u._sfc_main)]))}});exports.default=c;