Commit 60abf477 authored by Bill's avatar Bill

Merge branch 'dev' of 10.0.0.22:lingxi/lingxi-business-paltform into dev

parents 5acef646 13cb053d
......@@ -18,15 +18,9 @@ const payandSettleRoute: RouterChild = {
name: 'paySetting',
routes: [
// 会员支付参数配置
// {
// path:'/memberCenter/payandSettle/paySetting/payParamsSetting',
// name:'payParamsSetting',
// component:'@/pages/payandSettle/paySetting1'
// },
{
path:'/memberCenter/payandSettle/paySetting/payParamsSetting',
name:'payParamsSetting',
hideInMenu: true,
component:'@/pages/payandSettle/paySetting'
},
]
......
......@@ -11,7 +11,7 @@ import { ArrowUpOutlined, DeleteOutlined, PlusOutlined, ArrowDownOutlined, Caret
import { addTempalteIdToList } from '../../../../utils'
import styles from './index.less'
interface advertItemType {
interface AdvertItemType {
/**
* ID
*/
......@@ -54,7 +54,7 @@ interface advertItemType {
interface AdvertSettingPropsType {
advertList: advertItemType[];
advertList: AdvertItemType[];
onChange: Function;
type: 'top' | 'banner' | 'interact' | 'category';
templateid: number;
......@@ -64,7 +64,7 @@ interface AdvertSettingPropsType {
const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref) => {
const { advertList = [], templateid, type, categoryid, templateType } = props
const [list, setList] = useState<advertItemType[]>(advertList)
const [list, setList] = useState<AdvertItemType[]>(advertList)
const [confirmLoading, setConfirmLoading] = useState<boolean>(false)
const [newProps, setNewProps] = useState(props)
......@@ -87,10 +87,10 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
setNewProps(newProps)
}
const sortUp = (index: number, item: advertItemType) => {
let newList = JSON.parse(JSON.stringify(list))
let tempItem = JSON.parse(JSON.stringify(item))
let temp = newList[index - 1]
const sortUp = (index: number, item: AdvertItemType) => {
const newList = JSON.parse(JSON.stringify(list))
const tempItem = JSON.parse(JSON.stringify(item))
const temp = newList[index - 1]
newList[index - 1] = item
newList[index - 1].sort = temp.sort
newList[index] = temp
......@@ -99,10 +99,10 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
changeNewProps('advertList', newList)
}
const sortDown = (index: number, item: advertItemType) => {
let newList = JSON.parse(JSON.stringify(list))
let temp = newList[index + 1]
let tempItem = JSON.parse(JSON.stringify(item))
const sortDown = (index: number, item: AdvertItemType) => {
const newList = JSON.parse(JSON.stringify(list))
const temp = newList[index + 1]
const tempItem = JSON.parse(JSON.stringify(item))
newList[index + 1] = item
newList[index + 1].sort = temp.sort
newList[index] = temp
......@@ -112,7 +112,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
}
const addSliderItem = () => {
let newList = JSON.parse(JSON.stringify(list))
const newList = JSON.parse(JSON.stringify(list))
let sort = 0
if (newList.length <= 0) {
sort = 1
......@@ -120,7 +120,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
sort = newList[newList.length - 1].sort + 1
}
let tempItem: any = {
const tempItem: any = {
templateId: Number(templateid),
type: getAdvertType(type),
name: '',
......@@ -140,7 +140,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
}
const handleDeleteItem = (index: number) => {
let newList = JSON.parse(JSON.stringify(list))
const newList = JSON.parse(JSON.stringify(list))
newList.splice(index, 1)
let sort = 1
newList.map(item => {
......@@ -152,7 +152,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
}
const handleExpand = (sort: number, state: boolean) => {
let newList = JSON.parse(JSON.stringify(list))
const newList = JSON.parse(JSON.stringify(list))
newList.map(item => {
if (item.sort === sort) {
item.expand = state
......@@ -162,7 +162,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
}
const handleKeyChange = (value: string, sort: number, key: string) => {
let newList = JSON.parse(JSON.stringify(list))
const newList = JSON.parse(JSON.stringify(list))
newList.map(item => {
if (item.sort === sort) {
item[key] = value
......@@ -193,9 +193,10 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
return
}
setConfirmLoading(true)
let newParam: any = JSON.parse(JSON.stringify(newProps))
const newParam: any = JSON.parse(JSON.stringify(newProps))
newParam.advertList = newParam.advertList.map((item) => {
if (!item.link && !item.link.startsWith('http://') && !item.link.startsWith('https://')) {
console.log(item.link, "item.link")
if (item.link && !item.link.startsWith('http://') && !item.link.startsWith('https://')) {
item.link = `http://${item.link}`
}
return item
......@@ -247,7 +248,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
reject()
return
}
let param: any = {
const param: any = {
templateId: templateid,
type: getAdvertType(type),
adverts: addTempalteIdToList(advertList, templateid)
......@@ -293,7 +294,7 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
<div className={styles.advert_setting_line_name} onClick={() => handleExpand(item.sort, !item.expand)}>
<span>{item.name}</span>
{
!!item.expand ? <CaretUpOutlined className={styles.icon} /> : <CaretDownOutlined className={styles.icon} />
item.expand ? <CaretUpOutlined className={styles.icon} /> : <CaretDownOutlined className={styles.icon} />
}
</div>
{
......@@ -319,10 +320,10 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
<div className={styles.advert_setting_line_addItem_line}>
<div className={styles.advert_setting_line_addItem_line_label}>链接</div>
<div className={styles.advert_setting_line_addItem_line_brief}>
<Input
className={styles.advert_setting_line_addItem_input}
value={item.link}
onChange={(e) => handleKeyChange(e.target.value, item.sort, 'link')}
<Input
className={styles.advert_setting_line_addItem_input}
value={item.link}
onChange={(e) => handleKeyChange(e.target.value, item.sort, 'link')}
/>
</div>
</div>
......@@ -344,4 +345,6 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
)
})
export default AdvertSetting
\ No newline at end of file
AdvertSetting.displayName = "AdvertSetting"
export default AdvertSetting
import React, { useState, useEffect, useCallback } from 'react'
import React, { useState, useEffect } from 'react'
import { clearSelectedStatus, changeProps } from 'lingxi-editor-core'
import { Row, Col, Button, Input, Pagination, Select, Form, message, Modal } from 'antd'
import SettingList from '../../../../components/SettingList'
......@@ -207,6 +207,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
changeProps({
props: {
linkdisable: true,
templateid,
categoryid,
goodsList: newList
......
......@@ -127,7 +127,7 @@ const ShopEdit: React.FC<ShopEditPropsType> = (props) => {
const fetchShopInfo = () => {
return new Promise((resolve) => {
const param: any = {
memberId,
memberId,
roleId: memberRoleId
}
PublicApi.getTemplateShopFindShop(param).then(res => {
......
......@@ -8,7 +8,7 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { LinkOutlined, PlusOutlined } from '@ant-design/icons';
import { PublicApi } from '@/services/api';
import ModalTable from '@/components/ModalTable';
import { SelectGoodsColumns } from './columns';
import { SelectGoodsColumns } from './components/columns';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
const { TabPane } = Tabs;
const { Search } = Input;
......@@ -24,16 +24,17 @@ const layout: any = {
* @shipmentOrderCode: 对应发货单号
* @relevanceOrderCode: 对应订单号/售后单
* @relevanceType: 1-销售订单 2-换货申请单(退货发货) 3-换货申请单(换货发货) 4-退货申请单 -> (自新建的时候才有这个)
* @createType: 1. 销售发货订单创建, 2. 生产通知订单创建, 3. 换货申请创建, 4.换货处理创建 , 5.退货申请创建,-> (默认没有为自新建)
* @createType: 1-物流能力创建2-销售发货订单创建3-生产通知订单创建4-换货申请创建5-换货处理创建6-退货申请创建,-> (默认没有为自新建)
* ps: 列表得返回这个物流的是哪个createType的,才能进行对象的接口请求
*/
const AddLogistics: React.FC<{}> = () => {
const ref = useRef<any>();
const { id, shipmentOrderCode, relevanceOrderCode, relevanceType, createType } = history.location.query;
const { id, shipmentOrderCode, relevanceOrderCode, relevanceType } = history.location.query;
const [data, setdata] = useState<any>([]); //表格列表数据
const [query, setQuery] = useState<any>({}); //表提交的数据
const [visible, setvisible] = useState<boolean>(false);
const [createType, setCreateType] = useState<number>(Number(history.location.query.createType)); /**创建方式 */
const [goodsRowSelection, goodsRowCtl] = useRowSelectionTable({ customKey: 'productId' })
const [listShipperAddress, setListShipperAddress] = useState<any>([]); //发货地址
const [listMemberCompany, setListMemberCompany] = useState<any>([]); //物流服务商
......@@ -162,6 +163,11 @@ const AddLogistics: React.FC<{}> = () => {
}).catch(error => console.log(error));
switch (Number(createType)) {
case 1:
if(id) {
}
break;
case 2:
PublicApi.getWarehouseInvoicesDetails({ invoicesId: id }).then((res: any) => {
if (res.code === 1000) {
const obj = {
......@@ -178,13 +184,58 @@ const AddLogistics: React.FC<{}> = () => {
}
})
break;
case 2:
break;
case 3:
PublicApi.getEnhanceProcessToBeAddLogisticsDetails({ id }).then((res: any) => {
if (res.code === 1000) {
const obj = {
receiverName: res.data.receiveUserName,
receiverPhone: res.data.receiveUserTel,
receiverFullAddress: res.data.receiveAddress,
shipmentOrderCode: res.data.deliveryNo,
relevanceOrderCode: res.data.orderNo,
voucherTime: res.data.transactionTime,
externalState: res.data.state
}
form.setFieldsValue(obj);
setQuery({ ...obj })
}
})
break;
case 4:
PublicApi.getAsReplaceGoodsPageReturnDetailByLogistics({replaceId: id}).then((res: any) => {
if (res.code === 1000) {
const obj = {
receiverName: res.data.receiveUserName,
receiverPhone: res.data.receiveUserTel,
receiverFullAddress: res.data.receiveAddress,
relevanceOrderCode: res.data.applyNo,
voucherTime: res.data.applyTime,
externalState: res.data.state,
digest: res.data.applyAbstract
}
form.setFieldsValue(obj);
setQuery({ ...obj })
}
})
break;
case 5:
PublicApi.getAsReplaceGoodsPageReplaceDetailByLogistics({replaceId: id}).then((res: any) => {
if (res.code === 1000) {
const obj = {
receiverName: res.data.receiveUserName,
receiverPhone: res.data.receiveUserTel,
receiverFullAddress: res.data.receiveAddress,
relevanceOrderCode: res.data.applyNo,
voucherTime: res.data.applyTime,
externalState: res.data.state,
digest: res.data.applyAbstract
}
form.setFieldsValue(obj);
setQuery({ ...obj })
}
})
break;
case 6:
PublicApi.getAsReturnGoodsPageDetailByLogistics({ returnId: id }).then((res: any) => {
if (res.code === 1000) {
const obj = {
......@@ -224,20 +275,29 @@ const AddLogistics: React.FC<{}> = () => {
const fetchData = (params?: any) => {
return new Promise(resolve => {
switch (Number(createType)) {
case 1:
case 2:
case 3:
PublicApi.getWarehouseInvoicesProductList({...params, invoicesId: id}).then(res => {
if(res.code === 1000) {
resolve(res.data)
}
})
break;
case 2:
break;
case 3:
break;
case 4:
PublicApi.getAsReplaceGoodsPageReturnCommodityByLogistics({...params, dataId: id}).then(res => {
if(res.code === 1000) {
resolve(res.data)
}
})
break;
case 5:
PublicApi.getAsReplaceGoodsPageReplaceCommodityByLogistics({...params, dataId: id}).then(res => {
if(res.code === 1000) {
resolve(res.data)
}
})
break;
case 6:
PublicApi.getAsReturnGoodsPageCommodityByLogistics({...params, dataId: id}).then(res => {
if(res.code === 1000) {
resolve(res.data)
......@@ -248,6 +308,28 @@ const AddLogistics: React.FC<{}> = () => {
})
}
/**确定选择商品 */
const handleConfirm = () => {
const selectRow = goodsRowCtl.selectRow;
const arr: any[] = []
selectRow.forEach((item: any) => {
arr.push({
productId: item.id,
productName: item.productName,
categoryName: item.category,
brandName: item.brand,
unitName: item.unitName,
amount: item.amount,
carton: item.carton,
weight: item.weight,
volume: item.volume
})
})
setdata([...arr])
setvisible(false)
console.log(selectRow, 10086)
}
return (
<PageHeaderWrapper
onBack={() => history.goBack()}
......@@ -328,12 +410,14 @@ const AddLogistics: React.FC<{}> = () => {
<TabPane key='tab-4' tab='流转记录' forceRender></TabPane>
</Tabs>
</Card>
<ModalTable
modalTitle='选择商品'
visible={visible}
columns={SelectGoodsColumns}
fetchTableData={(params) => fetchData(params)}
cancel={() => setvisible(false)}
confirm={handleConfirm}
rowSelection={goodsRowSelection}
modalType='selectGoodsSchema'
searchName='productName'
......
......@@ -184,8 +184,6 @@ const ModalTableOrder: React.FC<ModalTableProps> = (props) => {
form.setFieldsValue({
radio: type
})
// console.log('执行')
// fetchData()
}, [type])
const fetchData = (parmas?: any) => {
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment