|
@ -23,7 +23,7 @@ function TimePart(props) { |
|
|
} = props; |
|
|
} = props; |
|
|
const record1 = { |
|
|
const record1 = { |
|
|
"start": "00:00:00", |
|
|
"start": "00:00:00", |
|
|
"end": "00:00:00", |
|
|
|
|
|
|
|
|
"end": "13:00:00", |
|
|
"limit": 0, |
|
|
"limit": 0, |
|
|
"items": [ |
|
|
"items": [ |
|
|
{ |
|
|
{ |
|
@ -40,12 +40,97 @@ function TimePart(props) { |
|
|
console.log(disable); |
|
|
console.log(disable); |
|
|
const valueChange = (value, all) => { |
|
|
const valueChange = (value, all) => { |
|
|
all.key = itemKey; |
|
|
all.key = itemKey; |
|
|
|
|
|
if (all.time_part) { |
|
|
|
|
|
all.start = moment(all.time_part[0]).format('HH:mm:ss') |
|
|
|
|
|
all.end = moment(all.time_part[1]).format('HH:mm:ss') |
|
|
|
|
|
delete all.time_part |
|
|
|
|
|
} |
|
|
|
|
|
if (all.type == 0) { |
|
|
|
|
|
all.items = [ |
|
|
|
|
|
{ |
|
|
|
|
|
"type": all.type, |
|
|
|
|
|
"threshold": 0, |
|
|
|
|
|
"period": all.time_before_minute, |
|
|
|
|
|
"unit": all.time_before_money, |
|
|
|
|
|
"segment": all.time_before, |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"type": 2, |
|
|
|
|
|
"threshold": 0, |
|
|
|
|
|
"period": all.time_after_minute, |
|
|
|
|
|
"unit": all.time_after_money, |
|
|
|
|
|
"segment": all.time_before, |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
delete all.type |
|
|
|
|
|
delete all.time_before_minute |
|
|
|
|
|
delete all.time_before_money |
|
|
|
|
|
delete all.time_before |
|
|
|
|
|
delete all.time_after_minute |
|
|
|
|
|
delete all.time_after_money |
|
|
|
|
|
} else if (all.type == 1) { |
|
|
|
|
|
all.items = [ |
|
|
|
|
|
{ |
|
|
|
|
|
"type": all.type, |
|
|
|
|
|
"threshold": 0, |
|
|
|
|
|
"unit": all.unit, |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
delete all.type |
|
|
|
|
|
delete all.unit |
|
|
|
|
|
} else { |
|
|
|
|
|
all.items = [ |
|
|
|
|
|
{ |
|
|
|
|
|
"type": all.type, |
|
|
|
|
|
"threshold": 0, |
|
|
|
|
|
"period": all.period, |
|
|
|
|
|
"unit": all.unit, |
|
|
|
|
|
"segment": all.segment |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
delete all.type |
|
|
|
|
|
delete all.period |
|
|
|
|
|
delete all.unit |
|
|
|
|
|
delete all.segment |
|
|
|
|
|
} |
|
|
|
|
|
console.log(66, all) |
|
|
onChange(all); |
|
|
onChange(all); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
|
if (!record.items) return |
|
|
|
|
|
if (record.items[0]?.type == 0) { |
|
|
|
|
|
form.setFieldsValue({ |
|
|
|
|
|
...record, |
|
|
|
|
|
type: record.items[0].type, |
|
|
|
|
|
"time_before": record.items[0].segment, |
|
|
|
|
|
"time_before_money": record.items[0].unit, |
|
|
|
|
|
"time_before_minute": record.items[0].period, |
|
|
|
|
|
"time_after_money": record.items[1].unit, |
|
|
|
|
|
"time_after_minute": record.items[1].period, |
|
|
|
|
|
"limit": record.limit, |
|
|
|
|
|
time_part: [ |
|
|
|
|
|
moment(record.start, "HH:mm:ss"), |
|
|
|
|
|
moment(record.end, "HH:mm:ss"), |
|
|
|
|
|
], |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
form.setFieldsValue({ |
|
|
|
|
|
...record, |
|
|
|
|
|
type: record.items[0]?.type, |
|
|
|
|
|
"unit": record.items[0]?.unit, |
|
|
|
|
|
"period": record.items[0]?.period, |
|
|
|
|
|
//segment:record.items[0].segment, |
|
|
|
|
|
"limit": record.limit, |
|
|
|
|
|
time_part: [ |
|
|
|
|
|
moment(record.start, "HH:mm:ss"), |
|
|
|
|
|
moment(record.end, "HH:mm:ss"), |
|
|
|
|
|
], |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}, []) |
|
|
console.log(30, record) |
|
|
console.log(30, record) |
|
|
return ( |
|
|
return ( |
|
|
<div> |
|
|
|
|
|
|
|
|
<div className="timepart-box"> |
|
|
<Form |
|
|
<Form |
|
|
form={form} |
|
|
form={form} |
|
|
onValuesChange={valueChange} |
|
|
onValuesChange={valueChange} |
|
@ -65,7 +150,7 @@ function TimePart(props) { |
|
|
<Row gutter={[30]}> |
|
|
<Row gutter={[30]}> |
|
|
<Col span={16}> |
|
|
<Col span={16}> |
|
|
<Form.Item label={`时段${index}`} name="time_part"> |
|
|
<Form.Item label={`时段${index}`} name="time_part"> |
|
|
<TimePicker.RangePicker style={{ width: "50%" }} order={false} /> |
|
|
|
|
|
|
|
|
<TimePicker.RangePicker style={{ width: "50%" }} order={false} secondStep={60} /> |
|
|
</Form.Item> |
|
|
</Form.Item> |
|
|
</Col> |
|
|
</Col> |
|
|
<Col span={8}> |
|
|
<Col span={8}> |
|
@ -77,13 +162,13 @@ function TimePart(props) { |
|
|
</Col> |
|
|
</Col> |
|
|
|
|
|
|
|
|
<Col span={24}> |
|
|
<Col span={24}> |
|
|
<Form.Item label={`区间${index}`} name="interval" initialValue={1}> |
|
|
|
|
|
|
|
|
<Form.Item label={`区间${index}`} name="type" initialValue={1}> |
|
|
<Select |
|
|
<Select |
|
|
style={{ width: "20%" }} |
|
|
style={{ width: "20%" }} |
|
|
options={[ |
|
|
options={[ |
|
|
{ |
|
|
{ |
|
|
label: "基础时段", |
|
|
label: "基础时段", |
|
|
value: 1, |
|
|
|
|
|
|
|
|
value: 0, |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: "周期计价", |
|
|
label: "周期计价", |
|
@ -91,7 +176,7 @@ function TimePart(props) { |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: "按次计价", |
|
|
label: "按次计价", |
|
|
value: 3, |
|
|
|
|
|
|
|
|
value: 1, |
|
|
}, |
|
|
}, |
|
|
]} |
|
|
]} |
|
|
/> |
|
|
/> |
|
@ -99,12 +184,12 @@ function TimePart(props) { |
|
|
</Col> |
|
|
</Col> |
|
|
<Col span={24}> |
|
|
<Col span={24}> |
|
|
<Form.Item |
|
|
<Form.Item |
|
|
shouldUpdate={(prev, next) => prev.interval !== next.interval} |
|
|
|
|
|
|
|
|
shouldUpdate={(prev, next) => prev.type !== next.type} |
|
|
> |
|
|
> |
|
|
{({ getFieldValue }) => { |
|
|
{({ getFieldValue }) => { |
|
|
const type = getFieldValue("interval"); |
|
|
|
|
|
|
|
|
const type = getFieldValue("type"); |
|
|
switch (type) { |
|
|
switch (type) { |
|
|
case 1: |
|
|
|
|
|
|
|
|
case 0: |
|
|
return ( |
|
|
return ( |
|
|
<> |
|
|
<> |
|
|
<Input.Group compact> |
|
|
<Input.Group compact> |
|
@ -150,18 +235,18 @@ function TimePart(props) { |
|
|
case 2: |
|
|
case 2: |
|
|
return ( |
|
|
return ( |
|
|
<Input.Group compact> |
|
|
<Input.Group compact> |
|
|
<Form.Item name="time_money" noStyle> |
|
|
|
|
|
|
|
|
<Form.Item name="unit" noStyle> |
|
|
<Input addonAfter={"元"} style={{ width: "20%" }} /> |
|
|
<Input addonAfter={"元"} style={{ width: "20%" }} /> |
|
|
</Form.Item> |
|
|
</Form.Item> |
|
|
<div className="wenzi">/</div> |
|
|
<div className="wenzi">/</div> |
|
|
<Form.Item name="time_minute" noStyle> |
|
|
|
|
|
|
|
|
<Form.Item name="period" noStyle> |
|
|
<Input addonAfter={"分钟"} style={{ width: "20%" }} /> |
|
|
<Input addonAfter={"分钟"} style={{ width: "20%" }} /> |
|
|
</Form.Item> |
|
|
</Form.Item> |
|
|
</Input.Group> |
|
|
</Input.Group> |
|
|
); |
|
|
); |
|
|
case 3: |
|
|
|
|
|
|
|
|
case 1: |
|
|
return ( |
|
|
return ( |
|
|
<Form.Item name="money_per_time"> |
|
|
|
|
|
|
|
|
<Form.Item name="unit"> |
|
|
<Input addonAfter={"元/次"} style={{ width: "20%" }} /> |
|
|
<Input addonAfter={"元/次"} style={{ width: "20%" }} /> |
|
|
</Form.Item> |
|
|
</Form.Item> |
|
|
); |
|
|
); |
|
@ -170,16 +255,16 @@ function TimePart(props) { |
|
|
</Form.Item> |
|
|
</Form.Item> |
|
|
</Col> |
|
|
</Col> |
|
|
<Form.Item |
|
|
<Form.Item |
|
|
shouldUpdate={(prev, next) => prev.interval !== next.interval} |
|
|
|
|
|
|
|
|
shouldUpdate={(prev, next) => prev.type !== next.type} |
|
|
> |
|
|
> |
|
|
{({ getFieldValue }) => { |
|
|
{({ getFieldValue }) => { |
|
|
return ( |
|
|
return ( |
|
|
(getFieldValue("interval") === 1 || |
|
|
|
|
|
getFieldValue("interval") === 2) && ( |
|
|
|
|
|
|
|
|
(getFieldValue("type") === 0 || |
|
|
|
|
|
getFieldValue("type") === 2) && ( |
|
|
<Col span={24}> |
|
|
<Col span={24}> |
|
|
<Form.Item |
|
|
<Form.Item |
|
|
label="时段最高收费金额" |
|
|
label="时段最高收费金额" |
|
|
name="time_max_money" |
|
|
|
|
|
|
|
|
name="limit" |
|
|
rules={[{ required: true }]} |
|
|
rules={[{ required: true }]} |
|
|
> |
|
|
> |
|
|
<Input /> |
|
|
<Input /> |
|
|