Sanakey
3 天以前 b5c1614fe473330ceca8b7cff0f1802e19bd5039
src/views/customer/components/drawerContacterFormData.tsx
@@ -217,209 +217,33 @@
  //   },
  // },
  {
    field: 'cluesFrom',
    component: 'ApiTreeSelect',
    label: '线索来源',
    componentProps: {
      api: treeOptionsListApi,
      treeCheckable: true,
      treeCheckStrictly: true, // 父子节点是否不再关联
      resultField: 'list',
      onChange: (e, v) => {
        console.log('ApiTreeSelect====>:', e, v);
      },
    },
    colProps: {
      span: 24,
    },
  },
  {
    field: 'abbreviation',
    field: 'position',
    component: 'Input',
    label: '简称',
    colProps: {
      span: 24,
    },
  },
  {
    field: 'field8',
    component: 'ApiCascader',
    label: '国家地区',
    colProps: {
      span: 16,
    },
    componentProps: {
      api: areaRecord,
      apiParamKey: 'parentCode',
      // dataField: 'data',
      labelField: 'name',
      valueField: 'code',
      initFetchParams: {
        parentCode: '',
      },
      isLeaf: (record) => {
        return !(record.levelType < 3);
      },
      onChange: (e, ...v) => {
        console.log('ApiCascader====>:', e, v);
      },
    },
  },
  // {
  //   field: 'field9',
  //   component: 'ApiCascader',
  //   label: '联动ApiCascader',
  //   required: true,
  //   colProps: {
  //     span: 8,
  //   },
  //   componentProps: {
  //     api: areaRecord,
  //     apiParamKey: 'parentCode',
  //     // dataField: 'data',
  //     labelField: 'name',
  //     valueField: 'code',
  //     initFetchParams: {
  //       parentCode: '',
  //     },
  //     isLeaf: (record) => {
  //       return !(record.levelType < 3);
  //     },
  //     onChange: (e, ...v) => {
  //       console.log('ApiCascader====>:', e, v);
  //     },
  //   },
  // },
  {
    field: 'field30',
    component: 'ApiSelect',
    label: '线索标签',
    // required: true,
    componentProps: {
      // more details see /src/components/Form/src/components/ApiSelect.vue
      api: optionsListApi,
      params: {
        id: 1,
      },
      mode: 'multiple',
      resultField: 'list',
      // use name as label
      labelField: 'name',
      // use id as value
      valueField: 'id',
      // not request untill to select
      immediate: true,
      onChange: (e, v) => {
        console.log('ApiSelect====>:', e, v);
      },
      // atfer request callback
      onOptionsChange: (options) => {
        // console.log('get options', options.length, options);
      },
    },
    colProps: {
      span: 16,
    },
    // defaultValue: '0',
  },
  {
    field: 'companyName',
    component: 'Input',
    label: '公司名称',
    label: '职位',
    colProps: {
      span: 16,
    },
  },
  {
    field: 'customerCode',
    component: 'Input',
    label: '客户代码(与生产单的客户代码一致)',
    field: 'remark',
    component: 'InputTextArea',
    label: '备注',
    colProps: {
      span: 24,
    },
  },
  {
    field: '',
    defaultValue: '',
    component: 'Input',
    // label: 'renderColContent渲染',
    /**!!!renderColContent 没有FormItem 包裹, 若想要 Form 提交需要带上数据须 <FormItem name={}></FormItem> 包裹: 示例如下*/
    renderColContent({model, field}, {disabled}) {
      return (
        <div class="font-size-16px mb-10px">其他</div>
      );
    },
    colProps: {
      span: 24,
    },
  },
  {
    component: 'Select',
    label: '公司类型',
    field: 'companyType',
    colProps: {span: 16},
    componentProps: {
      options: companyType,
    },
    // defaultValue: '1'
  },
  {
    component: 'Select',
    label: '采购意向',
    field: 'purchasingIntention',
    colProps: {span: 16},
    field: 'gender',
    component: 'RadioGroup',
    defaultValue: '0',
    label: '性别',
    componentProps: {
      options: [
        {
          label: '未知',
          value: '1',
        },
        {
          label: '低',
          value: '2',
        },
        {
          label: '中',
          value: '3',
        },
        {
          label: '高',
          value: '4',
        },
        {label: '不设置', value: '0'},
        {label: '男', value: '1'},
        {label: '女', value: '1'},
      ],
    },
  },
  {
    component: 'Select',
    label: '年采购额',
    field: 'annualPurchaseAmount',
    colProps: {span: 16},
    componentProps: {
      options: annualPurchaseAmount,
    },
  },
  {
    component: 'Select',
    label: '时区',
    field: 'timeZone',
    colProps: {span: 16},
    componentProps: {
      options: timeZone,
    },
  },
  {
    field: 'searchKeywords',
    component: 'Input',
    label: '搜索关键词',
    colProps: {
      span: 16,
    },
  },
  {
    field: 'detailedAddress',
    component: 'Input',
    label: '详细地址',
    colProps: {
      span: 24,
    },
@@ -427,7 +251,7 @@
  {
    field: 'image',
    component: 'ImageUpload',
    label: '上传图片',
    label: '图片',
    subLabel: '(单张图片最大3M,最多上传5张图片)',
    // required: true,
    defaultValue: [
@@ -455,245 +279,71 @@
    // ],
  },
  {
    field: 'cluesNotes',
    component: 'InputTextArea',
    label: '线索备注',
    colProps: {
      span: 24,
    },
  },
  {
    component: 'Select',
    label: '规模',
    field: 'numberOfPeople',
    colProps: {span: 16},
    field: 'birthday',
    label: '生日',
    component: 'DatePicker',
    componentProps: {
      options: [
        {
          label: '少于59人',
          value: '1',
        },
        {
          label: '60-149人',
          value: '2',
        },
        {
          label: '150-499人',
          value: '3',
        },
        {
          label: '500-999人',
          value: '4',
        },
        {
          label: '1000-4999人',
          value: '5',
        },
        {
          label: '5000人以上',
          value: '6',
        },
      ],
    },
  },
  {
    field: 'salesman',
    component: 'Input',
    label: '业务员',
    colProps: {
      span: 16,
    },
  },
  {
    component: 'Select',
    label: '访问来源',
    field: 'visitSource',
    colProps: {span: 24},
    componentProps: {
      options: [
        {
          label: '广告投放',
          value: '1',
        },
        {
          label: '自然流量',
          value: '2',
        },
        {
          label: '社交网站',
          value: '3',
        },
        {
          label: '直接访问',
          value: '4',
        },
        {
          label: '邮件',
          value: '5',
        },
        {
          label: '其他',
          value: '6',
        },
      ],
    },
  },
  {
    field: 'field12',
    component: 'ApiCascader',
    label: '主营产品',
    colProps: { span: 24 },
    componentProps: {
      api: areaRecord,
      apiParamKey: 'parentCode',
      showCheckedStrategy: 'SHOW_CHILD',
      labelField: 'name',
      valueField: 'code',
      multiple: true,
      initFetchParams: {
        parentCode: '',
      },
      isLeaf: (record) => {
        return !(record.levelType < 3);
      },
      onChange: (e, ...v) => {
        Logger.log('ApiCascader====> e:', e);
        Logger.log('ApiCascader====> v:', v);
      },
    },
  },
  {
    field: 'ipAddress',
    component: 'ApiSelect',
    label: '访客IP所在地',
    // required: true,
    componentProps: {
      // more details see /src/components/Form/src/components/ApiSelect.vue
      api: optionsListApi,
      params: {
        id: 1,
      },
      resultField: 'list',
      // use name as label
      labelField: 'name',
      // use id as value
      valueField: 'id',
      // not request untill to select
      immediate: true,
      onChange: (e, v) => {
        console.log('ApiSelect====>:', e, v);
      },
      // atfer request callback
      onOptionsChange: (options) => {
        // console.log('get options', options.length, options);
      },
    },
    colProps: {
      span: 20,
    },
    // defaultValue: '0',
  },
  {
    field: 'field1',
    component: 'RadioButtonGroup',
    componentProps: {
      options: [
        {label: 'Apple', value: 'Apple'},
        {label: 'Pear', value: 'Pear'},
        {label: 'Orange', value: 'Orange', disabled: true},
      ],
    },
    label: '',
    colProps: {
      span: 24,
    },
  },
  {
    field: 'field2',
    component: 'Checkbox',
    // suffix:'全天事件',
    subLabel: '',
    colProps: {
      span: 6,
    },
    renderComponentContent: '全天事件',
    // componentProps: {
    //   options: [
    //     {
    //       label: '全天事件',
    //       value: '1',
    //     }
    //   ],
    // },
  },
  {
    field: '[startDate, endDate]',
    label: '起止时间',
    component: 'RangePicker',
    componentProps: {
      style: 'width: 100%;',
      format: 'YYYY-MM-DD',
      placeholder: ['开始日期', '结束日期'],
    },
    colProps: {span: 16},
  },
  {
    component: 'Select',
    label: '职级',
    field: 'rank',
    colProps: {span: 24},
  },
  {
    field: 'field3',
    component: 'DatePicker',
    label: '直到',
    colProps: {
      span: 10,
      offset: 2,
    },
    componentProps: {
      style: {width: '100%'},
      disabledDate: (currentDate) => {
        // Logger.log('currentDate',currentDate)
        // 禁用今天之前的天数
        return currentDate && currentDate < dayjs().subtract(1, 'day');
      }
    },
    required: true,
    ifShow: ({values}) => {
      // Logger.log('vvv',values)
      return ['2', '3', '4'].includes(values.date1);
    },
  },
  {
    field: 'remindTime2',
    component: 'DatePicker',
    label: '',
    colProps: {
      span: 6,
      offset: 2,
    },
    componentProps: {
      // disabledDate:(currentDate)=>{
      //   // Logger.log('currentDate',currentDate)
      //   // 禁用今天之前的天数
      //   return currentDate && currentDate < dayjs().subtract(1, 'day');
      // }
    },
    dynamicRules: ({values}) => {
      return [
      options: [
        {
          // required: true,
          validator: (_, value) => {
            if (values.remindTime === '6') {
              if (!value) {
                return Promise.reject('不能为空');
              }
            }
            return Promise.resolve();
          },
          label: '普通职员',
          value: '1',
        },
      ];
    },
    show: ({values}) => {
      // Logger.log('vvv',values)
      return values.remindTime === '6';
        {
          label: '中层管理者',
          value: '2',
        },
        {
          label: '高层管理者',
          value: '3',
        },
      ],
    },
  },
  // {
  //   field: 'remindTime2',
  //   component: 'DatePicker',
  //   label: '',
  //   colProps: {
  //     span: 6,
  //     offset: 2,
  //   },
  //   componentProps: {
  //     // disabledDate:(currentDate)=>{
  //     //   // Logger.log('currentDate',currentDate)
  //     //   // 禁用今天之前的天数
  //     //   return currentDate && currentDate < dayjs().subtract(1, 'day');
  //     // }
  //   },
  //   dynamicRules: ({values}) => {
  //     return [
  //       {
  //         // required: true,
  //         validator: (_, value) => {
  //           if (values.remindTime === '6') {
  //             if (!value) {
  //               return Promise.reject('不能为空');
  //             }
  //           }
  //
  //           return Promise.resolve();
  //         },
  //       },
  //     ];
  //   },
  //   show: ({values}) => {
  //     // Logger.log('vvv',values)
  //     return values.remindTime === '6';
  //   },
  // },
];