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>
{
......@@ -344,4 +345,6 @@ const AdvertSetting: React.FC<AdvertSettingPropsType> = forwardRef((props, ref)
)
})
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
......
......@@ -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) => {
......
......@@ -8,6 +8,7 @@ import { topBarConfig, topAdvertConfig, headerConfig, mainNavConfig, bannerAdver
import Loading from '../../editor/components/Loading'
import { menuData } from './defaultMenu'
import { PublicApi } from '@/services/api'
import { getAuth } from '@/utils/auth'
import styles from './index.less'
interface ChannelEditPropsType {
......@@ -25,9 +26,10 @@ interface ChannelEditPropsType {
}
}
let TemplateList = ['science']
const TemplateList = ['science']
const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
const userInfo = getAuth() || {}
const { query: { id, template } } = props.location
const [loading, setLoading] = useState<boolean>(true)
const [theme, setTheme] = useState<string>('theme-channel-science')
......@@ -44,11 +46,12 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
const findFirstAdvertsByType = () => {
return new Promise((resolve) => {
let params = {
const params: any = {
templateId: id,
type: 1
type: 1,
memberId: userInfo.memberId
}
//@ts-ignore
PublicApi.getTemplateChannelFindAdvertsByType(params).then(res => {
if (res.code === 1000) {
resolve(res.data)
......@@ -61,11 +64,12 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
const findSecondAdvertsByType = () => {
return new Promise((resolve) => {
let params = {
const params: any = {
templateId: id,
type: 2
type: 2,
memberId: userInfo.memberId
}
//@ts-ignore
PublicApi.getTemplateChannelFindAdvertsByType(params).then(res => {
if (res.code === 1000) {
resolve(res.data)
......@@ -81,7 +85,10 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
*/
const fetchFirstCategory = () => {
return new Promise((resolve) => {
PublicApi.getTemplateChannelFindAllFirstCategory().then(res => {
const params: any = {
memberId: userInfo.memberId
}
PublicApi.getTemplateChannelFindAllFirstCategory(params).then(res => {
if (res.code === 1000) {
resolve(res.data)
} else {
......@@ -96,12 +103,12 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
*/
const fetchCategoryById = (categoryId) => {
return new Promise((resolve) => {
let param = {
const param: any = {
templateId: id,
categoryId
categoryId,
memberId: userInfo.memberId
}
// @ts-ignore
PublicApi.getTemplateChannelFindFirstCategoryDetail(param).then(res => {
resolve(res.data)
})
......@@ -114,7 +121,10 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
*/
const fetchShopInfo = () => {
return new Promise((resolve) => {
PublicApi.getTemplateChannelFindChannel().then(res => {
const params: any = {
memberId: userInfo.memberId
}
PublicApi.getTemplateChannelFindChannel(params).then(res => {
if (res.code === 1000) {
resolve(res.data)
}
......@@ -127,13 +137,15 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
*/
const fetchLeadNews = () => {
return new Promise((resolve) => {
//@ts-ignore
PublicApi.getManageContentInformationFindAllByRecommendLabel({ recommendLabel: 1 }).then(res => {
const param: any = {
recommendLabel: 1
}
PublicApi.getManageContentInformationFindAllByRecommendLabel(param).then(res => {
if (res.code === 1000) {
let leadNewsList: any = res.data || []
const leadNewsList: any = res.data || []
if (leadNewsList.length >= 2) {
let leftList = leadNewsList.slice(0, Math.round(leadNewsList.length / 2))
let rightList = leadNewsList.slice(Math.round(leadNewsList.length / 2), leadNewsList.length)
const leftList = leadNewsList.slice(0, Math.round(leadNewsList.length / 2))
const rightList = leadNewsList.slice(Math.round(leadNewsList.length / 2), leadNewsList.length)
resolve({
leadLeftNews: leftList,
leadRightNews: rightList
......@@ -158,10 +170,10 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
PublicApi.getManageContentColumnAll().then(res => {
if (res.code === 1000) {
let result = ""
let allColumn = res.data
const allColumn = res.data
if (allColumn && allColumn.length > 0) {
let labelList = allColumn.map((item: any) => item.name)
let showCount = 4
const showCount = 4
if (labelList.length <= showCount) {
result = labelList.join(' | ')
} else {
......@@ -200,17 +212,17 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
let initIndex = 100
let floorLineConfig: any = {}
let floorLineKeys: any = []
const floorLineKeys: any = []
let firstCategory: any = await fetchFirstCategory()
const firstCategory: any = await fetchFirstCategory()
for (let item of firstCategory) {
let categoryDetail: any = await fetchCategoryById(item.id)
for (const item of firstCategory) {
const categoryDetail: any = await fetchCategoryById(item.id)
let floorLineConfigItem = {}
floorLineKeys.push(String(initIndex + 1))
let FloorLine = {
const FloorLine = {
[String(initIndex + 1)]: {
"componentName": "ShopFloorLine",
"props": {
......@@ -220,7 +232,7 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
}
}
let Category = {
const Category = {
[String(initIndex + 2)]: {
"componentName": "ShopFloorLine.Category",
"props": {
......@@ -231,7 +243,7 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
},
}
let Goods = {
const Goods = {
[String(initIndex + 3)]: {
"componentName": "ShopFloorLine.Goods",
"props": {
......@@ -249,7 +261,7 @@ const ChannelEdit: React.FC<ChannelEditPropsType> = (props) => {
mallLayoutConfig["0"].childNodes = [...mallLayoutConfig["0"].childNodes, ...floorLineKeys, serviceAdvertConfig.key, CommonTitle2Config.key, AboutUsConfig.key, InformationConfig.key, FooterConfig.key]
let config = {
const config = {
...mallLayoutConfig,
...topBarConfig,
...topAdvertConfig,
......
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