shenwu 6 months ago
parent
commit
da5dbe6be0
2 changed files with 63 additions and 186 deletions
  1. 52 184
      src/pages/MiniApp/AdBack/formConfig.tsx
  2. 11 2
      src/pages/MiniApp/AdBack/index.tsx

+ 52 - 184
src/pages/MiniApp/AdBack/formConfig.tsx

@@ -61,7 +61,6 @@ function formConfig(): ProFormColumnsType<{
             valueType: 'dependency',
             valueType: 'dependency',
             name: ["backUnit"],
             name: ["backUnit"],
             columns({ backUnit }) {
             columns({ backUnit }) {
-                console.log("backUnit", backUnit)
                 return [
                 return [
                     {
                     {
                         valueType: 'divider',
                         valueType: 'divider',
@@ -77,6 +76,7 @@ function formConfig(): ProFormColumnsType<{
                             creatorButtonProps: {
                             creatorButtonProps: {
                                 creatorButtonText: "添加一个档位配置",
                                 creatorButtonText: "添加一个档位配置",
                             },
                             },
+                            alwaysShowItemLabel: true,//全部展示title
                         },
                         },
                         colProps: {
                         colProps: {
                             span: 24
                             span: 24
@@ -129,11 +129,11 @@ function formConfig(): ProFormColumnsType<{
                                         },
                                         },
                                     },
                                     },
                                     {
                                     {
-                                        dataIndex: 'type',
+                                        dataIndex: 'backType',
                                         valueType: 'radioButton',
                                         valueType: 'radioButton',
                                         title: "回传方式",
                                         title: "回传方式",
-                                        colProps: { span: 7 },
-                                        initialValue: "2",
+                                        colProps: { span: 5, offset: 1 },
+                                        initialValue: 1,
                                         formItemProps: {
                                         formItemProps: {
                                             style: { marginBottom: 10 },
                                             style: { marginBottom: 10 },
                                             rules: [
                                             rules: [
@@ -143,15 +143,57 @@ function formConfig(): ProFormColumnsType<{
                                                 },
                                                 },
                                             ],
                                             ],
                                         },
                                         },
-                                        valueEnum: {1:{text:"比例"},2:{text:"概率"}},
+                                        valueEnum: new Map(["比例", "概率"]?.map((text, index) => [index, text])),
                                     },
                                     },
                                     {
                                     {
-                                        valueType:"dependency",
-                                        name:["type"],
+                                        valueType: "dependency",
+                                        name: ["backType"],
                                         columns(values) {
                                         columns(values) {
-                                            console.log(values)
-                                            let {type} = values
-                                            return []
+                                            let { backType } = values
+                                            return [
+                                                {
+                                                    valueType: 'digitRange',
+                                                    dataIndex: 'backRate',
+                                                    title: "回传比例",
+                                                    colProps: { span: 7 },
+                                                    preserve:false,
+                                                    convertValue: (value) => {
+                                                        return typeof value === "string" ? value?.split(":") : Array.isArray(value) ? value : []
+                                                    },
+                                                    hideInForm: backType === 1,
+                                                    formItemProps: {
+                                                        style: { marginBottom: 10 },
+                                                        rules: [
+                                                            {
+                                                                required: true,
+                                                                message: '此项为必填项',
+                                                            },
+                                                        ],
+                                                    },
+                                                    valueEnum: getEnum("CALLBACK_TYPE", "map")
+                                                },
+                                                {
+                                                    valueType: 'select',
+                                                    dataIndex: "backRate",
+                                                    title: "回传概率",
+                                                    colProps: { span: 7 },
+                                                    preserve:false,
+                                                    hideInForm: backType !== 1,
+                                                    convertValue: (value) => {
+                                                        return typeof value === "number" ? value : 0
+                                                    },
+                                                    formItemProps: {
+                                                        style: { marginBottom: 10 },
+                                                        rules: [
+                                                            {
+                                                                required: true,
+                                                                message: '此项为必填项',
+                                                            },
+                                                        ],
+                                                    },
+                                                    valueEnum: new Map([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]?.map((text) => [text * 10, text * 10 + "%"]))
+                                                },
+                                            ]
                                         },
                                         },
                                     }
                                     }
                                 ]
                                 ]
@@ -161,180 +203,6 @@ function formConfig(): ProFormColumnsType<{
                 ]
                 ]
             },
             },
         },
         },
