| | |
| | | import companyType from './drawer-form/companyType'; |
| | | import annualPurchaseAmount from './drawer-form/annualPurchaseAmount'; |
| | | import timeZone from './drawer-form/timeZone'; |
| | | import {uploadApi} from "@/api/sys/upload"; |
| | | |
| | | // import {useFormBaseData} from '@/store/modules/formBaseData'; |
| | | // let baseData = useFormBaseData.getFormBaseData; |
| | | // Logger.log('....getFormBaseData.!!!.', baseData); |
| | | |
| | | // const userBaseDataStore= useFormBaseData(); |
| | | // let baseData = {}; |
| | | // userBaseDataStore.getSelectInfoAction().then((res) => { |
| | | // baseData = userBaseDataStore.getFormBaseData; |
| | | // Logger.log('!!!getFormBaseData..', baseData); |
| | | // }); |
| | | |
| | | |
| | | // const custom_typeKey2typeValueRules = (model) => { |
| | | // return [ |
| | |
| | | }, |
| | | // atfer request callback |
| | | onOptionsChange: (options) => { |
| | | console.log('get options', options.length, options); |
| | | // console.log('get options', options.length, options); |
| | | }, |
| | | }, |
| | | colProps: { |
| | |
| | | field: 'annualPurchaseAmount', |
| | | colProps: {span: 16}, |
| | | componentProps: { |
| | | options: annualPurchaseAmount, |
| | | // options: annualPurchaseAmount, |
| | | // options: baseData?.annualProcurement, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | }, |
| | | { |
| | | field: 'detailedAddress2', |
| | | component: 'Input', |
| | | label: '图', |
| | | colProps: { |
| | | span: 24, |
| | | field: 'image', |
| | | component: 'ImageUpload', |
| | | label: '上传图片', |
| | | subLabel: '(单张图片最大3M,最多上传5张图片)', |
| | | // required: true, |
| | | defaultValue: [ |
| | | 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', |
| | | ], |
| | | componentProps: { |
| | | api: uploadApi, |
| | | accept: ['png', 'jpeg', 'jpg'], |
| | | helpText: '单张图片最大3M,最多上传5张图片', |
| | | maxSize: 3, //单个文件最大体积,单位 M |
| | | maxNumber: 5, |
| | | }, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // trigger: 'change', |
| | | // validator(_, value) { |
| | | // if (isArray(value) && value.length > 0) { |
| | | // return Promise.resolve(); |
| | | // } else { |
| | | // return Promise.reject('请选择上传图片'); |
| | | // } |
| | | // }, |
| | | // }, |
| | | // ], |
| | | }, |
| | | { |
| | | field: 'cluesNotes', |
| | |
| | | }, |
| | | }, |
| | | { |
| | | field: 'field1', |
| | | component: 'RadioButtonGroup', |
| | | field: 'salesman', |
| | | component: 'Input', |
| | | label: '业务员', |
| | | colProps: { |
| | | span: 16, |
| | | }, |
| | | }, |
| | | { |
| | | component: 'Select', |
| | | label: '访问来源', |
| | | field: 'visitSource', |
| | | colProps: {span: 24}, |
| | | componentProps: { |
| | | options: [ |
| | | {label: 'Apple', value: 'Apple'}, |
| | | {label: 'Pear', value: 'Pear'}, |
| | | {label: 'Orange', value: 'Orange', disabled: true}, |
| | | { |
| | | label: '广告投放', |
| | | value: '1', |
| | | }, |
| | | { |
| | | label: '自然流量', |
| | | value: '2', |
| | | }, |
| | | { |
| | | label: '社交网站', |
| | | value: '3', |
| | | }, |
| | | { |
| | | label: '直接访问', |
| | | value: '4', |
| | | }, |
| | | { |
| | | label: '邮件', |
| | | value: '5', |
| | | }, |
| | | { |
| | | label: '其他', |
| | | value: '6', |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | 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', |
| | | field: 'field12', |
| | | component: 'ApiCascader', |
| | | label: '主营产品', |
| | | colProps: { span: 24 }, |
| | | componentProps: { |
| | | format: 'YYYY-MM-DD', |
| | | placeholder: ['开始日期', '结束日期'], |
| | | }, |
| | | 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); |
| | | 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: 'remindTime2', |
| | | component: 'DatePicker', |
| | | label: '', |
| | | colProps: { |
| | | span: 6, |
| | | offset: 2, |
| | | }, |
| | | field: 'ipAddress', |
| | | component: 'ApiSelect', |
| | | label: '访客IP所在地', |
| | | // required: true, |
| | | 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'; |
| | | }, |
| | | }, |
| | | { |
| | | field: 'field33', |
| | | component: 'ApiTreeSelect', |
| | | label: '远程下拉树', |
| | | helpMessage: ['ApiTreeSelect组件', '使用接口提供的数据生成选项'], |
| | | required: true, |
| | | componentProps: { |
| | | api: treeOptionsListApi, |
| | | treeCheckable: true, |
| | | treeCheckStrictly: true, // 父子节点是否不再关联 |
| | | // 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('ApiTreeSelect====>:', e, v); |
| | | console.log('ApiSelect====>:', e, v); |
| | | }, |
| | | // atfer request callback |
| | | onOptionsChange: (options) => { |
| | | // console.log('get options', options.length, options); |
| | | }, |
| | | }, |
| | | colProps: { |
| | | span: 12, |
| | | span: 20, |
| | | }, |
| | | // defaultValue: '0', |
| | | }, |
| | | ]; |