|
@@ -11,8 +11,9 @@ import { createSysAdgroups } from '@/services/launchAdq/localAd';
|
|
|
import AdPositionList from './adPositionList';
|
|
|
import { siteSetData, SiteSetPackageDataProps } from './leadAd';
|
|
|
import BidAdjustment from './bidAdjustment';
|
|
|
-import { useModel } from 'umi';
|
|
|
import { RangePickerProps } from 'antd/lib/date-picker';
|
|
|
+import InputName from '@/components/InputName';
|
|
|
+import { txtLength } from '@/utils/utils';
|
|
|
const { RangePicker }: { RangePicker: any } = DatePicker;
|
|
|
let DatePickers: any = DatePicker
|
|
|
interface Props {
|
|
@@ -29,8 +30,7 @@ interface Props {
|
|
|
function WeChatAdModal(props: Props) {
|
|
|
|
|
|
/*******************************/
|
|
|
- let { visible, confirmLoading, PupFn, callback, type, dataInfo, queryForm, ajax } = props
|
|
|
- const { currentUser }: any = useModel('@@initialState', model => ({ currentUser: model.initialState?.currentUser }))
|
|
|
+ let { visible, PupFn, callback, type, dataInfo, queryForm, ajax } = props
|
|
|
const createSysAdgroup = useAjax((params) => createSysAdgroups(params))
|
|
|
let [state, setState] = useState<any>({ isShowTime: [] })
|
|
|
let [template_checked, settemplate_checked] = useState<boolean>(dataInfo?.isTemplate || false)
|
|
@@ -251,7 +251,7 @@ function WeChatAdModal(props: Props) {
|
|
|
}
|
|
|
} else {
|
|
|
form.setFieldsValue({
|
|
|
- adgroupName: '广告_微信朋友圈_' + moment().format('YYYYMMDDhhmmss') + '_' + currentUser.userId,
|
|
|
+ adgroupName: '广告_微信朋友圈', // + moment().format('YYYYMMDDhhmmss') + '_' + currentUser.userId,
|
|
|
date: moment().startOf('day').add(2, 'M'),
|
|
|
optimizationGoal: "OPTIMIZATIONGOAL_ECOMMERCE_ORDER",
|
|
|
bidStrategy: "BID_STRATEGY_TARGET_COST",
|
|
@@ -395,8 +395,45 @@ function WeChatAdModal(props: Props) {
|
|
|
>
|
|
|
{/* ============================================================基本信息============================================================= */}
|
|
|
<Divider orientation='center'>基本信息</Divider>
|
|
|
- <Form.Item label={<strong>广告名称</strong>} name='adgroupName' rules={[{ required: true, message: '请输入广告名称!' }]}>
|
|
|
- <Input placeholder='广告名称' style={{ width: 300 }} />
|
|
|
+ <Form.Item
|
|
|
+ label={<strong>广告名称</strong>}
|
|
|
+ name='adgroupName'
|
|
|
+ tooltip="下标、日期时分秒、广告账户创建时默认自带"
|
|
|
+ rules={[
|
|
|
+ { required: true, message: '请输入广告名称!' },
|
|
|
+ {
|
|
|
+ required: true, message: '广告名称不能包含特殊字符:< > & ‘ ” / 以及TAB、换行、回车键,请修改', validator(rule, value, callback) {
|
|
|
+ let reg = /[&‘’“”/\n\t\f]/ig
|
|
|
+ if (value && reg.test(value)) {
|
|
|
+ return Promise.reject()
|
|
|
+ }
|
|
|
+ return Promise.resolve()
|
|
|
+ },
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // required: true, message: '您可能使用了不支持的通配符,请您确认后再保存', validator(rule, value, callback) {
|
|
|
+ // let reg = /(<账号备注>)|(<商品ID>)|(<账号ID>)|(<日期>)|(<时分秒>)|(<定向名>)|(<素材名>)|(<落地页名>)/ig
|
|
|
+ // let reg1 = /[<>]/ig
|
|
|
+ // if (value && (reg1.test(value))) {
|
|
|
+ // if (reg.test(value)) {
|
|
|
+ // return Promise.resolve()
|
|
|
+ // }
|
|
|
+ // return Promise.reject()
|
|
|
+ // }
|
|
|
+ // return Promise.resolve()
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ required: true, message: '请确保广告名称长度不超过60个字(1个汉字等于2个字符)', validator(rule, value, callback) {
|
|
|
+ if (value && txtLength(value) > 60) {
|
|
|
+ return Promise.reject()
|
|
|
+ }
|
|
|
+ return Promise.resolve()
|
|
|
+ },
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <InputName placeholder='广告名称' style={{ width: 400 }} length={60} />
|
|
|
</Form.Item>
|
|
|
<Form.Item label={<strong>广告版位</strong>}>
|
|
|
<Form.Item name='automaticSiteEnabled'>
|
|
@@ -489,7 +526,7 @@ function WeChatAdModal(props: Props) {
|
|
|
dateType === '1' ? <Form.Item name='date' rules={[{ required: true, message: '请选择日期' }]}>
|
|
|
<RangePicker style={{ marginLeft: 177 }} disabledDate={disabledDate}></RangePicker>
|
|
|
</Form.Item> : <Form.Item name='date' style={{ marginLeft: 177 }} rules={[{ required: true, message: '请选择日期' }]}>
|
|
|
- <DatePickers disabledDate={disabledDate}/>
|
|
|
+ <DatePickers disabledDate={disabledDate} />
|
|
|
</Form.Item>
|
|
|
}
|
|
|
<Form.Item label={<strong>投放时段</strong>}>
|