|
|
@ -21,7 +21,7 @@ const FormModal = (props) => { |
|
|
|
yisaData = {}, |
|
|
|
addVisible, |
|
|
|
closAddModal = () => { }, |
|
|
|
setGetAddVisible=()=>{} |
|
|
|
setGetAddVisible = () => { } |
|
|
|
} = props |
|
|
|
// 表单信息 |
|
|
|
const [form] = Form.useForm(); |
|
|
@ -78,11 +78,13 @@ const FormModal = (props) => { |
|
|
|
}; |
|
|
|
const [formData, setFormData] = useState(defaultData) |
|
|
|
const [getNewCar, setGetNewCar] = useState(false) |
|
|
|
// 新能源车 |
|
|
|
const getNewCarRef = useRef(null) |
|
|
|
getNewCarRef.current = false |
|
|
|
// 残疾人车 |
|
|
|
const [getPerson, setGetPerson] = useState() |
|
|
|
const [getPerson, setGetPerson] = useState(false) |
|
|
|
// // 新能源车 |
|
|
|
// const getNewCarRef = useRef(null) |
|
|
|
// getNewCarRef.current = false |
|
|
|
// // 残疾人车 |
|
|
|
// const getNewCarDisability = useRef(null) |
|
|
|
// getNewCarDisability.current = false |
|
|
|
// 区间 |
|
|
|
const [getValue, setGetValue] = useState(1) |
|
|
|
const [getValue2, setGetValue2] = useState(1) |
|
|
@ -99,72 +101,71 @@ const FormModal = (props) => { |
|
|
|
|
|
|
|
// 表单改变事件 |
|
|
|
const handleForm = (changedValues, allValues) => { |
|
|
|
// let obj = {}; |
|
|
|
console.log('表单', changedValues, allValues); |
|
|
|
let obj = {}; |
|
|
|
let key = Object.keys(changedValues)[0]; |
|
|
|
let val = Object.values(changedValues)[0]; |
|
|
|
console.log('val', val); |
|
|
|
console.log('key', key); |
|
|
|
if(key == 'newCarStatus'){ |
|
|
|
getNewCarRef.current = val |
|
|
|
if (key == 'newCarStatus') { |
|
|
|
setGetNewCar(val) |
|
|
|
} |
|
|
|
if (key == 'newCarDisability') { |
|
|
|
setGetPerson(val) |
|
|
|
} |
|
|
|
switch (key) { |
|
|
|
case "freeTimeAble": |
|
|
|
obj[key] = val ? 1 : 0; |
|
|
|
break; |
|
|
|
case "newCarStatus": |
|
|
|
obj[key] = val ? 1 : 0; |
|
|
|
break; |
|
|
|
case "rules": |
|
|
|
let _arr = allValues["rules"]; |
|
|
|
if (val?.length) { |
|
|
|
// 获取改变值的索引 |
|
|
|
let curNum = val.length - 1; |
|
|
|
let curObj = val[curNum]; |
|
|
|
if (curObj) { |
|
|
|
let _key = Object.keys(curObj)[0]; |
|
|
|
let _val = Object.values(curObj)[0]; |
|
|
|
if (_key == "unitUp") { |
|
|
|
_arr[curNum][_key] = _val ? 1 : 0; |
|
|
|
} else if (_key == "details" || _key == "holiday") { |
|
|
|
let _curNum = _val.length - 1; |
|
|
|
let _curObj = _val[curNum]; |
|
|
|
if (_curObj) { |
|
|
|
let _dkey = Object.keys(_curObj)[0]; |
|
|
|
let _dval = Object.values(_curObj)[0]; |
|
|
|
if (_dkey == "items") { |
|
|
|
let _iurNum = _dval.length - 1; |
|
|
|
let _iurObj = _dval[curNum]; |
|
|
|
if (_iurObj) { |
|
|
|
let _ikey = Object.keys(_iurObj)[0]; |
|
|
|
let _ival = Object.values(_iurObj)[0]; |
|
|
|
_arr[curNum][_key][_curNum][_dkey][_iurNum][_ikey] = _ival; |
|
|
|
} |
|
|
|
} else { |
|
|
|
_arr[curNum][_key][_curNum][_dkey] = _dval; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
_arr[curNum][_key] = _val; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (val?.date) { |
|
|
|
_arr[0].date = val.date; |
|
|
|
} |
|
|
|
obj[key] = _arr; |
|
|
|
break; |
|
|
|
default: |
|
|
|
obj[key] = val; |
|
|
|
break; |
|
|
|
} |
|
|
|
// switch (key) { |
|
|
|
// case "freeTimeAble": |
|
|
|
// obj[key] = val ? 1 : 0; |
|
|
|
// break; |
|
|
|
// case "newCarStatus": |
|
|
|
// obj[key] = val ? 1 : 0; |
|
|
|
// break; |
|
|
|
// case "rules": |
|
|
|
// let _arr = allValues["rules"]; |
|
|
|
// if (val?.length) { |
|
|
|
// // 获取改变值的索引 |
|
|
|
// let curNum = val.length - 1; |
|
|
|
// let curObj = val[curNum]; |
|
|
|
// if (curObj) { |
|
|
|
// let _key = Object.keys(curObj)[0]; |
|
|
|
// let _val = Object.values(curObj)[0]; |
|
|
|
// if (_key == "unitUp") { |
|
|
|
// _arr[curNum][_key] = _val ? 1 : 0; |
|
|
|
// } else if (_key == "details" || _key == "holiday") { |
|
|
|
// let _curNum = _val.length - 1; |
|
|
|
// let _curObj = _val[curNum]; |
|
|
|
// if (_curObj) { |
|
|
|
// let _dkey = Object.keys(_curObj)[0]; |
|
|
|
// let _dval = Object.values(_curObj)[0]; |
|
|
|
// if (_dkey == "items") { |
|
|
|
// let _iurNum = _dval.length - 1; |
|
|
|
// let _iurObj = _dval[curNum]; |
|
|
|
// if (_iurObj) { |
|
|
|
// let _ikey = Object.keys(_iurObj)[0]; |
|
|
|
// let _ival = Object.values(_iurObj)[0]; |
|
|
|
// console.log('_ikey', _ikey, _ival); |
|
|
|
// _arr[curNum][_key][_curNum][_dkey][_iurNum][_ikey] = _ival; |
|
|
|
// } |
|
|
|
// } else { |
|
|
|
// _arr[curNum][_key][_curNum][_dkey] = _dval; |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } else { |
|
|
|
// _arr[curNum][_key] = _val; |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } |
|
|
|
// if (val?.date) { |
|
|
|
// _arr[0].date = val.date; |
|
|
|
// } |
|
|
|
// obj[key] = _arr; |
|
|
|
// break; |
|
|
|
// default: |
|
|
|
// obj[key] = val; |
|
|
|
// break; |
|
|
|
// } |
|
|
|
let newObj = { ...form.getFieldsValue() }; |
|
|
|
form.setFieldsValue(newObj); |
|
|
|
changeGetNewCar() |
|
|
|
// changeGetNewCar() |
|
|
|
// changeNewCarDisability() |
|
|
|
}; |
|
|
|
const changeGetNewCar = ()=>{ |
|
|
|
setGetNewCar(getNewCarRef.current) |
|
|
|
} |
|
|
|
|
|
|
|
// 处理时间 |
|
|
|
const handelTime = (arr, type) => { |
|
|
@ -219,16 +220,12 @@ const FormModal = (props) => { |
|
|
|
if (JSON.stringify(yisaData) != "{}") { |
|
|
|
newObj = handelDate(yisaData, 2) |
|
|
|
} |
|
|
|
// console.log(newObj); |
|
|
|
form.setFieldsValue(newObj); |
|
|
|
}, [yisaData]); |
|
|
|
}, []); |
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
operationName() |
|
|
|
}, []) |
|
|
|
useEffect(() => { |
|
|
|
console.log(getNewCar); |
|
|
|
}, [getNewCar]) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -253,7 +250,7 @@ const FormModal = (props) => { |
|
|
|
<Form.Item |
|
|
|
name="feeName" |
|
|
|
label="规则名称" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label inputSearch" |
|
|
|
rules={[{ required: true, message: "请选择${label}" }]} |
|
|
|
> |
|
|
|
<Input placeholder="请输入规则名称" style={{ width: 200, marginLeft: 10 }} autoComplete="off" /> |
|
|
@ -262,7 +259,7 @@ const FormModal = (props) => { |
|
|
|
<Form.Item |
|
|
|
name="feeCode" |
|
|
|
label="规则编码" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label inputSearch" |
|
|
|
rules={[{ required: true, message: "请选择${label}" }]} |
|
|
|
> |
|
|
|
<Input placeholder="请输入规则编码" style={{ width: 200, marginLeft: 10 }} autoComplete="off" /> |
|
|
@ -271,7 +268,7 @@ const FormModal = (props) => { |
|
|
|
<Form.Item |
|
|
|
name="operationId" |
|
|
|
label="商户名称" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label inputSearch" |
|
|
|
rules={[{ required: true, message: "请选择${label}" }]} |
|
|
|
> |
|
|
|
<Select |
|
|
@ -298,82 +295,86 @@ const FormModal = (props) => { |
|
|
|
<Form.Item |
|
|
|
name="freeTime" |
|
|
|
label="普通免费分钟数" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label minSearch" |
|
|
|
rules={[{ required: true, message: "请选择${label}" }]} |
|
|
|
> |
|
|
|
<Input placeholder="请输入免费分钟数" style={{ marginLeft: 10 }} autoComplete="off" /> |
|
|
|
</Form.Item> |
|
|
|
<label className="yisa-label">单位:分钟,免费停车时间</label> |
|
|
|
</div> |
|
|
|
|
|
|
|
<Form.Item name="freeTimeAble" valuePropName="checked"> |
|
|
|
<Checkbox>免费分钟数不纳入计费时长</Checkbox> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item valuePropName="checked" name="newCarStatus"> |
|
|
|
<Checkbox>新能源车</Checkbox> |
|
|
|
</Form.Item> |
|
|
|
{ |
|
|
|
getNewCar? |
|
|
|
<div > |
|
|
|
{getNewCar ? |
|
|
|
<div > |
|
|
|
<div className="place"> |
|
|
|
<Form.Item |
|
|
|
name="evFreeTime" |
|
|
|
label="免费分钟数" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label timeSearch" |
|
|
|
rules={[{ required: true, message: "请输入${label}" }]} |
|
|
|
> |
|
|
|
<Input |
|
|
|
style={{ width: 200, marginLeft: 10 }} |
|
|
|
placeholder="请输入免费分钟数" |
|
|
|
/> |
|
|
|
<label>单位:分钟,免费停车时间</label> |
|
|
|
</Form.Item> |
|
|
|
|
|
|
|
<label>单位:分钟,免费停车时间</label> |
|
|
|
</div> |
|
|
|
<div className="place"> |
|
|
|
<Form.Item |
|
|
|
name="evCarDiscount" |
|
|
|
label="折扣系数" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label timeSearch" |
|
|
|
rules={[{ required: true, message: "请输入${label}" }]} |
|
|
|
> |
|
|
|
<Input |
|
|
|
style={{ width: 200, marginLeft: 10 }} |
|
|
|
placeholder="请输入0-100的值" |
|
|
|
/> |
|
|
|
<label>单位:%</label> |
|
|
|
</Form.Item> |
|
|
|
<label>单位:%</label> |
|
|
|
</div> |
|
|
|
</div> : ''} |
|
|
|
|
|
|
|
|
|
|
|
</div> : '' |
|
|
|
} |
|
|
|
<Form.Item valuePropName="checked" name="newCarDisability"> |
|
|
|
<Checkbox>残疾人车</Checkbox> |
|
|
|
</Form.Item> |
|
|
|
{ |
|
|
|
getPerson === true ? |
|
|
|
getPerson == true ? |
|
|
|
<div > |
|
|
|
<Form.Item |
|
|
|
name="disabledFreeTime" |
|
|
|
label="免费分钟数" |
|
|
|
className="yisa-label" |
|
|
|
rules={[{ required: true, message: "请输入${label}" }]} |
|
|
|
> |
|
|
|
<Input |
|
|
|
style={{ width: 200, marginLeft: 10 }} |
|
|
|
placeholder="请输入免费分钟数" |
|
|
|
/> |
|
|
|
<div className="place"> |
|
|
|
<Form.Item |
|
|
|
name="disabledFreeTime" |
|
|
|
label="免费分钟数" |
|
|
|
className="yisa-label timeSearch" |
|
|
|
rules={[{ required: true, message: "请输入${label}" }]} |
|
|
|
> |
|
|
|
<Input |
|
|
|
style={{ width: 200, marginLeft: 10 }} |
|
|
|
placeholder="请输入免费分钟数" |
|
|
|
/> |
|
|
|
</Form.Item> |
|
|
|
<label>单位:分钟,免费停车时间</label> |
|
|
|
</Form.Item> |
|
|
|
|
|
|
|
<Form.Item |
|
|
|
name="disabledCarDiscount" |
|
|
|
label="折扣系数" |
|
|
|
className="yisa-label" |
|
|
|
rules={[{ required: true, message: "请输入${label}" }]} |
|
|
|
> |
|
|
|
<Input |
|
|
|
style={{ width: 200, marginLeft: 10 }} |
|
|
|
placeholder="请输入0-100的值" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div className="place"> |
|
|
|
<Form.Item |
|
|
|
name="disabledCarDiscount" |
|
|
|
label="折扣系数" |
|
|
|
className="yisa-label timeSearch" |
|
|
|
rules={[{ required: true, message: "请输入${label}" }]} |
|
|
|
> |
|
|
|
<Input |
|
|
|
style={{ width: 200, marginLeft: 10 }} |
|
|
|
placeholder="请输入0-100的值" |
|
|
|
/> |
|
|
|
</Form.Item> |
|
|
|
<label>单位:%</label> |
|
|
|
</Form.Item> |
|
|
|
</div> |
|
|
|
</div> : '' |
|
|
|
} |
|
|
|
|
|
|
@ -385,14 +386,14 @@ const FormModal = (props) => { |
|
|
|
// console.log(fields); |
|
|
|
return ( |
|
|
|
<div className="yisa-table"> |
|
|
|
<div className="row-line" key={key}> |
|
|
|
<div className="row-line" key={'rules-' + key}> |
|
|
|
<div className="timeAdd"> |
|
|
|
<Space direction="vertical" size={12}> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "date"]} |
|
|
|
label="生效日期" |
|
|
|
className="yisa-label" |
|
|
|
className="yisa-label inputSearch" |
|
|
|
rules={[{ required: true, message: "请选择${label}" }]} |
|
|
|
> |
|
|
|
<DatePicker |
|
|
@ -451,10 +452,10 @@ const FormModal = (props) => { |
|
|
|
<Form.List name={[name, "details"]}> |
|
|
|
{(fields, { add, remove }) => ( |
|
|
|
<> |
|
|
|
{fields.map(({ key, name, ...restField }, j) => { |
|
|
|
{fields.map(({ key, name, ...restField }, i) => { |
|
|
|
// console.log(fields); |
|
|
|
return ( |
|
|
|
<div key={key}> |
|
|
|
<div key={'details-' + key}> |
|
|
|
<div className="row"> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
@ -464,7 +465,7 @@ const FormModal = (props) => { |
|
|
|
> |
|
|
|
<TimePicker format={format} style={{ marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
to |
|
|
|
<label className="mid">to</label> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "end"]} |
|
|
@ -477,7 +478,7 @@ const FormModal = (props) => { |
|
|
|
label="" |
|
|
|
> |
|
|
|
{ |
|
|
|
!j ? |
|
|
|
!i ? |
|
|
|
<PlusCircleOutlined |
|
|
|
onClick={() => |
|
|
|
add({ |
|
|
@ -508,10 +509,9 @@ const FormModal = (props) => { |
|
|
|
<Form.List name={[name, "items"]}> |
|
|
|
{(fields, { add, remove }) => ( |
|
|
|
<> |
|
|
|
{fields.map(({ key, name, ...restField }, j) => { |
|
|
|
// console.log(fields); |
|
|
|
{fields.map(({ key, name, ...restField }, z) => { |
|
|
|
return ( |
|
|
|
<div className="row-line" key={key}> |
|
|
|
<div className="row-line" key={'items-' + key}> |
|
|
|
<div className="row"> |
|
|
|
<Form.Item |
|
|
|
name={[name, "type"]} |
|
|
@ -537,47 +537,51 @@ const FormModal = (props) => { |
|
|
|
]} |
|
|
|
/> |
|
|
|
</Form.Item> |
|
|
|
{ |
|
|
|
getValue == 3 ? |
|
|
|
<div className="row"> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "unit"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label>元/次</label> |
|
|
|
</div> |
|
|
|
: |
|
|
|
<div className="row"> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "segment"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
noStyle |
|
|
|
shouldUpdate> |
|
|
|
{ |
|
|
|
form?.getFieldValue('rules')[j].details[i].items[z].type == '3' ? |
|
|
|
<div className="row"> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "unit"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label className="mid">元/次</label> |
|
|
|
</div> |
|
|
|
: |
|
|
|
<div className="row"> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "segment"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label className="mid">分钟</label> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "unit"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label className="mid">元/</label> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "period"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label className="mid">分钟</label> |
|
|
|
</div> |
|
|
|
|
|
|
|
<label>分钟</label> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "unit"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label>元/</label> |
|
|
|
<Form.Item |
|
|
|
{...restField} |
|
|
|
name={[name, "period"]} |
|
|
|
label="" |
|
|
|
> |
|
|
|
<Input style={{ width: 50, marginLeft: 10 }} /> |
|
|
|
</Form.Item> |
|
|
|
<label>分钟</label> |
|
|
|
</div> |
|
|
|
} |
|
|
|
} |
|
|
|
</Form.Item> |
|
|
|
<Form.Item |
|
|
|
className="btm-box" |
|
|
|
> |
|
|
|