Commit 2d0f3253 authored by Bill's avatar Bill

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

parents a8c71b5f ba0ef87b
...@@ -31,26 +31,6 @@ const router = { ...@@ -31,26 +31,6 @@ const router = {
hideInMenu: true, hideInMenu: true,
component: '@/pages/systemManage/sensitiveWords/template', component: '@/pages/systemManage/sensitiveWords/template',
},{ },{
// 汇率列表
path: '/system/exchangeRate',
name: 'exchangeRate',
hidePageHeader: true,
component: '@/pages/systemManage/exchangeRate',
},{
// 汇率列表 - 新增
path: '/system/exchangeRate/add',
name: 'exchangeRateAdd',
hidePageHeader: true,
hideInMenu: true,
component: '@/pages/systemManage/exchangeRate/template',
},{
// 汇率列表 - 编辑
path: '/system/exchangeRate/edit',
name: 'exchangeRateEdit',
hidePageHeader: true,
hideInMenu: true,
component: '@/pages/systemManage/exchangeRate/template',
},{
// 单位列表 // 单位列表
path: '/system/unit', path: '/system/unit',
name: 'unit', name: 'unit',
......
...@@ -220,7 +220,7 @@ export default { ...@@ -220,7 +220,7 @@ export default {
'menu.system.unit': '单位', 'menu.system.unit': '单位',
'menu.system.unitAdd': '新建单位', 'menu.system.unitAdd': '新建单位',
'menu.system.unitEdit': '编辑单位', 'menu.system.unitEdit': '编辑单位',
'menu.system.platformArg': '平参数', 'menu.system.platformArg': '平参数',
'menu.productionNotice': '生产通知单管理', 'menu.productionNotice': '生产通知单管理',
'menu.productionNotice.query': '生产通知单查询', 'menu.productionNotice.query': '生产通知单查询',
......
...@@ -142,7 +142,10 @@ const EvaluationList = props => { ...@@ -142,7 +142,10 @@ const EvaluationList = props => {
</div> </div>
<div className="goodInfo-right"> <div className="goodInfo-right">
<div className="goodInfo-title">{item.good.productName}</div> <div className="goodInfo-title">{item.good.productName}</div>
<div className="goodInfo-desc">{item.good.purchaseCount || ''}</div> <div className="goodInfo-desc">
X {item.good.purchaseCount || ''}
{item.good.unit || ''}
</div>
<div className="goodInfo-price">{`¥ ${item.good.price}`}</div> <div className="goodInfo-price">{`¥ ${item.good.price}`}</div>
</div> </div>
</div> </div>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2020-09-23 11:02:03 * @Date: 2020-09-23 11:02:03
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-26 09:52:13 * @LastEditTime: 2020-12-04 11:21:50
* @Description: * @Description:
*/ */
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
...@@ -51,7 +51,7 @@ const CommentManageDetailed: React.FC = () => { ...@@ -51,7 +51,7 @@ const CommentManageDetailed: React.FC = () => {
} }
return { return {
created: data.dealTime, created: data.dealTime,
orderNo: data.remark, orderNo: data.orderNo,
}; };
}; };
...@@ -136,7 +136,7 @@ const CommentManageDetailed: React.FC = () => { ...@@ -136,7 +136,7 @@ const CommentManageDetailed: React.FC = () => {
}} }}
editable={false} editable={false}
expressionScope={{ expressionScope={{
UploadTip, UploadTip: null,
beforeUpload, beforeUpload,
}} }}
onSubmit={() => { }} onSubmit={() => { }}
......
...@@ -215,7 +215,7 @@ const CommentManage: React.FC = () => { ...@@ -215,7 +215,7 @@ const CommentManage: React.FC = () => {
useStateFilterSearchLinkageEffect( useStateFilterSearchLinkageEffect(
$, $,
actions, actions,
'keyword', 'product',
FORM_FILTER_PATH, FORM_FILTER_PATH,
); );
useAsyncInitSelect( useAsyncInitSelect(
......
...@@ -22,12 +22,12 @@ export const listSearchSchema: ISchema = { ...@@ -22,12 +22,12 @@ export const listSearchSchema: ISchema = {
children: '{{controllerBtns}}', children: '{{controllerBtns}}',
}, },
}, },
keyword: { product: {
type: 'string', type: 'string',
'x-component': 'Search', 'x-component': 'Search',
'x-component-props': { 'x-component-props': {
placeholder: '搜索', placeholder: '搜索',
tip: '输入 订单号、交易商品 进行搜索', tip: '输入 交易商品 进行搜索',
}, },
}, },
}, },
......
...@@ -142,7 +142,10 @@ const EvaluationList = props => { ...@@ -142,7 +142,10 @@ const EvaluationList = props => {
</div> </div>
<div className="goodInfo-right"> <div className="goodInfo-right">
<div className="goodInfo-title">{item.good.productName}</div> <div className="goodInfo-title">{item.good.productName}</div>
<div className="goodInfo-desc">X {item.good.purchaseCount || ''}</div> <div className="goodInfo-desc">
X {item.good.purchaseCount || ''}
{item.good.unit || ''}
</div>
<div className="goodInfo-price">{`¥ ${item.good.price}`}</div> <div className="goodInfo-price">{`¥ ${item.good.price}`}</div>
</div> </div>
</div> </div>
......
...@@ -155,17 +155,16 @@ const CommentDetailed: React.FC = () => { ...@@ -155,17 +155,16 @@ const CommentDetailed: React.FC = () => {
const { data, totalCount } = res.data; const { data, totalCount } = res.data;
resolve({ resolve({
data: data.map(item => { data: data.map(item => {
const product = isJSONStr(item.product) || {};
return { return {
id: item.id, id: item.id,
star: item.star, star: item.star,
comment: item.comment, comment: item.comment,
productName: product.productName || '', productName: item.product || '',
price: product.price, price: item.price,
quantity: product.purchaseCount, quantity: item.purchaseCount,
created: item.createTime, created: item.createTime,
target: item.byMemberName, target: item.byMemberName,
orderId: product.orderId, orderId: item.orderId,
}; };
}), }),
totalCount, totalCount,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2020-10-20 11:43:12 * @Date: 2020-10-20 11:43:12
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-30 14:11:06 * @LastEditTime: 2020-12-04 14:35:12
* @Description: * @Description:
*/ */
import { normalizeFiledata, FileData, isJSONStr } from '@/utils'; import { normalizeFiledata, FileData, isJSONStr } from '@/utils';
...@@ -27,13 +27,13 @@ export function normalizeUnevaluatedList(arr: any): Unevaluated[] { ...@@ -27,13 +27,13 @@ export function normalizeUnevaluatedList(arr: any): Unevaluated[] {
return ret; return ret;
} }
arr.forEach(item => { arr.forEach(item => {
const product = isJSONStr(item.product) || {};
const atom = { const atom = {
good: { good: {
pic: product.pic, pic: item.productImgUrl,
productName: product.productName, productName: item.product,
price: item.price, price: item.price,
purchaseCount: item.dealCount, // 采购数量 purchaseCount: item.purchaseCount, // 采购数量
unit: item.unit,
}, },
star: item.star, // 评分星星 star: item.star, // 评分星星
comment: item.comment, // 评价 comment: item.comment, // 评价
......
...@@ -108,6 +108,7 @@ export const baseOrderListColumns: any[] = [ ...@@ -108,6 +108,7 @@ export const baseOrderListColumns: any[] = [
align: 'center', align: 'center',
dataIndex: 'sumPrice', dataIndex: 'sumPrice',
key: 'sumPrice', key: 'sumPrice',
render: (t, r) => (r.type === 7 || r.type === 8) ? t : '¥' + t
}, },
{ {
title: '订单类型', title: '订单类型',
...@@ -162,7 +163,7 @@ const fetchTableData = async (params) => { ...@@ -162,7 +163,7 @@ const fetchTableData = async (params) => {
// 最后一步开始调试 TODO // 最后一步开始调试 TODO
const SaleOrder: React.FC<SaleOrderProps> = (props) => { const SaleOrder: React.FC<SaleOrderProps> = (props) => {
const secondColumns: any[] = baseOrderListColumns.concat([ const secondColumns: any[] = baseOrderListColumns.concat([
]) ])
...@@ -207,4 +208,4 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => { ...@@ -207,4 +208,4 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
SaleOrder.defaultProps = {} SaleOrder.defaultProps = {}
export default SaleOrder export default SaleOrder
\ No newline at end of file
...@@ -6,6 +6,7 @@ import { PayOutWorkState } from '@/constants' ...@@ -6,6 +6,7 @@ import { PayOutWorkState } from '@/constants'
import { PublicApi } from '@/services/api' import { PublicApi } from '@/services/api'
import { history, Link } from 'umi' import { history, Link } from 'umi'
import OverflowText from '@/components/OverflowText' import OverflowText from '@/components/OverflowText'
import { useHttpRequest } from '@/hooks/useHttpRequest'
export interface OrderPayResultModalProps { export interface OrderPayResultModalProps {
type: 'default' | 'preview', type: 'default' | 'preview',
...@@ -16,7 +17,9 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe ...@@ -16,7 +17,9 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe
const { data } = useContext(OrderDetailContext) const { data } = useContext(OrderDetailContext)
const { id } = usePageStatus() const { id } = usePageStatus()
const [visible, setVisible] = useState(false) const [visible, setVisible] = useState(false)
const [isReady, setIsReady] = useState()
const canCtlData = data.paymentInformationResponses.find(v => v.externalState === PayOutWorkState.READY_CONFIRM_RESULT) || {} const canCtlData = data.paymentInformationResponses.find(v => v.externalState === PayOutWorkState.READY_CONFIRM_RESULT) || {}
const { run, loading } = useHttpRequest(PublicApi.postOrderPlatformConfirmedPaymentResultsOrder)
const transData = canCtlData.payOrderUrls?.split(',') || [] const transData = canCtlData.payOrderUrls?.split(',') || []
useEffect(() => { useEffect(() => {
...@@ -33,14 +36,15 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe ...@@ -33,14 +36,15 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe
} }
const handleConfirm = async (isReady) => { const handleConfirm = async (isReady) => {
setIsReady(isReady)
const params = { const params = {
state: isReady, state: isReady,
id: Number(id), id: Number(id),
paymentInformationId: canCtlData.id paymentInformationId: canCtlData.id
} }
const { code } = await PublicApi.postOrderPlatformConfirmedPaymentResultsOrder(params) const res = await run(params)
if (code === 1000) { if (res && res.code === 1000) {
history.goBack() history.goBack()
} }
} }
...@@ -52,8 +56,8 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe ...@@ -52,8 +56,8 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe
onCancel={handleCancel} onCancel={handleCancel}
footer={(type === 'default' && transData) ? <Space> footer={(type === 'default' && transData) ? <Space>
<Button onClick={handleCancel}>取消</Button> <Button onClick={handleCancel}>取消</Button>
<Button onClick={() => handleConfirm(0)} type='dashed'>确认未到账</Button> <Button loading={isReady === 0 && loading} onClick={() => handleConfirm(0)} type='dashed'>确认未到账</Button>
<Button onClick={() => handleConfirm(1)} type='primary'>确认到账</Button> <Button loading={isReady === 1 && loading} onClick={() => handleConfirm(1)} type='primary'>确认到账</Button>
</Space> : null} </Space> : null}
> >
<List <List
...@@ -73,4 +77,4 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe ...@@ -73,4 +77,4 @@ const OrderPayResultModal:React.FC<OrderPayResultModalProps> = ({type, currentRe
OrderPayResultModal.defaultProps = {} OrderPayResultModal.defaultProps = {}
export default OrderPayResultModal export default OrderPayResultModal
\ No newline at end of file
...@@ -84,10 +84,10 @@ const warehouseColumns: any[] = [ ...@@ -84,10 +84,10 @@ const warehouseColumns: any[] = [
const modalPriceActions = createFormActions() const modalPriceActions = createFormActions()
// 总计金额联动框 // 总计金额联动框
export const MoneyTotalBox = ({ dataSource, isEditData }) => { export const MoneyTotalBox = ({ dataSource, isEditData }) => {
const { orderProductRequests = [], receiverAddressId, orderModel } = dataSource || {} const { orderProductRequests = [], receiverAddressId, orderModel, sumPrice, amount, freight } = dataSource || {}
const creditsCommodity = (orderModel === 24 || orderModel === 25) // 积分或渠道积分下单模式 const creditsCommodity = (orderModel === 24 || orderModel === 25) // 积分或渠道积分下单模式
const sum = orderProductRequests.reduce((prev, next) => prev + Number((next.price || 0)), 0) const sum = amount || orderProductRequests.reduce((prev, next) => prev + Number((next.price || 0)), 0)
const modelRef = useRef<any>({}) const modelRef = useRef<any>({})
const [freePrice, setFreePrice] = useState<number>(0) const [freePrice, setFreePrice] = useState<number>(0)
const handleSetting = () => { const handleSetting = () => {
...@@ -126,11 +126,11 @@ export const MoneyTotalBox = ({ dataSource, isEditData }) => { ...@@ -126,11 +126,11 @@ export const MoneyTotalBox = ({ dataSource, isEditData }) => {
</Col> </Col>
<Col span={2}> <Col span={2}>
<div>运费 { isEditData && <SettingOutlined style={{marginLeft: 8}} onClick={handleSetting}/>}</div> <div>运费 { isEditData && <SettingOutlined style={{marginLeft: 8}} onClick={handleSetting}/>}</div>
<div>{freePrice}</div> <div>{freight || freePrice}</div>
</Col> </Col>
<Col span={2}> <Col span={2}>
<div>{creditsCommodity ? '总计所需积分' : '总计金额'}</div> <div>{creditsCommodity ? '总计所需积分' : '总计金额'}</div>
<div>{sum + freePrice}</div> <div>{sumPrice || sum + freePrice}</div>
</Col> </Col>
<ModalForm <ModalForm
modalTitle='设置运费' modalTitle='设置运费'
...@@ -293,7 +293,7 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => { ...@@ -293,7 +293,7 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => {
} }
return v return v
}) })
ctl.setData({ ctl.setData({
...data, ...data,
orderProductRequests: newData orderProductRequests: newData
...@@ -365,7 +365,7 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => { ...@@ -365,7 +365,7 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => {
dataIndex: 'memberPrice', dataIndex: 'memberPrice',
align: 'center', align: 'center',
key: 'memberPrice', key: 'memberPrice',
render: (text, record) => record.isMemberPrice ? (text + '%') : null render: (text, record) => record.isMemberPrice ? (text * 100 + '%') : null
}, },
{ {
title: creditsCommodity ? '兑换数量' : '采购数量', title: creditsCommodity ? '兑换数量' : '采购数量',
...@@ -382,9 +382,9 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => { ...@@ -382,9 +382,9 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => {
}, },
{ {
title: creditsCommodity ? '所需积分小计' : '金额', title: creditsCommodity ? '所需积分小计' : '金额',
dataIndex: 'price', dataIndex: 'money',
align: 'center', align: 'center',
key: 'price', key: 'money',
}, },
// 接口调用 // 接口调用
{ {
...@@ -450,4 +450,4 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => { ...@@ -450,4 +450,4 @@ const OrderProductTable:React.FC<OrderProductTableProps> = (props) => {
OrderProductTable.defaultProps = {} OrderProductTable.defaultProps = {}
export default OrderProductTable export default OrderProductTable
\ No newline at end of file
...@@ -65,7 +65,9 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => { ...@@ -65,7 +65,9 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
const fetchCategoryList = () => { const fetchCategoryList = () => {
const param: any = { const param: any = {
categoryId: categoryid, categoryId: categoryid,
templateId: templateid templateId: templateid,
current: 1,
pageSize: 100
} }
PublicApi.getTemplatePlatformFindCategoryList(param).then(res => { PublicApi.getTemplatePlatformFindCategoryList(param).then(res => {
...@@ -78,7 +80,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => { ...@@ -78,7 +80,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
const fetchBrandsList = () => { const fetchBrandsList = () => {
const param: any = { const param: any = {
type: 0, type: 2,
templateId: templateid, templateId: templateid,
categoryId: categoryid, categoryId: categoryid,
current: 1, current: 1,
...@@ -273,7 +275,10 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => { ...@@ -273,7 +275,10 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
</Button> </Button>
) : ( ) : (
<Button <Button
onClick={() => setOprationType('list')} onClick={() => {
setOprationType('list')
setIsHighSearch(false)
}}
> >
查看已选择商品({selectGoodsList.length}) 查看已选择商品({selectGoodsList.length})
</Button> </Button>
...@@ -326,7 +331,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => { ...@@ -326,7 +331,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
name="twoCategoryId" name="twoCategoryId"
className={styles.mar_bot_0} className={styles.mar_bot_0}
> >
<Select placeholder="品类" style={{ width: 180 }} onChange={handleSearch}> <Select placeholder="品类" allowClear style={{ width: 180 }} onChange={handleSearch}>
{ {
categoryResponseList.map((item, index) => <Select.Option key={`select_category_item_${index}`} value={item.categoryId}>{item.categoryName}</Select.Option>) categoryResponseList.map((item, index) => <Select.Option key={`select_category_item_${index}`} value={item.categoryId}>{item.categoryName}</Select.Option>)
} }
...@@ -338,7 +343,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => { ...@@ -338,7 +343,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
name="brandId" name="brandId"
className={styles.mar_bot_0} className={styles.mar_bot_0}
> >
<Select placeholder="品牌" style={{ width: 180 }} onChange={handleSearch}> <Select placeholder="品牌" allowClear style={{ width: 180 }} onChange={handleSearch}>
{ {
noSelectBrands.map((item, index) => (<Select.Option key={`select_brand_item_${index}`} value={item.brandId}>{item.brandName}</Select.Option>)) noSelectBrands.map((item, index) => (<Select.Option key={`select_brand_item_${index}`} value={item.brandId}>{item.brandName}</Select.Option>))
} }
......
...@@ -49,8 +49,10 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => { ...@@ -49,8 +49,10 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
}, []) }, [])
const fetchDetail = () => { const fetchDetail = () => {
//@ts-ignore const param: any = {
PublicApi.getTemplatePlatformFindTemplateDetails({ id }).then(res => { id
}
PublicApi.getTemplatePlatformFindTemplateDetails(param).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
setDetailInfo(res.data) setDetailInfo(res.data)
} }
...@@ -85,11 +87,10 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => { ...@@ -85,11 +87,10 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
const confirmShelfShop = (shelf: number) => { const confirmShelfShop = (shelf: number) => {
return new Promise((resolve) => { return new Promise((resolve) => {
let param = { const param = {
id, id,
shelf shelf
} }
//@ts-ignore
PublicApi.postTemplatePlatformShelfTemplate(param).then(res => { PublicApi.postTemplatePlatformShelfTemplate(param).then(res => {
fetchDetail() fetchDetail()
resolve() resolve()
...@@ -99,10 +100,9 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => { ...@@ -99,10 +100,9 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
const confirmUseTemplate = () => { const confirmUseTemplate = () => {
return new Promise((resolve) => { return new Promise((resolve) => {
let param = { const param: any = {
id: Number(id), id: Number(id),
} }
//@ts-ignore
PublicApi.postTemplatePlatformUseTemplate(param).then(res => { PublicApi.postTemplatePlatformUseTemplate(param).then(res => {
fetchDetail() fetchDetail()
resolve() resolve()
...@@ -145,7 +145,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => { ...@@ -145,7 +145,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
<div className={styles.template_detail}> <div className={styles.template_detail}>
<div className={styles.template_info_wrap}> <div className={styles.template_info_wrap}>
<div className={styles.template_img_box}> <div className={styles.template_img_box}>
<div className={cx(styles.type_tag)}>PC</div> <div className={cx(styles.type_tag)}>{detailInfo?.environment && Environment_Status[detailInfo?.environment].name}</div>
<img src={detailInfo?.templatePicUrl} /> <img src={detailInfo?.templatePicUrl} />
</div> </div>
<div className={styles.template_info}> <div className={styles.template_info}>
...@@ -219,7 +219,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => { ...@@ -219,7 +219,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
<UseModal <UseModal
title="使用商场模板" title="使用商场模板"
visible={useModalVisible} visible={useModalVisible}
onOk={() => { }} onOk={() => { console.log() }}
type={type} type={type}
onCancel={() => setUseModalVisible(false)} onCancel={() => setUseModalVisible(false)}
/> />
......
...@@ -373,66 +373,55 @@ const PaySetting: React.FC<{}> = () => { ...@@ -373,66 +373,55 @@ const PaySetting: React.FC<{}> = () => {
// 整体表单提交 // 整体表单提交
const handleSubmit = (values: any) => { const handleSubmit = (values: any) => {
let baseList: any = GlobalConfig.payConfig.payInitializeConfig const baseList: any = GlobalConfig.payConfig.payInitializeConfig
console.log('values:', values, 'baseList:', baseList) const paymentPolicyPayWayRequests: any = []
let list: any = [] baseList.forEach((item: any, idx: number) => {
baseList.forEach((item: any, index: number) => { const payWays: any = [];
let payWayIds = `payWayIds-${index}`, ruleConfigurationId = `ruleConfigurationId-${index}`, _id = `id-${index}` item.payWayResponses.forEach((items: any) => {
let v = [values[payWayIds], item.payWayResponses.filter((v => v.value == values[payWayIds])).map(v => v.label)] const ids = values[`payWayIds-${idx}`];
let _payWays: any[] = [] ids.forEach((id: number) => {
if (v.length === 2) { if (id === items.value) {
let obj: any = {} payWays.push({
// if(v[0] &&v[0].length > 0){ id: items.value,
v[0].forEach(item => { way: items.label,
obj.id = item payType: items.payType,
}); isPitchOn: 1
// } })
// if(v[1] &&v[1].length > 0 ){ }
v[1].forEach(item => { })
obj.way = item })
}); paymentPolicyPayWayRequests.push({
// }
_payWays.push(obj)
}
list.push({
id: values[_id],
payType: item.payType, payType: item.payType,
['payWays']: [..._payWays], payWays,
// ['payWayIds']: values[payWayIds], ruleConfigurationId: values[`ruleConfigurationId-${idx}`]
// ['payWays']:{
// id: values[payWayIds],
// way: item.payWayResponses.filter((v=> v.value == values[payWayIds])).map(v => v.label)
// },
['ruleConfigurationId']: values[ruleConfigurationId]
}) })
})
}); // 提交用到的query
let params: any = { const param: any = {
paymentPolicyName: values.paymentPolicyName, paymentPolicyName: values.paymentPolicyName,
paymentPolicyPayWayRequests: list,
isSelected: values.isSelected, isSelected: values.isSelected,
paymentPolicyPayWayRequests,
memberIdRoleIds: [] memberIdRoleIds: []
} }
if (values.isSelected === 0) { if (values.isSelected === 0) {
let memberIdRoleIds: any = [] if (memberRowCtl.selectRow.length > 0) {
memberRowCtl.selectRow.forEach((v => { const memberIdRoleId: any = [];
memberIdRoleIds.push({ memberRowCtl.selectRow.forEach((v => {
memberId: v.memberId, memberIdRoleId.push({
roleId: v.roleId memberId: v.memberId,
}) roleId: v.roleId
})) })
params.memberIdRoleIds = memberIdRoleIds }))
param.memberIdRoleIds = memberIdRoleId
}
} }
//新增 //新增
if (params.memberIdRoleIds.length === 0 && values.isSelected === 0) { if (param.memberIdRoleIds.length === 0 && values.isSelected === 0) {
message.error('请选择指定的会员'); message.error('请选择指定的会员');
return return
} }
if (!usePageStatus().id) { if (!usePageStatus().id) {
console.log('params', params) PublicApi.postPayPayMemberTacticsAdd({ ...param }).then(res => {
PublicApi.postPayPayMemberTacticsAdd({ ...params }).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
setTimeout(() => { setTimeout(() => {
history.goBack() history.goBack()
...@@ -440,8 +429,8 @@ const PaySetting: React.FC<{}> = () => { ...@@ -440,8 +429,8 @@ const PaySetting: React.FC<{}> = () => {
} }
}) })
} else { } else {
params.paymentPolicyId = usePageStatus().id param.paymentPolicyId = usePageStatus().id
PublicApi.postPayPayMemberTacticsUpdate({ ...params }).then(res => { PublicApi.postPayPayMemberTacticsUpdate({ ...param }).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
setTimeout(() => { setTimeout(() => {
history.goBack() history.goBack()
...@@ -449,7 +438,6 @@ const PaySetting: React.FC<{}> = () => { ...@@ -449,7 +438,6 @@ const PaySetting: React.FC<{}> = () => {
} }
}) })
} }
} }
return ( return (
......
import React, { useRef } from 'react';
import { Card, Row, Col, Space, Button } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
const SensitiveWords: React.FC<{}> = () => {
const ref = useRef<any>({});
const columns: ColumnType<any>[] = [
{
title: 'ID',
key: 'id',
dataIndex: 'id',
}, {
title: '外币英文简称',
key: 'name',
dataIndex: 'name',
}, {
title: '本地英文简称',
key: 'remarks',
dataIndex: 'remarks',
}, {
title: '汇率',
key: 'hui',
dataIndex: 'hui',
}, {
title: '有效期起',
key: 'qi',
dataIndex: 'qi',
},{
title: '有效期止',
key: 'zhi',
dataIndex: 'zhi',
},{
title: '状态',
key: 'status',
dataIndex: 'status',
},{
title: '操作',
key: 'options',
dataIndex: 'options',
},
]
const controllerBtns = <Row>
<Col span={24}>
<Space direction="horizontal" size={16}>
<Button type="primary" icon={<PlusOutlined />}>新建</Button>
</Space>
</Col>
</Row>
return (
<PageHeaderWrapper>
<Card>
<StandardTable
currentRef={ref}
columns={columns}
tableProps={{ rowKew: 'id' }}
formilyLayouts={{
justify: 'space-between'
}}
formilyProps={{
layouts: {
order: 1,
span: 4
},
ctx: {
inline: false,
schema: {
type: 'object',
properties: {
megaLayout0: {
type: 'object',
'x-component': 'mega-layout',
"x-component-props": {
grid: true,
columns: 1,
},
properties: {
name: {
type: 'string',
'x-component-props': {
placeholder: '属性名称',
},
'x-component': 'Search'
}
}
}
}
}
}
}}
formilyChilds={{
layouts: {
order: 0
},
children: (
<>
{controllerBtns}
</>
)
}}
/>
</Card>
</PageHeaderWrapper>
)
}
export default SensitiveWords;
\ No newline at end of file
import React from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { history } from 'umi';
import ReutrnEle from '@/components/ReturnEle';
import { Card, Form, Input, Button, Space, Select, DatePicker } from 'antd';
import moment from 'moment'
const layout: any = {
colon: false,
labelCol: { style: { width: '174px' } },
wrapperCol: { span: 9 },
labelAlign: "left"
};
const tailLayout = {
wrapperCol: { style: { marginLeft: '174px' } },
};
const { Option } = Select;
const Template:React.FC<{}> = () => {
// 只能选当天和之后的日期
const disabledDate = (current) => {
return current && current < moment().startOf('day');
}
return(
<PageHeaderWrapper
onBack={() => history.goBack()}
backIcon={<ReutrnEle description="返回" />}
>
<Card>
<Form
{...layout}
>
<Form.Item label='外币英文简称' name='name' rules={[{ required: true, message: '请输入单位名称' }]}>
<Input />
</Form.Item>
<Form.Item label='本币英文简称' name='enName' rules={[{ required: true, message: '请输入英文简称' }]}>
<Input />
</Form.Item>
<Form.Item label='汇率' name='enName' rules={[{ required: true, message: '请输入英文简称' }]}>
<Input />
</Form.Item>
<Form.Item label='有效期起' name='enName' rules={[{ required: true, message: '请输入英文简称' }]}>
<DatePicker
disabledDate={disabledDate}
/>
</Form.Item>
<Form.Item label='有效期止' name='enName' rules={[{ required: true, message: '请输入英文简称' }]}>
<DatePicker
disabledDate={disabledDate}
/>
</Form.Item>
<Form.Item {...tailLayout}>
<Space size={24}>
<Button type='primary'>保存</Button>
<Button>取消</Button>
</Space>
</Form.Item>
</Form>
</Card>
</PageHeaderWrapper>
)
}
export default Template;
\ No newline at end of file
...@@ -18,8 +18,7 @@ const { TextArea } = Input; ...@@ -18,8 +18,7 @@ const { TextArea } = Input;
const Template:React.FC<{}> = () => { const Template:React.FC<{}> = () => {
const [form] = Form.useForm(); const [form] = Form.useForm();
const { pathname, query } = history.location; const { pathname, query } = history.location;
const type = pathname.split('/')[pathname.split('/').length - 1]; const type = pathname.split('/')[pathname.split('/').length - 1];
const [value, setvalue] = useState<Object>({})
const onFinish = (values: any) => { const onFinish = (values: any) => {
if(type === 'add') { if(type === 'add') {
PublicApi.postManageSensitiveWordAdd(values).then(res => { PublicApi.postManageSensitiveWordAdd(values).then(res => {
...@@ -28,9 +27,10 @@ const Template:React.FC<{}> = () => { ...@@ -28,9 +27,10 @@ const Template:React.FC<{}> = () => {
message.success('新增敏感词成功') message.success('新增敏感词成功')
} }
}) })
} }
else { else {
PublicApi.postManageSensitiveWordUpdate(value).then(res => { values.id = query.id;
PublicApi.postManageSensitiveWordUpdate(values).then(res => {
if(res.code === 1000) { if(res.code === 1000) {
history.goBack(); history.goBack();
message.success('修改敏感词成功') message.success('修改敏感词成功')
...@@ -45,8 +45,7 @@ const Template:React.FC<{}> = () => { ...@@ -45,8 +45,7 @@ const Template:React.FC<{}> = () => {
useEffect(() => { useEffect(() => {
try { try {
const data: {id: string, name: string, remark: string} = { const data: {name: string, remark: string} = {
id: query.id,
name: decodeURIComponent(atob(query.name)), name: decodeURIComponent(atob(query.name)),
remark: decodeURIComponent(atob(query.remark)), remark: decodeURIComponent(atob(query.remark)),
} }
...@@ -54,8 +53,7 @@ const Template:React.FC<{}> = () => { ...@@ -54,8 +53,7 @@ const Template:React.FC<{}> = () => {
name: data.name, name: data.name,
remark: data.remark remark: data.remark
}) })
setvalue(data) }catch(error) {
}catch(error) {
console.log(error) console.log(error)
} }
}, []) }, [])
...@@ -82,7 +80,7 @@ const Template:React.FC<{}> = () => { ...@@ -82,7 +80,7 @@ const Template:React.FC<{}> = () => {
<Popconfirm <Popconfirm
onConfirm={confirmCancel} onConfirm={confirmCancel}
title="确定要执行这个操作?" title="确定要执行这个操作?"
okText="确定" okText="确定"
cancelText="取消" cancelText="取消"
> >
<Button>取消</Button> <Button>取消</Button>
...@@ -95,4 +93,4 @@ const Template:React.FC<{}> = () => { ...@@ -95,4 +93,4 @@ const Template:React.FC<{}> = () => {
) )
} }
export default Template; export default Template;
\ No newline at end of file
...@@ -4,6 +4,7 @@ import { PlusOutlined } from '@ant-design/icons'; ...@@ -4,6 +4,7 @@ import { PlusOutlined } from '@ant-design/icons';
import { PageHeaderWrapper } from '@ant-design/pro-layout'; import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { StandardTable } from 'god'; import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface'; import { ColumnType } from 'antd/lib/table/interface';
import { PublicApi } from '@/services/api';
const SensitiveWords: React.FC<{}> = () => { const SensitiveWords: React.FC<{}> = () => {
const ref = useRef<any>({}); const ref = useRef<any>({});
const columns: ColumnType<any>[] = [ const columns: ColumnType<any>[] = [
...@@ -36,6 +37,18 @@ const SensitiveWords: React.FC<{}> = () => { ...@@ -36,6 +37,18 @@ const SensitiveWords: React.FC<{}> = () => {
</Space> </Space>
</Col> </Col>
</Row> </Row>
/**获取单位列表数据 */
// const fetchdata = (params: any) => {
// return new Promise(resolve => {
// PublicApi.getManageUnitGetUnitList({ ...params }).then(res => {
// if (res.code === 1000) {
// resolve(res.data)
// }
// })
// })
// }
return ( return (
<PageHeaderWrapper> <PageHeaderWrapper>
<Card> <Card>
......
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