|
|
@ -25,7 +25,7 @@ function ParkingCardMgm(props) { |
|
|
|
}) |
|
|
|
const parameter = { |
|
|
|
name: '',//商品名称 |
|
|
|
channel_id: '',//销售渠道 |
|
|
|
channel: '',//销售渠道 |
|
|
|
status: 0,//销售状态 |
|
|
|
operator_id: '',//商户名称 |
|
|
|
pn: 1, |
|
|
@ -46,7 +46,7 @@ function ParkingCardMgm(props) { |
|
|
|
} |
|
|
|
//销售渠道 |
|
|
|
const handleSaleChannel = (v) => { |
|
|
|
setFormData({ ...formData, channel_id: v }) |
|
|
|
setFormData({ ...formData, channel: v }) |
|
|
|
} |
|
|
|
//销售状态 |
|
|
|
const handleSaleType = (v) => { |
|
|
@ -99,6 +99,11 @@ function ParkingCardMgm(props) { |
|
|
|
title: '序号', |
|
|
|
dataIndex: 'id', |
|
|
|
key: 'id', |
|
|
|
render:(_,record,index) => { |
|
|
|
return ( |
|
|
|
<span>{index + 1}</span> |
|
|
|
) |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '商品名称', |
|
|
@ -140,13 +145,13 @@ function ParkingCardMgm(props) { |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '销售渠道', |
|
|
|
dataIndex: 'channel', |
|
|
|
key: 'channel', |
|
|
|
dataIndex: 'channel_name', |
|
|
|
key: 'channel_name', |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '商品状态', |
|
|
|
dataIndex: 'status', |
|
|
|
key: 'status', |
|
|
|
dataIndex: 'status_name', |
|
|
|
key: 'status_name', |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '创建人', |
|
|
@ -166,7 +171,7 @@ function ParkingCardMgm(props) { |
|
|
|
<div className="operateBtn"> |
|
|
|
<div onClick={() => { CheckBtn(record) }}>查看</div> |
|
|
|
{ |
|
|
|
record.status_id === 1 ? |
|
|
|
record.status == 1 ? |
|
|
|
<> |
|
|
|
<div onClick={() => { translateBtn(record) }}>修改</div> |
|
|
|
{/* <div onClick={() => { translateBtn(record) }}>上架</div> */} |
|
|
@ -176,7 +181,7 @@ function ParkingCardMgm(props) { |
|
|
|
</> : '' |
|
|
|
} |
|
|
|
{ |
|
|
|
record.status_id === 3 || record.status_id === 4 ? |
|
|
|
record.status == 3 || record.status == 4 ? |
|
|
|
<> |
|
|
|
{/* <div onClick={() => { translateBtn(record) }}>下架</div> */} |
|
|
|
<Popconfirm placement="left" title="下架的停车卡将不可购买,已购买的会继续生效,确认下架?" onConfirm={() => { $deleteConfirm(record?.id, "下架") }} okText="确定" cancelText="取消"> |
|
|
@ -379,26 +384,25 @@ function ParkingCardMgm(props) { |
|
|
|
setGetScope("") |
|
|
|
} |
|
|
|
let param = { |
|
|
|
operator: '', |
|
|
|
name: '', |
|
|
|
effective_start: '', |
|
|
|
effective_end: '', |
|
|
|
days: '', |
|
|
|
effective_days: '', |
|
|
|
operator_id: '', |
|
|
|
scope: '', |
|
|
|
channel_id: "", |
|
|
|
uid: '', |
|
|
|
channel: "", |
|
|
|
sale_start:"", |
|
|
|
sale_end:"", |
|
|
|
card_num:0, |
|
|
|
remark:"", |
|
|
|
text:"", |
|
|
|
|
|
|
|
} |
|
|
|
//停车卡名称 |
|
|
|
const [checkData, setCheckData] = useState(param) |
|
|
|
const handleParkName = (v) => { |
|
|
|
setCheckData( |
|
|
|
Object.assign({}, checkData, { operator: v.target.value }) |
|
|
|
Object.assign({}, checkData, { name: v.target.value }) |
|
|
|
); |
|
|
|
}; |
|
|
|
//生效日期 |
|
|
@ -460,6 +464,7 @@ function ParkingCardMgm(props) { |
|
|
|
//商户名称 |
|
|
|
const handleOperator = (v) => { |
|
|
|
setCheckData({ ...checkData, operator_id: v }) |
|
|
|
getEtcStatus(v) |
|
|
|
} |
|
|
|
//适用范围 |
|
|
|
const [getScope, setGetScope] = useState("") |
|
|
@ -467,14 +472,14 @@ function ParkingCardMgm(props) { |
|
|
|
setGetScope(v) |
|
|
|
setCheckData({ |
|
|
|
...checkData, |
|
|
|
scope:v |
|
|
|
scope:v == "1" ? "" : v |
|
|
|
}) |
|
|
|
} |
|
|
|
// 销售渠道 |
|
|
|
const handleSales = (v) => { |
|
|
|
setCheckData({ |
|
|
|
...checkData, |
|
|
|
channel_id:v |
|
|
|
channel:v |
|
|
|
}) |
|
|
|
} |
|
|
|
// 优惠金额 |
|
|
@ -489,15 +494,15 @@ function ParkingCardMgm(props) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
setCheckData({...checkData,discount_amount:v,selling_price: checkData.original_price - v}) |
|
|
|
setCheckData({...checkData,discount_amount:v}) |
|
|
|
} |
|
|
|
const [getEtcList, setGetEtcList] = useState([]) |
|
|
|
const [EtctargetKeys, setEtcTargetKeys] = useState([]); |
|
|
|
const [selectedEtcKeys, setSelectedEtcKeys] = useState([]); |
|
|
|
const getEtcStatus = (id) => { |
|
|
|
let road_id = id |
|
|
|
const params = road_id !== null ? { road_id } : {}; |
|
|
|
ajax.getParkList(params).then( |
|
|
|
// let road_id = id |
|
|
|
// const params = road_id !== null ? { road_id } : {}; |
|
|
|
ajax.getParkList({id}).then( |
|
|
|
(res) => { |
|
|
|
if (res.status === 20000) { |
|
|
|
let _data = [...res.data].map((item) => { |
|
|
@ -570,11 +575,11 @@ function ParkingCardMgm(props) { |
|
|
|
setCheckData({...checkData,original_price:''}) |
|
|
|
return |
|
|
|
} |
|
|
|
setCheckData({...checkData,original_price:v,selling_price: v - checkData.discount_amount}) |
|
|
|
setCheckData({...checkData,original_price:v}) |
|
|
|
} |
|
|
|
|
|
|
|
const placeSaveBtn = () => { |
|
|
|
let url = actionType == 1 ? ajax.saveData : ajax.updataGoods |
|
|
|
let url = actionType == 1 ? ajax.saveCardOrder : ajax.updataGoods |
|
|
|
let data = { |
|
|
|
...checkData, |
|
|
|
} |
|
|
@ -688,8 +693,9 @@ function ParkingCardMgm(props) { |
|
|
|
merchantDataName() |
|
|
|
recipientName() |
|
|
|
getCascaderList() |
|
|
|
getEtcStatus() |
|
|
|
// getEtcStatus() |
|
|
|
}, []) |
|
|
|
|
|
|
|
return <> |
|
|
|
<div className="paid-ParkingCardMgm"> |
|
|
|
<div className="paid-search"> |
|
|
@ -718,7 +724,7 @@ function ParkingCardMgm(props) { |
|
|
|
<Select |
|
|
|
style={{ width: 270 }} |
|
|
|
placeholder="请选择" |
|
|
|
value={formData.channel_id} |
|
|
|
value={formData.channel} |
|
|
|
options={sysConfig.saleChannel} |
|
|
|
onChange={handleSaleChannel} |
|
|
|
/> |
|
|
@ -793,7 +799,7 @@ function ParkingCardMgm(props) { |
|
|
|
{cardItem?.name || '---'} |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="商品状态" span={1.5}> |
|
|
|
{cardItem?.status || '---'} |
|
|
|
{cardItem?.status_name || '---'} |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="生效日期" span={3}> |
|
|
|
<span>自购买后{cardItem?.days || '---'}天开始生效</span> |
|
|
@ -817,25 +823,26 @@ function ParkingCardMgm(props) { |
|
|
|
labelStyle={{wordBreak:"keep-all"}} |
|
|
|
> |
|
|
|
<Descriptions.Item label="销售日期" span={3}> |
|
|
|
{cardItem?.name || '---'} |
|
|
|
{cardItem?.sale_start || '---'} 至  |
|
|
|
{cardItem?.sale_end || '---'} |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="停车卡数量" span={2}> |
|
|
|
{cardItem?.card_num || '---'} |
|
|
|
{cardItem?.card_num || '---'}张 |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="销售渠道" span={1.5}> |
|
|
|
{cardItem?.channel || '---'} |
|
|
|
{cardItem?.channel_name || '---'} |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="原价" span={1}> |
|
|
|
{cardItem?.original_price || '---'} |
|
|
|
{cardItem?.original_price || '---'}元 |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="优惠价格" span={1}> |
|
|
|
{cardItem?.discount_amount || '---'} |
|
|
|
{cardItem?.discount_amount || '---'}元 |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="销售价格" span={1}> |
|
|
|
{cardItem?.selling_price || '---'} |
|
|
|
{cardItem?.original_price - cardItem?.discount_amount || '---'}元 |
|
|
|
</Descriptions.Item> |
|
|
|
<Descriptions.Item label="备注" span={1.5}> |
|
|
|
{cardItem?.remark || '---'} |
|
|
|
{cardItem?.text || '---'} |
|
|
|
</Descriptions.Item> |
|
|
|
</Descriptions> |
|
|
|
</div> |
|
|
@ -858,7 +865,7 @@ function ParkingCardMgm(props) { |
|
|
|
<label>停车卡名称</label> |
|
|
|
<Input |
|
|
|
placeholder="请输入内容" |
|
|
|
value={checkData.operator} |
|
|
|
value={checkData.name} |
|
|
|
style={{ width: 250, marginLeft: 10 }} |
|
|
|
maxLength={30} |
|
|
|
onChange={handleParkName} |
|
|
@ -873,11 +880,6 @@ function ParkingCardMgm(props) { |
|
|
|
<Space direction="vertical" size={12}> |
|
|
|
<RangePicker |
|
|
|
disabledDate={disabledDate} |
|
|
|
disabledTime={disabledRangeTime} |
|
|
|
// showTime={{ |
|
|
|
// hideDisabledOptions: true, |
|
|
|
// defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('00:00:00', 'HH:mm:ss')], |
|
|
|
// }} |
|
|
|
showTime |
|
|
|
onChange={changeTime} |
|
|
|
format="YYYY-MM-DD HH:mm:ss" |
|
|
@ -1035,7 +1037,7 @@ function ParkingCardMgm(props) { |
|
|
|
label: '后台录入' |
|
|
|
} |
|
|
|
]} |
|
|
|
value={String(checkData.channel_id)} |
|
|
|
value={String(checkData.channel)} |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div className="yisa-search extra-style"> |
|
|
@ -1076,9 +1078,9 @@ function ParkingCardMgm(props) { |
|
|
|
<label>备注</label> |
|
|
|
<TextArea |
|
|
|
placeholder="输入内容" |
|
|
|
value={checkData.remark} |
|
|
|
value={checkData.text} |
|
|
|
style={{ width: 250, marginLeft: 20 }} |
|
|
|
onChange={(v)=> setCheckData({...checkData,remark:v.target.value})} |
|
|
|
onChange={(v)=> setCheckData({...checkData,text:v.target.value})} |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|