update
This commit is contained in:
parent
fa1840d21b
commit
4fceeb9d91
@ -241,6 +241,28 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
|
|||||||
session.set('MEMBERSHIPLEVELYNTree', MEMBERSHIPLEVELYN);
|
session.set('MEMBERSHIPLEVELYNTree', MEMBERSHIPLEVELYN);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 云南的会员商品属性
|
||||||
|
handeGetNestingFIELDENUMList({
|
||||||
|
FIELDEXPLAIN_FIELD: 'COMMODITY_NATURE',
|
||||||
|
FIELDEXPLAIN_ID: "",
|
||||||
|
FIELDENUM_PID: "",
|
||||||
|
FIELDENUM_STATUS: 1,
|
||||||
|
SearchKey: ""
|
||||||
|
}).then((MEMBERSHIPLEVELYN: any) => {
|
||||||
|
if (MEMBERSHIPLEVELYN && MEMBERSHIPLEVELYN.length > 0) {
|
||||||
|
const obj: any = {}
|
||||||
|
const list: any = []
|
||||||
|
MEMBERSHIPLEVELYN.forEach((item: any) => {
|
||||||
|
list.push({ label: item.FIELDENUM_NAME, value: item.FIELDENUM_VALUE })
|
||||||
|
obj[item.FIELDENUM_VALUE] = item.FIELDENUM_NAME
|
||||||
|
})
|
||||||
|
session.set('COMMODITY_NATUREYNList', list);
|
||||||
|
session.set('COMMODITY_NATUREYNObj', obj);
|
||||||
|
session.set('COMMODITY_NATUREYNTree', MEMBERSHIPLEVELYN);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// 云南的会员积分枚举
|
// 云南的会员积分枚举
|
||||||
handeGetNestingFIELDENUMList({
|
handeGetNestingFIELDENUMList({
|
||||||
FIELDEXPLAIN_FIELD: 'POINT_TYPE',
|
FIELDEXPLAIN_FIELD: 'POINT_TYPE',
|
||||||
|
|||||||
@ -0,0 +1,71 @@
|
|||||||
|
import { connect } from "umi";
|
||||||
|
import type { ConnectState } from "@/models/connect";
|
||||||
|
import ProTable, { ActionType } from "@ant-design/pro-table";
|
||||||
|
import { useRef } from "react";
|
||||||
|
import { FormInstance } from "antd";
|
||||||
|
|
||||||
|
type DetailProps = {
|
||||||
|
|
||||||
|
}
|
||||||
|
const SelectServiceShop = ({ }: DetailProps) => {
|
||||||
|
const actionRef = useRef<ActionType>();
|
||||||
|
const formRef = useRef<FormInstance>();
|
||||||
|
|
||||||
|
const columns: any = [
|
||||||
|
{
|
||||||
|
title: '查询内容',
|
||||||
|
dataIndex: 'searchText',
|
||||||
|
hideInTable: true,
|
||||||
|
fieldProps: {
|
||||||
|
placeholder: '请输入用户昵称/手机号码/订单编号'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "序号",
|
||||||
|
width: 70,
|
||||||
|
dataIndex: "index",
|
||||||
|
valueType: 'index',
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "门店名称",
|
||||||
|
width: 150,
|
||||||
|
dataIndex: "",
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<ProTable
|
||||||
|
actionRef={actionRef}
|
||||||
|
formRef={formRef}
|
||||||
|
columns={columns}
|
||||||
|
bordered
|
||||||
|
expandable={{
|
||||||
|
expandRowByClick: true
|
||||||
|
}}
|
||||||
|
scroll={{ x: "100%", y: "calc(100vh - 410px)" }}
|
||||||
|
headerTitle={'选择门店'} // 列表表头
|
||||||
|
search={{ span: 6 }}
|
||||||
|
request={async (params) => {
|
||||||
|
|
||||||
|
}}
|
||||||
|
toolbar={{
|
||||||
|
actions: [
|
||||||
|
|
||||||
|
]
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(({ user, }: ConnectState) => ({
|
||||||
|
currentUser: user.currentUser,
|
||||||
|
}))(SelectServiceShop);
|
||||||
@ -105,6 +105,10 @@ const OrderDetailModal = ({ modalVisible, handleCloseModal, currentRow, detailTy
|
|||||||
closeIcon={<div></div>}
|
closeIcon={<div></div>}
|
||||||
destroyOnClose={true}
|
destroyOnClose={true}
|
||||||
width={1200}
|
width={1200}
|
||||||
|
bodyStyle={{
|
||||||
|
maxHeight: '850px', // 你可以根据需要调整高度
|
||||||
|
overflowY: 'auto',
|
||||||
|
}}
|
||||||
visible={modalVisible}
|
visible={modalVisible}
|
||||||
confirmLoading={confirmLoading}
|
confirmLoading={confirmLoading}
|
||||||
afterClose={() => {
|
afterClose={() => {
|
||||||
@ -113,6 +117,9 @@ const OrderDetailModal = ({ modalVisible, handleCloseModal, currentRow, detailTy
|
|||||||
}}
|
}}
|
||||||
onCancel={() => {
|
onCancel={() => {
|
||||||
handleConfirmLoading(false)
|
handleConfirmLoading(false)
|
||||||
|
if (handleCloseModal) {
|
||||||
|
handleCloseModal()
|
||||||
|
}
|
||||||
// handleModalVisible(false)
|
// handleModalVisible(false)
|
||||||
// setCurrentRow(undefined);
|
// setCurrentRow(undefined);
|
||||||
}}
|
}}
|
||||||
@ -276,6 +283,8 @@ const OrderDetailModal = ({ modalVisible, handleCloseModal, currentRow, detailTy
|
|||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8} className="memberInfoDetailItem">
|
<Col span={8} className="memberInfoDetailItem">
|
||||||
|
{
|
||||||
|
detailType === 'food' ?
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name={"SALEBILL_STATE"}
|
name={"SALEBILL_STATE"}
|
||||||
label={"订单状态"}
|
label={"订单状态"}
|
||||||
@ -291,7 +300,24 @@ const OrderDetailModal = ({ modalVisible, handleCloseModal, currentRow, detailTy
|
|||||||
{ label: "订单已关闭", value: 9000 },
|
{ label: "订单已关闭", value: 9000 },
|
||||||
{ label: "订单已撤销", value: 9999 },
|
{ label: "订单已撤销", value: 9999 },
|
||||||
]}
|
]}
|
||||||
|
/> :
|
||||||
|
<ProFormSelect
|
||||||
|
name={"SALEBILL_STATE"}
|
||||||
|
label={"订单状态"}
|
||||||
|
readonly
|
||||||
|
style={{ marginBottom: '16px' }}
|
||||||
|
options={[
|
||||||
|
{ label: "订单待支付", value: 1005 },
|
||||||
|
{ label: "订单待发货", value: 1010 },
|
||||||
|
{ label: "订单已发货", value: 2010 },
|
||||||
|
{ label: "订单已完成", value: 3000 },
|
||||||
|
{ label: "退款申请中", value: 8000 },
|
||||||
|
{ label: "订单已退款", value: 8900 },
|
||||||
|
{ label: "订单已关闭", value: 9000 },
|
||||||
|
{ label: "订单已撤销", value: 9999 },
|
||||||
|
]}
|
||||||
/>
|
/>
|
||||||
|
}
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8} className="memberInfoDetailItem">
|
<Col span={8} className="memberInfoDetailItem">
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
@ -403,8 +429,18 @@ const OrderDetailModal = ({ modalVisible, handleCloseModal, currentRow, detailTy
|
|||||||
console.log('datadatadata', data);
|
console.log('datadatadata', data);
|
||||||
if (data.List && data.List.length > 0) {
|
if (data.List && data.List.length > 0) {
|
||||||
if (currentRow?.SALEBILL_ID) {
|
if (currentRow?.SALEBILL_ID) {
|
||||||
setOrderDetail(data.List[0])
|
let TOTAL_COUNTSUM: number = 0
|
||||||
|
let ORDER_AMOUNTSUM: number = 0
|
||||||
|
data.List.forEach((item: any) => {
|
||||||
|
TOTAL_COUNTSUM += item.ORDER_COUNT
|
||||||
|
ORDER_AMOUNTSUM += item.ORDER_AMOUNT
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
setOrderDetail({
|
||||||
|
TOTAL_COUNT: TOTAL_COUNTSUM.toFixed(2),
|
||||||
|
ORDER_AMOUNT: ORDER_AMOUNTSUM
|
||||||
|
})
|
||||||
}
|
}
|
||||||
return { data: data.List, success: true, total: data.TotalCount }
|
return { data: data.List, success: true, total: data.TotalCount }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,10 +12,13 @@
|
|||||||
height: 800px;
|
height: 800px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
border-bottom-left-radius: 16px;
|
||||||
|
border-bottom-right-radius: 16px;
|
||||||
|
|
||||||
.ant-form {
|
.ant-form {
|
||||||
.bookingOrderModalTop {
|
.bookingOrderModalTop {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: 80px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -24,6 +27,10 @@
|
|||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 30px 20px;
|
padding: 30px 20px;
|
||||||
|
position: fixed;
|
||||||
|
background-color: #fff;
|
||||||
|
border-top-left-radius: 16px;
|
||||||
|
border-top-right-radius: 16px;
|
||||||
|
|
||||||
.modalTopLeft {
|
.modalTopLeft {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -61,9 +68,9 @@
|
|||||||
.bookingOrderModalCenter {
|
.bookingOrderModalCenter {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-top: 14px;
|
// margin-top: 14px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0 34px;
|
padding: 94px 34px 0;
|
||||||
|
|
||||||
.smallTitle {
|
.smallTitle {
|
||||||
font-family: PingFangSC, PingFang SC;
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
|||||||
@ -60,6 +60,9 @@ const BookingMealOrder: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
dataIndex: 'searchText',
|
dataIndex: 'searchText',
|
||||||
title: '查询内容',
|
title: '查询内容',
|
||||||
hideInTable: true,
|
hideInTable: true,
|
||||||
|
fieldProps: {
|
||||||
|
placeholder: "请输入订单编号"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '查询时间',
|
title: '查询时间',
|
||||||
@ -131,9 +134,29 @@ const BookingMealOrder: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
title: '下单人员',
|
title: '下单人员',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
hideInSearch: true,
|
hideInSearch: true,
|
||||||
width: 250,
|
width: 150,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
dataIndex: 'SALEBILL_STATE',
|
||||||
|
title: '订单状态',
|
||||||
|
align: 'center',
|
||||||
|
width: 120,
|
||||||
|
ellipsis: true,
|
||||||
|
valueType: 'select',
|
||||||
|
valueEnum: {
|
||||||
|
"0": "全部",
|
||||||
|
"1005": "订单待支付",
|
||||||
|
"1010": "订单待制作",
|
||||||
|
"2000": "订单待取餐",
|
||||||
|
"3000": "订单已完成",
|
||||||
|
"8000": "退款申请中",
|
||||||
|
"8900": "订单已退款",
|
||||||
|
"9000": "订单已关闭",
|
||||||
|
"9999": "订单已撤销",
|
||||||
|
},
|
||||||
|
initialValue: "0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
dataIndex: 'ORDER_AMOUNT',
|
dataIndex: 'ORDER_AMOUNT',
|
||||||
title: '订单金额',
|
title: '订单金额',
|
||||||
@ -193,26 +216,7 @@ const BookingMealOrder: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
return record?.ORDER_DATE ? moment(record?.ORDER_DATE).format('YYYY-MM-DD HH:mm:ss') : ''
|
return record?.ORDER_DATE ? moment(record?.ORDER_DATE).format('YYYY-MM-DD HH:mm:ss') : ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
dataIndex: 'SALEBILL_STATE',
|
|
||||||
title: '订单状态',
|
|
||||||
align: 'center',
|
|
||||||
width: 120,
|
|
||||||
ellipsis: true,
|
|
||||||
valueType: 'select',
|
|
||||||
valueEnum: {
|
|
||||||
"0": "全部",
|
|
||||||
"1005": "订单待支付",
|
|
||||||
"1010": "订单待制作",
|
|
||||||
"2000": "订单待取餐",
|
|
||||||
"3000": "订单已完成",
|
|
||||||
"8000": "退款申请中",
|
|
||||||
"8900": "订单已退款",
|
|
||||||
"9000": "订单已关闭",
|
|
||||||
"9999": "订单已撤销",
|
|
||||||
},
|
|
||||||
initialValue: "0"
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
// 订单详情的表格
|
// 订单详情的表格
|
||||||
|
|||||||
@ -35,6 +35,7 @@ const ConsumptionRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?
|
|||||||
const [showOrderModal, setShowOrderModal] = useState<boolean>(false)
|
const [showOrderModal, setShowOrderModal] = useState<boolean>(false)
|
||||||
const [currentRow, setCurrentRow] = useState<any>()
|
const [currentRow, setCurrentRow] = useState<any>()
|
||||||
|
|
||||||
|
let MEMBERSHIPTYPEYNObj = session.get('MEMBERSHIPTYPEYNObj');
|
||||||
let CONSUMPTIONRECORDTYPEObj = session.get('CONSUMPTIONRECORDTYPEObj')
|
let CONSUMPTIONRECORDTYPEObj = session.get('CONSUMPTIONRECORDTYPEObj')
|
||||||
let MEMBERSHIPLEVELYNObj = session.get('MEMBERSHIPLEVELYNObj')
|
let MEMBERSHIPLEVELYNObj = session.get('MEMBERSHIPLEVELYNObj')
|
||||||
|
|
||||||
@ -115,6 +116,18 @@ const ConsumptionRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?
|
|||||||
valueType: 'select',
|
valueType: 'select',
|
||||||
valueEnum: MEMBERSHIPLEVELYNObj
|
valueEnum: MEMBERSHIPLEVELYNObj
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "会员类型",
|
||||||
|
width: 120,
|
||||||
|
dataIndex: "MEMBERSHIP_TYPE",
|
||||||
|
ellipsis: true,
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
valueType: 'select',
|
||||||
|
valueEnum: {
|
||||||
|
...MEMBERSHIPTYPEYNObj,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "订单编号",
|
title: "订单编号",
|
||||||
width: 200,
|
width: 200,
|
||||||
@ -155,7 +168,7 @@ const ConsumptionRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?
|
|||||||
{
|
{
|
||||||
title: "获得积分",
|
title: "获得积分",
|
||||||
width: 120,
|
width: 120,
|
||||||
dataIndex: "MEMBERSHIP_POINT",
|
dataIndex: "CURRENT_SCORE",
|
||||||
hideInSearch: true,
|
hideInSearch: true,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
|||||||
@ -32,6 +32,11 @@ const GrowthValueRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?
|
|||||||
const [printIndex, setPrintIndex] = useState<number>(new Date().getTime())
|
const [printIndex, setPrintIndex] = useState<number>(new Date().getTime())
|
||||||
|
|
||||||
let SCORETYPETree = session.get('SCORETYPETree')
|
let SCORETYPETree = session.get('SCORETYPETree')
|
||||||
|
let MEMBERSHIPLEVELYNObj = session.get('MEMBERSHIPLEVELYNObj')
|
||||||
|
let MEMBERSHIPTYPEYNObj = session.get('MEMBERSHIPTYPEYNObj')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 树相关的属性和方法
|
// 树相关的属性和方法
|
||||||
@ -101,6 +106,28 @@ const GrowthValueRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "会员等级",
|
||||||
|
width: 150,
|
||||||
|
dataIndex: "MEMBERSHIP_LEVEL",
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true,
|
||||||
|
valueType: 'select',
|
||||||
|
valueEnum: MEMBERSHIPLEVELYNObj
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "会员类型",
|
||||||
|
width: 120,
|
||||||
|
dataIndex: "MEMBERSHIP_TYPE",
|
||||||
|
ellipsis: true,
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
valueType: 'select',
|
||||||
|
valueEnum: {
|
||||||
|
...MEMBERSHIPTYPEYNObj,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "成长来源",
|
title: "成长来源",
|
||||||
width: 120,
|
width: 120,
|
||||||
|
|||||||
@ -493,24 +493,6 @@ const GrowthValueRuleConfig: React.FC<{ currentUser: CurrentUser | undefined }>
|
|||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
|
||||||
<ProFormSelect
|
|
||||||
name="MEMBERSHIP_TYPE"
|
|
||||||
label="会员类型"
|
|
||||||
options={MEMBERSHIP_TYPEList}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<ProFormSelect
|
|
||||||
name="GROWTHSETTING_STATE"
|
|
||||||
label="有效状态"
|
|
||||||
options={[
|
|
||||||
{ label: '有效', value: 1 },
|
|
||||||
{ label: '无效', value: 0 },
|
|
||||||
]}
|
|
||||||
initialValue={1}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name="MEMBERSHIP_LEVEL"
|
name="MEMBERSHIP_LEVEL"
|
||||||
@ -539,6 +521,14 @@ const GrowthValueRuleConfig: React.FC<{ currentUser: CurrentUser | undefined }>
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<ProFormSelect
|
||||||
|
name="MEMBERSHIP_TYPE"
|
||||||
|
label="会员类型"
|
||||||
|
options={MEMBERSHIP_TYPEList}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name="PROMOTION_LEVEL"
|
name="PROMOTION_LEVEL"
|
||||||
@ -568,6 +558,17 @@ const GrowthValueRuleConfig: React.FC<{ currentUser: CurrentUser | undefined }>
|
|||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
|
<Col span={12}>
|
||||||
|
<ProFormSelect
|
||||||
|
name="GROWTHSETTING_STATE"
|
||||||
|
label="有效状态"
|
||||||
|
options={[
|
||||||
|
{ label: '有效', value: 1 },
|
||||||
|
{ label: '无效', value: 0 },
|
||||||
|
]}
|
||||||
|
initialValue={1}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
|
||||||
<Col span={24}>
|
<Col span={24}>
|
||||||
<ProFormTextArea
|
<ProFormTextArea
|
||||||
|
|||||||
@ -83,6 +83,14 @@ const MallClassificationManage: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
|
|
||||||
// 定义列表字段内容
|
// 定义列表字段内容
|
||||||
const columns: any = [
|
const columns: any = [
|
||||||
|
{
|
||||||
|
dataIndex: 'searchText',
|
||||||
|
title: '查询内容',
|
||||||
|
hideInTable: true,
|
||||||
|
fieldProp: {
|
||||||
|
placeholder: "请输入类别名称"
|
||||||
|
}
|
||||||
|
},
|
||||||
// {
|
// {
|
||||||
// title: '上级类别',
|
// title: '上级类别',
|
||||||
// align: 'center',
|
// align: 'center',
|
||||||
@ -148,7 +156,6 @@ const MallClassificationManage: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 120,
|
width: 120,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
hideInSearch: true,
|
|
||||||
valueType: "select",
|
valueType: "select",
|
||||||
valueEnum: {
|
valueEnum: {
|
||||||
"1": "上架",
|
"1": "上架",
|
||||||
@ -318,8 +325,8 @@ const MallClassificationManage: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
OWNERUNIT_ID: currentUser?.OwnerUnitId,
|
OWNERUNIT_ID: currentUser?.OwnerUnitId,
|
||||||
PROVINCE_CODE: "",
|
PROVINCE_CODE: "",
|
||||||
GOODSTYPE: 4000,
|
GOODSTYPE: 4000,
|
||||||
USERDEFINEDTYPE_STATE: 1
|
USERDEFINEDTYPE_STATE: params?.SCANCODE_ORDER,
|
||||||
// SearchKey: ""
|
SearchKey: params?.searchText || ""
|
||||||
}
|
}
|
||||||
const data = await handlGetUSERDEFINEDTYPEList(req);
|
const data = await handlGetUSERDEFINEDTYPEList(req);
|
||||||
console.log('datadatadatadatadata', data);
|
console.log('datadatadatadatadata', data);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import ProForm, { ProFormSelect, ProFormText } from "@ant-design/pro-form";
|
|||||||
import orderIcon from '@/assets/detail/orderIcon.png'
|
import orderIcon from '@/assets/detail/orderIcon.png'
|
||||||
import closeIcon from '@/assets/detail/closeIcon.png'
|
import closeIcon from '@/assets/detail/closeIcon.png'
|
||||||
import { handleSetlogSave } from "@/utils/format";
|
import { handleSetlogSave } from "@/utils/format";
|
||||||
|
import OrderDetailModal from "../BookingMealOrder/components/orderDetailModal";
|
||||||
|
|
||||||
const MallOrderManage: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
const MallOrderManage: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
||||||
const { currentUser } = props
|
const { currentUser } = props
|
||||||
@ -422,30 +423,10 @@ const MallOrderManage: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<OrderDetailModal modalVisible={modalVisible} handleCloseModal={handleCloseModal} currentRow={currentRow} />
|
||||||
|
|
||||||
<Modal
|
{/* <Modal
|
||||||
className="MallOrderManageModal"
|
className="MallOrderManageModal"
|
||||||
// title={
|
|
||||||
// <div
|
|
||||||
// style={{
|
|
||||||
// width: '100%',
|
|
||||||
// cursor: 'move',
|
|
||||||
// }}
|
|
||||||
// onMouseOver={() => {
|
|
||||||
// if (disabled) {
|
|
||||||
// setDraggleDisabled(false)
|
|
||||||
// }
|
|
||||||
// }}
|
|
||||||
// onMouseOut={() => {
|
|
||||||
// setDraggleDisabled(true)
|
|
||||||
// }}
|
|
||||||
|
|
||||||
// onFocus={() => { }}
|
|
||||||
// onBlur={() => { }}
|
|
||||||
// >
|
|
||||||
// {'订单详情'}
|
|
||||||
// </div>
|
|
||||||
// }
|
|
||||||
title={false}
|
title={false}
|
||||||
closeIcon={<div></div>}
|
closeIcon={<div></div>}
|
||||||
destroyOnClose={true}
|
destroyOnClose={true}
|
||||||
@ -690,7 +671,7 @@ const MallOrderManage: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</Modal>
|
</Modal> */}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,9 +109,8 @@ const MemberAddress: React.FC<{ currentUser: CurrentUser | undefined }> = (props
|
|||||||
hideInSearch: true,
|
hideInSearch: true,
|
||||||
valueType: 'select',
|
valueType: 'select',
|
||||||
valueEnum: {
|
valueEnum: {
|
||||||
"1": "男",
|
"0": "男",
|
||||||
"2": "女",
|
"1": "女",
|
||||||
"0": "-",
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -67,8 +67,8 @@ const MerchantEvaluationManage: React.FC<{ currentUser: CurrentUser, isComponent
|
|||||||
dataIndex: 'searchText',
|
dataIndex: 'searchText',
|
||||||
title: '查询内容',
|
title: '查询内容',
|
||||||
hideInTable: true,
|
hideInTable: true,
|
||||||
fieldProp: {
|
fieldProps: {
|
||||||
placeholder: "请输入评价人员/商家名称"
|
placeholder: "请输入评价人员/商家名称/评价内容"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -304,7 +304,7 @@ const MerchantEvaluationManage: React.FC<{ currentUser: CurrentUser, isComponent
|
|||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 999999,
|
PageSize: 999999,
|
||||||
keyWord: {
|
keyWord: {
|
||||||
Key: "SELLER_NAME,MEMBERSHIP_NAME",
|
Key: "SELLER_NAME,MEMBERSHIP_NAME,COMMENT_CONTENT",
|
||||||
Value: params?.searchText || ""
|
Value: params?.searchText || ""
|
||||||
},
|
},
|
||||||
SortStr: "CREATE_DATE desc"
|
SortStr: "CREATE_DATE desc"
|
||||||
|
|||||||
@ -44,6 +44,7 @@ const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width,
|
|||||||
}
|
}
|
||||||
const data = await handeGetSPRegionShopTree(req)
|
const data = await handeGetSPRegionShopTree(req)
|
||||||
console.log('获取服务区经营商家树', data);
|
console.log('获取服务区经营商家树', data);
|
||||||
|
setAllTreeViews(data)
|
||||||
setTreeView(data)
|
setTreeView(data)
|
||||||
})
|
})
|
||||||
// 显示服务区树搜索框
|
// 显示服务区树搜索框
|
||||||
@ -55,42 +56,61 @@ const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width,
|
|||||||
// 筛选左侧的服务区树
|
// 筛选左侧的服务区树
|
||||||
const handleFilterServiceTree = async (value?: string) => {
|
const handleFilterServiceTree = async (value?: string) => {
|
||||||
const resList: any = JSON.parse(JSON.stringify(allTreeViews))
|
const resList: any = JSON.parse(JSON.stringify(allTreeViews))
|
||||||
|
console.log('valuevaluevalue', value);
|
||||||
|
console.log('resListresListresListresList', resList);
|
||||||
|
|
||||||
setSelectedId('')
|
setSelectedId('')
|
||||||
if (resList && resList.length > 0 && value) {
|
if (resList && resList.length > 0 && value) {
|
||||||
setTreeView([])
|
setTreeView([]);
|
||||||
const list: any = []
|
const list: any = [];
|
||||||
|
|
||||||
resList.forEach((item: any) => {
|
resList.forEach((item: any) => {
|
||||||
if (item.label.indexOf(value) !== -1) {
|
if (item.label.indexOf(value) !== -1) {
|
||||||
list.push(item)
|
list.push(item);
|
||||||
} else {
|
} else if (item.children && item.children.length > 0) {
|
||||||
if (item.children && item.children.length > 0) {
|
const childrenList: any = [];
|
||||||
const childrenList: any = []
|
|
||||||
item.children.forEach((subItem: any) => {
|
item.children.forEach((subItem: any) => {
|
||||||
if (subItem.label.indexOf(value) !== -1) {
|
if (subItem.label.indexOf(value) !== -1) {
|
||||||
childrenList.push(subItem)
|
childrenList.push(subItem);
|
||||||
|
} else if (subItem.children && subItem.children.length > 0) {
|
||||||
|
const thirdChildrenList: any = [];
|
||||||
|
|
||||||
|
subItem.children.forEach((thirdItem: any) => {
|
||||||
|
if (thirdItem.label.indexOf(value) !== -1) {
|
||||||
|
thirdChildrenList.push(thirdItem);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
item.children = childrenList
|
|
||||||
if (childrenList && childrenList.length > 0) {
|
if (thirdChildrenList.length > 0) {
|
||||||
list.push(item)
|
subItem.children = thirdChildrenList;
|
||||||
|
childrenList.push(subItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (childrenList.length > 0) {
|
||||||
|
item.children = childrenList;
|
||||||
|
list.push(item);
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (list && list.length > 0) {
|
if (list && list.length > 0) {
|
||||||
const keyList: any = ['0-0']
|
const keyList: any = ['0-0'];
|
||||||
list.forEach((item: any) => {
|
list.forEach((item: any) => {
|
||||||
keyList.push(item.key)
|
keyList.push(item.key);
|
||||||
})
|
});
|
||||||
setTreeShowRow(keyList)
|
setTreeShowRow(keyList);
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
setTreeView(list)
|
setTreeView(list);
|
||||||
}, 100)
|
}, 100);
|
||||||
} else {
|
} else {
|
||||||
setTreeView([])
|
setTreeView([]);
|
||||||
setTreeShowRow([])
|
setTreeShowRow([]);
|
||||||
setTreeView(allTreeViews)
|
setTreeView(allTreeViews);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 根据传入的服务区id筛选剔除掉这个服务区
|
// 根据传入的服务区id筛选剔除掉这个服务区
|
||||||
@ -145,7 +165,7 @@ const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width,
|
|||||||
}}
|
}}
|
||||||
isKeyPressSubmit
|
isKeyPressSubmit
|
||||||
onFinish={(values: any) => {
|
onFinish={(values: any) => {
|
||||||
return handleFilterServiceTree(values?.searchValue || '')
|
handleFilterServiceTree(values?.searchValue || '')
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Row>
|
<Row>
|
||||||
@ -153,7 +173,7 @@ const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width,
|
|||||||
<ProFormText
|
<ProFormText
|
||||||
name={'searchValue'}
|
name={'searchValue'}
|
||||||
fieldProps={{
|
fieldProps={{
|
||||||
placeholder: '请输入服务区名称'
|
placeholder: '请输入门店名称'
|
||||||
}}
|
}}
|
||||||
allowClear
|
allowClear
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -33,6 +33,8 @@ const PointsRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?: Boo
|
|||||||
|
|
||||||
let POINTTYPEObj = session.get('POINTTYPEObj')
|
let POINTTYPEObj = session.get('POINTTYPEObj')
|
||||||
let SCORETYPETree = session.get('SCORETYPETree')
|
let SCORETYPETree = session.get('SCORETYPETree')
|
||||||
|
let MEMBERSHIPLEVELYNObj = session.get('MEMBERSHIPLEVELYNObj')
|
||||||
|
let MEMBERSHIPTYPEYNObj = session.get('MEMBERSHIPTYPEYNObj')
|
||||||
|
|
||||||
// 树相关的属性和方法
|
// 树相关的属性和方法
|
||||||
const [selectedId, setSelectedId] = useState<string>()
|
const [selectedId, setSelectedId] = useState<string>()
|
||||||
@ -100,6 +102,28 @@ const PointsRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?: Boo
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "会员等级",
|
||||||
|
width: 150,
|
||||||
|
dataIndex: "MEMBERSHIP_LEVEL",
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true,
|
||||||
|
valueType: 'select',
|
||||||
|
valueEnum: MEMBERSHIPLEVELYNObj
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "会员类型",
|
||||||
|
width: 120,
|
||||||
|
dataIndex: "MEMBERSHIP_TYPE",
|
||||||
|
ellipsis: true,
|
||||||
|
hideInSearch: true,
|
||||||
|
align: 'center',
|
||||||
|
valueType: 'select',
|
||||||
|
valueEnum: {
|
||||||
|
...MEMBERSHIPTYPEYNObj,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "积分方式",
|
title: "积分方式",
|
||||||
width: 120,
|
width: 120,
|
||||||
@ -123,6 +147,9 @@ const PointsRecordSearch: React.FC<{ currentUser: CurrentUser, isComponent?: Boo
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
request: () => {
|
request: () => {
|
||||||
return SCORETYPETree
|
return SCORETYPETree
|
||||||
|
},
|
||||||
|
fieldProps: {
|
||||||
|
allowClear: true
|
||||||
}
|
}
|
||||||
// valueEnum: {
|
// valueEnum: {
|
||||||
// "0": "全部",
|
// "0": "全部",
|
||||||
|
|||||||
@ -421,6 +421,15 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
|
|
||||||
// 新增多规格的表格
|
// 新增多规格的表格
|
||||||
const addSpecsCoumns: any = [
|
const addSpecsCoumns: any = [
|
||||||
|
{
|
||||||
|
title: '查询内容',
|
||||||
|
dataIndex: 'searchText',
|
||||||
|
ellipsis: true,
|
||||||
|
hideInTable: true,
|
||||||
|
fieldProps: {
|
||||||
|
placeholder: "输入规格名称"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
dataIndex: 'index',
|
dataIndex: 'index',
|
||||||
title: '序号',
|
title: '序号',
|
||||||
@ -428,6 +437,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
width: 70,
|
width: 70,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
valueType: 'index',
|
valueType: 'index',
|
||||||
|
hideInSearch: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
dataIndex: 'USERDEFINEDTYPE_NAME',
|
dataIndex: 'USERDEFINEDTYPE_NAME',
|
||||||
@ -435,6 +445,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 150,
|
width: 150,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
hideInSearch: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
dataIndex: 'COMMODITY_NAME',
|
dataIndex: 'COMMODITY_NAME',
|
||||||
@ -442,6 +453,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 200,
|
width: 200,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
hideInSearch: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
dataIndex: 'supplier',
|
dataIndex: 'supplier',
|
||||||
@ -449,6 +461,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 200,
|
width: 200,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
hideInSearch: true,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1614,7 +1627,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<ProTable
|
<ProTable
|
||||||
search={false}
|
// search={false}
|
||||||
pagination={false}
|
pagination={false}
|
||||||
options={false}
|
options={false}
|
||||||
columns={addSpecsCoumns}
|
columns={addSpecsCoumns}
|
||||||
@ -1627,7 +1640,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
setSelectedRows(selectedRows)
|
setSelectedRows(selectedRows)
|
||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
request={async () => {
|
request={async (params: any) => {
|
||||||
const req = {
|
const req = {
|
||||||
searchParameter: {
|
searchParameter: {
|
||||||
OwnerUnitId: currentUser?.OwnerUnitId,
|
OwnerUnitId: currentUser?.OwnerUnitId,
|
||||||
@ -1638,7 +1651,11 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
},
|
},
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 999999,
|
PageSize: 999999,
|
||||||
SortStr: "USERDEFINEDTYPE_ID,COMMODITY_MULTI_ID"
|
SortStr: "USERDEFINEDTYPE_ID,COMMODITY_MULTI_ID",
|
||||||
|
keyWord: {
|
||||||
|
Key: "COMMODITY_NAME",
|
||||||
|
Value: params?.searchText || ""
|
||||||
|
},
|
||||||
}
|
}
|
||||||
const data = await handeGetCOMMODITY_MULTIList(req);
|
const data = await handeGetCOMMODITY_MULTIList(req);
|
||||||
console.log('datadatadatadata', data);
|
console.log('datadatadatadata', data);
|
||||||
|
|||||||
@ -63,6 +63,15 @@ const ProductSpecificationManage: React.FC<{ currentUser: CurrentUser | undefine
|
|||||||
|
|
||||||
// 定义列表字段内容
|
// 定义列表字段内容
|
||||||
const columns: any = [
|
const columns: any = [
|
||||||
|
{
|
||||||
|
title: '查询内容',
|
||||||
|
dataIndex: 'searchText',
|
||||||
|
ellipsis: true,
|
||||||
|
hideInTable: true,
|
||||||
|
fieldProps: {
|
||||||
|
placeholder: "输入类别名称"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
dataIndex: 'USERDEFINEDTYPE_NAME',
|
dataIndex: 'USERDEFINEDTYPE_NAME',
|
||||||
title: '类别名称',
|
title: '类别名称',
|
||||||
@ -351,7 +360,8 @@ const ProductSpecificationManage: React.FC<{ currentUser: CurrentUser | undefine
|
|||||||
OWNERUNIT_ID: currentUser?.OwnerUnitId,
|
OWNERUNIT_ID: currentUser?.OwnerUnitId,
|
||||||
PROVINCE_CODE: "",
|
PROVINCE_CODE: "",
|
||||||
GOODSTYPE: 6000,
|
GOODSTYPE: 6000,
|
||||||
USERDEFINEDTYPE_STATE: params?.USERDEFINEDTYPE_STATE
|
USERDEFINEDTYPE_STATE: params?.USERDEFINEDTYPE_STATE,
|
||||||
|
SearchKey: params?.searchText || ""
|
||||||
}
|
}
|
||||||
console.log('req', req);
|
console.log('req', req);
|
||||||
|
|
||||||
|
|||||||
@ -280,10 +280,14 @@ const RegistrationRetentionAnalysis: React.FC<{ currentUser: CurrentUser, isComp
|
|||||||
|
|
||||||
|
|
||||||
const handleGetTableData = async (paramsObj?: any) => {
|
const handleGetTableData = async (paramsObj?: any) => {
|
||||||
const res: any = formRef.current?.getFieldsValue()
|
const res: any = formRef ? formRef?.current?.getFieldsValue() : {}
|
||||||
console.log('resresres', res);
|
console.log('resresres', res);
|
||||||
let [start, end] = res.search_date
|
let [start, end] = ['', '']
|
||||||
let params: any = {
|
// let [start, end] = res?.search_date
|
||||||
|
let params: any = {}
|
||||||
|
if (res) {
|
||||||
|
[start, end] = res?.search_date
|
||||||
|
params = {
|
||||||
BEHAVIORRECORD_TIME: res && res.BEHAVIORRECORD_TIME ? moment(res.BEHAVIORRECORD_TIME._d).format('YYYY-MM-DD') : "",
|
BEHAVIORRECORD_TIME: res && res.BEHAVIORRECORD_TIME ? moment(res.BEHAVIORRECORD_TIME._d).format('YYYY-MM-DD') : "",
|
||||||
SOURCE_PLATFORM: res && res.SOURCE_PLATFORM ? res.SOURCE_PLATFORM : "",
|
SOURCE_PLATFORM: res && res.SOURCE_PLATFORM ? res.SOURCE_PLATFORM : "",
|
||||||
BEHAVIORRECORD_TYPE: res && res.BEHAVIORRECORD_TYPE ? res.BEHAVIORRECORD_TYPE : "",
|
BEHAVIORRECORD_TYPE: res && res.BEHAVIORRECORD_TYPE ? res.BEHAVIORRECORD_TYPE : "",
|
||||||
@ -291,6 +295,8 @@ const RegistrationRetentionAnalysis: React.FC<{ currentUser: CurrentUser, isComp
|
|||||||
end: end,
|
end: end,
|
||||||
...res
|
...res
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
setTableLoading(true)
|
setTableLoading(true)
|
||||||
console.log('isComponentisComponent', isComponent);
|
console.log('isComponentisComponent', isComponent);
|
||||||
|
|||||||
@ -59,8 +59,8 @@ const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
const [disabled, setDraggleDisabled] = useState<boolean>() // 是否拖动
|
const [disabled, setDraggleDisabled] = useState<boolean>() // 是否拖动
|
||||||
const draggleRef = React.createRef<any>()
|
const draggleRef = React.createRef<any>()
|
||||||
// 商品属性
|
// 商品属性
|
||||||
const COMMODITYNATUREObj = session.get('COMMODITYNATUREObj')
|
const COMMODITY_NATUREYNObj = session.get('COMMODITY_NATUREYNObj')
|
||||||
const COMMODITYNATUREList = session.get('COMMODITYNATUREList')
|
const COMMODITY_NATUREYNList = session.get('COMMODITY_NATUREYNList')
|
||||||
// 消费模式
|
// 消费模式
|
||||||
const PAYMETHODObj = session.get('PAYMETHODObj')
|
const PAYMETHODObj = session.get('PAYMETHODObj')
|
||||||
const PAYMETHODList = session.get('PAYMETHODList')
|
const PAYMETHODList = session.get('PAYMETHODList')
|
||||||
@ -188,7 +188,7 @@ const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
width: 120,
|
width: 120,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
valueType: 'select',
|
valueType: 'select',
|
||||||
valueEnum: COMMODITYNATUREObj
|
valueEnum: COMMODITY_NATUREYNObj
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -880,7 +880,7 @@ const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name="COMMODITY_NATURE"
|
name="COMMODITY_NATURE"
|
||||||
label="商品性质"
|
label="商品性质"
|
||||||
options={COMMODITYNATUREList}
|
options={COMMODITY_NATUREYNList}
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
|||||||
@ -407,7 +407,8 @@ const SupplierMerchantManage: React.FC<{ currentUser: CurrentUser | undefined }>
|
|||||||
submitter={false}
|
submitter={false}
|
||||||
preserve={false}
|
preserve={false}
|
||||||
initialValues={currentRow ? {
|
initialValues={currentRow ? {
|
||||||
...currentRow
|
...currentRow,
|
||||||
|
MERCHANTS_TYPE: Number(currentRow?.MERCHANTS_TYPE)
|
||||||
} : {
|
} : {
|
||||||
OWNERUNIT_NAME: currentUser?.OwnerUnitName
|
OWNERUNIT_NAME: currentUser?.OwnerUnitName
|
||||||
}}
|
}}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// 会员详情组件
|
// 会员详情组件
|
||||||
import { connect } from "umi";
|
import { connect } from "umi";
|
||||||
import type { ConnectState } from "@/models/connect";
|
import type { ConnectState } from "@/models/connect";
|
||||||
import { Col, FormInstance, Modal, Row } from "antd";
|
import { Button, Col, FormInstance, message, Modal, Row } from "antd";
|
||||||
import { useEffect, useRef, useState } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
import Draggable from "react-draggable";
|
import Draggable from "react-draggable";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
@ -12,7 +12,7 @@ import closeIcon from '@/assets/detail/closeIcon.png'
|
|||||||
import session from "@/utils/session";
|
import session from "@/utils/session";
|
||||||
import memberDetailIcon from '@/assets/detail/memberDetailIcon.png'
|
import memberDetailIcon from '@/assets/detail/memberDetailIcon.png'
|
||||||
import ProTable from "@ant-design/pro-table";
|
import ProTable from "@ant-design/pro-table";
|
||||||
import { handleGetCONSUMPTIONRECORDList, handleGetMEMBERGROWTHList, handleGetPOINTRECORDList } from "../../service";
|
import { handeDeleteMembershipRecord, handleGetCONSUMPTIONRECORDList, handleGetMEMBERGROWTHList, handleGetPOINTRECORDList } from "../../service";
|
||||||
import AddressDetail from "../../MemberAddress/components/addressDetail";
|
import AddressDetail from "../../MemberAddress/components/addressDetail";
|
||||||
import './style.less'
|
import './style.less'
|
||||||
import ConsumptionRecordSearch from "../../ConsumptionRecordSearch";
|
import ConsumptionRecordSearch from "../../ConsumptionRecordSearch";
|
||||||
@ -34,7 +34,7 @@ type DetailProps = {
|
|||||||
currentUser: any
|
currentUser: any
|
||||||
}
|
}
|
||||||
const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentUser }: DetailProps) => {
|
const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentUser }: DetailProps) => {
|
||||||
|
const { confirm } = Modal;
|
||||||
const modalRef = useRef<FormInstance>();
|
const modalRef = useRef<FormInstance>();
|
||||||
const draggleRef = React.createRef<any>()
|
const draggleRef = React.createRef<any>()
|
||||||
// 弹出框拖动效果
|
// 弹出框拖动效果
|
||||||
@ -316,8 +316,8 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
overflowY: 'auto',
|
overflowY: 'auto',
|
||||||
}}
|
}}
|
||||||
onCancel={() => {
|
onCancel={() => {
|
||||||
// setShowDetailDrawer(false)
|
setSelectTab(0)
|
||||||
// setCurrentRow(undefined);
|
handleCloseModal()
|
||||||
}}
|
}}
|
||||||
modalRender={(modal) => {
|
modalRender={(modal) => {
|
||||||
return <Draggable
|
return <Draggable
|
||||||
@ -360,8 +360,8 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
|
|
||||||
<div className="topDetailRight">
|
<div className="topDetailRight">
|
||||||
<div className="topDetailRightTop">
|
<div className="topDetailRightTop">
|
||||||
<span className="detailName">{currentRow?.MEMBERSHIP_NAME || "-"}</span>
|
<span className="detailName" style={{ marginRight: '8px' }}>{currentRow?.MEMBERSHIP_NAME || "-"}</span>
|
||||||
<span className="detailSex">{currentRow?.MEMBERSHIP_SEX === 1 ? '男' : currentRow?.MEMBERSHIP_SEX === 2 ? '女' : ''}</span>
|
<span className="detailSex" style={{ marginRight: '8px' }}>{currentRow?.MEMBERSHIP_SEX === 1 ? '男' : currentRow?.MEMBERSHIP_SEX === 2 ? '女' : ''}</span>
|
||||||
{
|
{
|
||||||
currentRow?.MEMBERSHIP_TYPE && MEMBERSHIPTYPEYNObj && MEMBERSHIPTYPEYNObj[currentRow?.MEMBERSHIP_TYPE] ?
|
currentRow?.MEMBERSHIP_TYPE && MEMBERSHIPTYPEYNObj && MEMBERSHIPTYPEYNObj[currentRow?.MEMBERSHIP_TYPE] ?
|
||||||
<span className="memberType">{MEMBERSHIPTYPEYNObj[currentRow?.MEMBERSHIP_TYPE]}</span> : ""
|
<span className="memberType">{MEMBERSHIPTYPEYNObj[currentRow?.MEMBERSHIP_TYPE]}</span> : ""
|
||||||
@ -382,7 +382,7 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
name={"MEMBERSHIP_SEX"}
|
name={"MEMBERSHIP_SEX"}
|
||||||
label={"性别"}
|
label={"性别"}
|
||||||
readonly
|
readonly
|
||||||
options={[{ label: "男", value: 1 }, { label: "女", value: 2 }, { label: "-", value: 0 }]}
|
options={[{ label: "男", value: 0 }, { label: "女", value: 1 }]}
|
||||||
style={{ marginBottom: '16px' }}
|
style={{ marginBottom: '16px' }}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
@ -488,6 +488,8 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
}}>商城评价</span>
|
}}>商城评价</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div style={{ height: '400px' }}>
|
||||||
<div className="bottomDetailBox" style={{ display: selectTab === 1 ? 'block' : "none" }}>
|
<div className="bottomDetailBox" style={{ display: selectTab === 1 ? 'block' : "none" }}>
|
||||||
<Row gutter={8}>
|
<Row gutter={8}>
|
||||||
<Col span={6} className="memberInfoDetailItem">
|
<Col span={6} className="memberInfoDetailItem">
|
||||||
@ -587,109 +589,18 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
</div>
|
</div>
|
||||||
{/* 消费记录 */}
|
{/* 消费记录 */}
|
||||||
{
|
{
|
||||||
selectTab === 2 ? <ConsumptionRecordSearch isComponent={true} parentDetail={currentRow} /> : "-"
|
selectTab === 2 ? <ConsumptionRecordSearch isComponent={true} parentDetail={currentRow} /> : ""
|
||||||
|
|
||||||
// selectTab === 2 ? <ProTable
|
|
||||||
// // headerTitle={<span style={{ color: "#1890ff", fontSize: 14, fontWeight: 600 }}>消费记录</span>}
|
|
||||||
// search={false}
|
|
||||||
// options={false}
|
|
||||||
// bordered
|
|
||||||
// columns={consumptionColumns}
|
|
||||||
// scroll={{ x: '100%', y: '350px' }}
|
|
||||||
// request={async (params: any) => {
|
|
||||||
// const req: any = {
|
|
||||||
// SearchParameter: {
|
|
||||||
// MEMBERSHIP_IDS: currentRow?.MEMBERSHIP_ID,
|
|
||||||
// PROVINCE_CODE: currentUser?.ProvinceCode || "",
|
|
||||||
// OWNERUNIT_ID: 911
|
|
||||||
// },
|
|
||||||
// PageIndex: params.current,
|
|
||||||
// PageSize: params?.pageSize,
|
|
||||||
// SortStr: "CONSUMPTIONRECORD_DATE desc"
|
|
||||||
// }
|
|
||||||
// const data = await handleGetCONSUMPTIONRECORDList(req)
|
|
||||||
// if (data.List && data.List.length > 0) {
|
|
||||||
// return { data: data.List, success: true, total: data.TotalCount }
|
|
||||||
// }
|
|
||||||
// return { data: [], success: true }
|
|
||||||
// }}
|
|
||||||
// pagination={{
|
|
||||||
// defaultPageSize: 20,
|
|
||||||
// showTotal: (total) => `共 ${total} 条记录`
|
|
||||||
// }}
|
|
||||||
// /> : ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{/* 成长值记录 */}
|
{/* 成长值记录 */}
|
||||||
{
|
{
|
||||||
selectTab === 3 ?
|
selectTab === 3 ?
|
||||||
<GrowthValueRecordSearch isComponent={true} parentDetail={currentRow} /> : '-'
|
<GrowthValueRecordSearch isComponent={true} parentDetail={currentRow} /> : ''
|
||||||
// <ProTable
|
|
||||||
// // headerTitle={<span style={{ color: "#1890ff", fontSize: 14, fontWeight: 600 }}>积分记录</span>}
|
|
||||||
// search={false}
|
|
||||||
// options={false}
|
|
||||||
// bordered
|
|
||||||
// scroll={{ x: '100%', y: '350px' }}
|
|
||||||
// columns={PointColumns}
|
|
||||||
// request={async (params: any) => {
|
|
||||||
// const req: any = {
|
|
||||||
// SearchParameter: {
|
|
||||||
// MEMBERSHIP_IDS: currentRow?.MEMBERSHIP_ID,
|
|
||||||
// PROVINCE_CODE: currentUser?.ProvinceCode || "",
|
|
||||||
// OWNERUNIT_ID: 911
|
|
||||||
// },
|
|
||||||
// PageIndex: params.current,
|
|
||||||
// PageSize: params?.pageSize,
|
|
||||||
// SortStr: "OPERATE_DATE desc"
|
|
||||||
// }
|
|
||||||
// const data = await handleGetPOINTRECORDList(req)
|
|
||||||
// console.log('22222', data);
|
|
||||||
// if (data.List && data.List.length > 0) {
|
|
||||||
// return { data: data.List, success: true, total: data.TotalCount }
|
|
||||||
// }
|
|
||||||
// return { data: [], success: true }
|
|
||||||
// }}
|
|
||||||
// pagination={{
|
|
||||||
// defaultPageSize: 20,
|
|
||||||
// showTotal: (total) => `共 ${total} 条记录`
|
|
||||||
// }}
|
|
||||||
// />
|
|
||||||
// : ""
|
|
||||||
}
|
}
|
||||||
|
{/* 积分记录 */}
|
||||||
{
|
{
|
||||||
selectTab === 4 ?
|
selectTab === 4 ?
|
||||||
<PointsRecordSearch isComponent={true} parentDetail={currentRow} />
|
<PointsRecordSearch isComponent={true} parentDetail={currentRow} />
|
||||||
// <ProTable
|
|
||||||
// // headerTitle={<span style={{ color: "#1890ff", fontSize: 14, fontWeight: 600 }}>成长值记录</span>}
|
|
||||||
// search={false}
|
|
||||||
// options={false}
|
|
||||||
// bordered
|
|
||||||
// scroll={{ x: '100%', y: '350px' }}
|
|
||||||
// columns={GrowthValueColumns}
|
|
||||||
// request={async (params: any) => {
|
|
||||||
// const req: any = {
|
|
||||||
// SearchParameter: {
|
|
||||||
// MEMBERSHIP_IDS: currentRow?.MEMBERSHIP_ID,
|
|
||||||
// PROVINCE_CODE: currentUser?.ProvinceCode || "",
|
|
||||||
// OWNERUNIT_ID: 911
|
|
||||||
// },
|
|
||||||
// PageIndex: params.current,
|
|
||||||
// PageSize: params?.pageSize,
|
|
||||||
// SortStr: "OPERATE_DATE desc"
|
|
||||||
// }
|
|
||||||
// const data = await handleGetMEMBERGROWTHList(req)
|
|
||||||
// console.log('33333', data);
|
|
||||||
// if (data.List && data.List.length > 0) {
|
|
||||||
// return { data: data.List, success: true, total: data.TotalCount }
|
|
||||||
// }
|
|
||||||
// return { data: [], success: true }
|
|
||||||
// }}
|
|
||||||
// pagination={{
|
|
||||||
// defaultPageSize: 20,
|
|
||||||
// showTotal: (total) => `共 ${total} 条记录`
|
|
||||||
// }}
|
|
||||||
// />
|
|
||||||
: ''
|
: ''
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -698,7 +609,6 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
selectTab === 5 ? <AddressDetail currentBigRow={currentRow} currentUser={currentUser} /> : ''
|
selectTab === 5 ? <AddressDetail currentBigRow={currentRow} currentUser={currentUser} /> : ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
{/* 活动轨迹 */}
|
{/* 活动轨迹 */}
|
||||||
{
|
{
|
||||||
selectTab === 6 ? <RegistrationRetentionAnalysis isComponent={true} parentDetail={currentRow} /> : ""
|
selectTab === 6 ? <RegistrationRetentionAnalysis isComponent={true} parentDetail={currentRow} /> : ""
|
||||||
@ -728,6 +638,37 @@ const MemberDetail = ({ showDetailDrawer, currentRow, handleCloseModal, currentU
|
|||||||
{
|
{
|
||||||
selectTab === 11 ? <MallEvaluationManage isComponent={true} parentDetail={currentRow} /> : ""
|
selectTab === 11 ? <MallEvaluationManage isComponent={true} parentDetail={currentRow} /> : ""
|
||||||
}
|
}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div style={{ width: '100%', boxSizing: 'border-box', padding: '0 24px' }}>
|
||||||
|
{
|
||||||
|
currentRow?.MEMBERSHIP_TYPE === 9999 ?
|
||||||
|
<Button danger onClick={() => {
|
||||||
|
confirm({
|
||||||
|
width: 500,
|
||||||
|
content: <div>
|
||||||
|
{`删除该消费记录将清除用户的积分与成长值,且该操作无法恢复。是否确认删除?`}
|
||||||
|
</div>,
|
||||||
|
onOk: async () => {
|
||||||
|
console.log('currentRowcurrentRowcurrentRowcurrentRow', currentRow);
|
||||||
|
const req: any = {
|
||||||
|
MembershipId: currentRow?.MEMBERSHIP_ID
|
||||||
|
}
|
||||||
|
const data = await handeDeleteMembershipRecord(req)
|
||||||
|
if (data.Result_Code === 100) {
|
||||||
|
message.success('删除成功!')
|
||||||
|
setSelectTab(0)
|
||||||
|
handleCloseModal()
|
||||||
|
} else {
|
||||||
|
message.error(data.Result_Data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}}>删除用户消费记录</Button> : ""
|
||||||
|
}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</ProForm>
|
</ProForm>
|
||||||
|
|||||||
@ -414,21 +414,48 @@ const SERVERPARTTable = ({ currentRow, onShow, onRef, pageType }: DetailProps) =
|
|||||||
<Divider orientation="left">面积相关</Divider>
|
<Divider orientation="left">面积相关</Divider>
|
||||||
<Row>
|
<Row>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<ProFormText
|
<ProFormDigit
|
||||||
name="FLOORAREA_A"
|
name="FLOORAREA_A"
|
||||||
label="占地面积"
|
label="占地面积"
|
||||||
|
fieldProps={{
|
||||||
|
controls: false,
|
||||||
|
onChange: (e: any) => {
|
||||||
|
let formRes: any = formRef?.current?.getFieldsValue()
|
||||||
|
formRef.current?.setFieldsValue({
|
||||||
|
FLOORAREA: Number(e) + Number(formRes?.FLOORAREA_B || 0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<ProFormText
|
<ProFormDigit
|
||||||
name="PARKINGAREA_A"
|
name="PARKINGAREA_A"
|
||||||
label="停车场面积"
|
label="停车场面积"
|
||||||
|
fieldProps={{
|
||||||
|
controls: false,
|
||||||
|
onChange: (e: any) => {
|
||||||
|
let formRes: any = formRef?.current?.getFieldsValue()
|
||||||
|
formRef.current?.setFieldsValue({
|
||||||
|
SHAREAREA: Number(e) + Number(formRes?.PARKINGAREA_B || 0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<ProFormText
|
<ProFormDigit
|
||||||
name="BUILDINGAREA_A"
|
name="BUILDINGAREA_A"
|
||||||
label="停车场面积"
|
label="建筑面积"
|
||||||
|
fieldProps={{
|
||||||
|
controls: false,
|
||||||
|
onChange: (e: any) => {
|
||||||
|
let formRes: any = formRef?.current?.getFieldsValue()
|
||||||
|
formRef.current?.setFieldsValue({
|
||||||
|
SERVERPART_AREA: Number(e) + Number(formRes?.BUILDINGAREA_B || 0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
@ -715,21 +742,48 @@ const SERVERPARTTable = ({ currentRow, onShow, onRef, pageType }: DetailProps) =
|
|||||||
<Divider orientation="left">面积相关</Divider>
|
<Divider orientation="left">面积相关</Divider>
|
||||||
<Row>
|
<Row>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<ProFormText
|
<ProFormDigit
|
||||||
name="FLOORAREA_B"
|
name="FLOORAREA_B"
|
||||||
label="占地面积"
|
label="占地面积"
|
||||||
|
fieldProps={{
|
||||||
|
controls: false,
|
||||||
|
onChange: (e: any) => {
|
||||||
|
let formRes: any = formRef?.current?.getFieldsValue()
|
||||||
|
formRef.current?.setFieldsValue({
|
||||||
|
FLOORAREA: Number(e) + Number(formRes?.FLOORAREA_A || 0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<ProFormText
|
<ProFormDigit
|
||||||
name="PARKINGAREA_B"
|
name="PARKINGAREA_B"
|
||||||
label="停车场面积"
|
label="停车场面积"
|
||||||
|
fieldProps={{
|
||||||
|
controls: false,
|
||||||
|
onChange: (e: any) => {
|
||||||
|
let formRes: any = formRef?.current?.getFieldsValue()
|
||||||
|
formRef.current?.setFieldsValue({
|
||||||
|
SHAREAREA: Number(e) + Number(formRes?.PARKINGAREA_A || 0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<ProFormText
|
<ProFormDigit
|
||||||
name="BUILDINGAREA_B"
|
name="BUILDINGAREA_B"
|
||||||
label="停车场面积"
|
label="建筑面积"
|
||||||
|
fieldProps={{
|
||||||
|
controls: false,
|
||||||
|
onChange: (e: any) => {
|
||||||
|
let formRes: any = formRef?.current?.getFieldsValue()
|
||||||
|
formRef.current?.setFieldsValue({
|
||||||
|
SERVERPART_AREA: Number(e) + Number(formRes?.BUILDINGAREA_A || 0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
|||||||
@ -971,3 +971,15 @@ export async function handeSetCommodityState(params: any) {
|
|||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 删除会员消费记录
|
||||||
|
export async function handeDeleteMembershipRecord(params: any) {
|
||||||
|
const data = await requestEncryption(`/Member/DeleteMembershipRecord`, {
|
||||||
|
method: 'POST',
|
||||||
|
data: { ...params, requestEncryption: true }
|
||||||
|
})
|
||||||
|
if (data.Result_Code !== 100) {
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user