-
-
-        // {
-        //     title: '付费方式',
-        //     dataIndex: 'paymentType',
-        //     valueType: 'radio',
-        //     fieldProps: {
-        //         onChange: (e) => {
-        //             let value = e.target.value
-        //             paymentType[1](value)
-        //         }
-        //     },
-        //     formItemProps: {
-        //         style: { marginBottom: 10 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        //     valueEnum: () => {
-        //         let arr = enumList?.PAYMENT_TYPE?.values
-        //         return new Map(arr?.map(({ value, description }: any) => [value, description]))
-        //     }
-        // },
-        // {
-        //     title: '收费类型',
-        //     dataIndex: 'paymentOption',
-        //     valueType: 'radio',
-        //     formItemProps: {
-        //         style: { marginBottom: 10 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        //     hideInForm: paymentType[0] != 2,
-        //     valueEnum: () => {
-        //         let arr = enumList?.PAYMENT_OPTION?.values
-        //         return new Map(arr?.map(({ value, description }: any) => [value, description]))
-        //     }
-        // },
-        // {
-        //     title: '收费货币',
-        //     dataIndex: 'paymentCategory',
-        //     valueType: 'radio',
-        //     fieldProps: {
-        //         onChange: (e) => {
-        //             let value = e.target.value
-        //             paymentCategory[1](value)
-        //         },
-        //     },
-        //     formItemProps: {
-        //         style: { marginBottom: 10 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        //     hideInForm: paymentType[0] == 0,
-        //     valueEnum: () => {
-        //         let arr = [{ value: 0, description: "现金" }, { value: 1, description: "书币" }]
-        //         return new Map(arr?.map(({ value, description }: any) => [value, description]))
-        //     }
-        // },
-        // {//单本
-        //     title: '付费起始段落',
-        //     dataIndex: 'beginPayParagraphNo',
-        //     valueType: 'select',
-        //     fieldProps: {
-        //         showSearch: true, placeholder: '请选择开始收费段落'
-        //     },
-        //     formItemProps: {
-        //         style: { marginBottom: 15 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        //     hideInForm: paymentType[0] === 0 || isGlobalConfig,//单本书
-        //     valueEnum: () => {
-        //         return new Map(paragraphList?.map(item => [item.paragraphNo, item.content]))
-        //     }
-        // },
-        // {//全局
-        //     title: '付费起始段落',
-        //     dataIndex: 'beginPayNo',
-        //     valueType: 'digit',
-        //     fieldProps: {
-        //         placeholder: '请输入收费段落'
-        //     },
-        //     width: 200,
-        //     formItemProps: {
-        //         style: { marginBottom: 15 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        //     hideInForm: paymentType[0] != 2 || !isGlobalConfig,//单本书
-        // },
-        // {
-        //     title: 'VIP阅读',
-        //     dataIndex: 'vipFree',
-        //     valueType: 'segmented',
-        //     formItemProps: {
-        //         style: { marginBottom: 15 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        //     hideInForm: paymentType[0] == 0 || isGlobalConfig,
-        //     valueEnum: () => {
-        //         let arr = enumList?.VIP_FREE?.values
-        //         return new Map(arr?.map(({ value, description }: any) => [value, description]))
-        //     }
-        // },
-        // {
-        //     title: '收费金额',
-        //     dataIndex: 'paymentAmount',
-        //     valueType: 'money',
-        //     hideInForm: paymentType[0] === 0 || paymentCategory[0] == 1,
-        //     fieldProps: {
-        //         addonAfter: "元",
-        //     },
-        //     formItemProps: {
-        //         style: { marginBottom: 15 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        // },
-        // {
-        //     title: '收费书币',
-        //     dataIndex: 'paymentCoin',
-        //     valueType: 'digit',
-        //     hideInForm: paymentType[0] === 0 || paymentCategory[0] == 0,
-        //     fieldProps: {
-        //         addonAfter: "书币"
-        //     },
-        //     formItemProps: {
-        //         style: { marginBottom: 15 },
-        //         rules: [
-        //             {
-        //                 required: true,
-        //                 message: '此项为必填项',
-        //             },
-        //         ],
-        //     },
-        // },
-        // {
-        //     title: '备注',
-        //     dataIndex: 'remark',
-        //     valueType: 'textarea',
-        //     hideInForm: isGlobalConfig,
-        //     formItemProps: {
-        //         style: { marginBottom: 15 },
-        //     },
-        // }
     ]
     ]
 }
 }
 
 

+ 11 - 2
src/pages/MiniApp/AdBack/index.tsx

@@ -39,7 +39,17 @@ function Auth() {
     }
     }
     // submit
     // submit
     const submit = async (values: any) => {
     const submit = async (values: any) => {
-        console.log("values",values)
+        // 遍历 firstBackRate 数组,并将 backRate 转换为字符串
+        if (values.firstBackRate) {
+            values.firstBackRate = values.firstBackRate.map((item: any) => {
+                if (Array.isArray(item.backRate)) {
+                    item.backRate = item.backRate.join(":"); // 转换数组为 'min:max' 字符串
+                }
+                return item;
+            });
+        }
+        // 打印转换后的数据
+        console.log("处理后的表单数据: ", values);
     }
     }
     return <PageContainer
     return <PageContainer
         tabList={getEnum("ADVERTISING_CHANNEL", "arr")?.map((item: { label: any; key: any }, index: number) => {
         tabList={getEnum("ADVERTISING_CHANNEL", "arr")?.map((item: { label: any; key: any }, index: number) => {
@@ -124,7 +134,6 @@ function Auth() {
             modalProps={{
             modalProps={{
                 destroyOnClose:true
                 destroyOnClose:true
             }}
             }}
-        // loading={add?.loading || globaleAddOrEdit?.loading}
         />
         />
     </PageContainer>
     </PageContainer>
 }
 }