diff --git a/config/routes.ts b/config/routes.ts
index ce5191b..2f86c2d 100644
--- a/config/routes.ts
+++ b/config/routes.ts
@@ -860,6 +860,102 @@ export default [
path: 'SummaryOfReservation',
name: 'SummaryOfReservation',
component: './travelMember/SummaryOfReservation/index'
+ },
+ // 预约订单汇总
+ {
+ path: 'SummaryOfReservation',
+ name: 'SummaryOfReservation',
+ component: './travelMember/SummaryOfReservation/index'
+ },
+ // 会员等级管理
+ {
+ path: 'MembershipLevelManage',
+ name: 'MembershipLevelManage',
+ component: './travelMember/MembershipLevelManage/index'
+ },
+ // 会员标签管理
+ {
+ path: 'MemberTagManage',
+ name: 'MemberTagManage',
+ component: './travelMember/MemberTagManage/index'
+ },
+ // 黑名单管理
+ {
+ path: 'BlacklistManage',
+ name: 'BlacklistManage',
+ component: './travelMember/BlacklistManage/index'
+ },
+ // 活动配置管理
+ {
+ path: 'ActivityConfigurationManage',
+ name: 'ActivityConfigurationManage',
+ component: './travelMember/ActivityConfigurationManage/index'
+ },
+ // 积分兑换商城
+ {
+ path: 'PointsExchangeMall',
+ name: 'PointsExchangeMall',
+ component: './travelMember/PointsExchangeMall/index'
+ },
+ // 新人入会奖励
+ {
+ path: 'NewcomerMembership',
+ name: 'NewcomerMembership',
+ component: './travelMember/NewcomerMembership/index'
+ },
+ // 节日生日权益
+ {
+ path: 'HolidayAndBirthdayBenefits',
+ name: 'HolidayAndBirthdayBenefits',
+ component: './travelMember/HolidayAndBirthdayBenefits/index'
+ },
+ // 消息推送配置
+ {
+ path: 'MessagePushConfiguration',
+ name: 'MessagePushConfiguration',
+ component: './travelMember/MessagePushConfiguration/index'
+ },
+ // 消息历史记录
+ {
+ path: 'MessageHistory',
+ name: 'MessageHistory',
+ component: './travelMember/MessageHistory/index'
+ },
+ // 注册留存分析
+ {
+ path: 'RegistrationRetentionAnalysis',
+ name: 'RegistrationRetentionAnalysis',
+ component: './travelMember/RegistrationRetentionAnalysis/index'
+ },
+ // 会员等级分布
+ {
+ path: 'MembershipLevelDistribution',
+ name: 'MembershipLevelDistribution',
+ component: './travelMember/MembershipLevelDistribution/index'
+ },
+ // 商户销售排行
+ {
+ path: 'MerchantSalesRanking',
+ name: 'MerchantSalesRanking',
+ component: './travelMember/MerchantSalesRanking/index'
+ },
+ // 商户评价汇总
+ {
+ path: 'SummaryofMerchantReviews',
+ name: 'SummaryofMerchantReviews',
+ component: './travelMember/SummaryofMerchantReviews/index'
+ },
+ // 热销滞销分析
+ {
+ path: 'AnalysisOfHotSellingButUnsoldProducts',
+ name: 'AnalysisOfHotSellingButUnsoldProducts',
+ component: './travelMember/AnalysisOfHotSellingButUnsoldProducts/index'
+ },
+ // 库存预警管理
+ {
+ path: 'InventoryWarningManagement',
+ name: 'InventoryWarningManagement',
+ component: './travelMember/InventoryWarningManagement/index'
}
]
},
@@ -911,11 +1007,11 @@ export default [
component: './CardInformation/NewCouponReview/index'
}
-
-
+
+
]
},
{
diff --git a/src/pages/BussinessProject/components/ShareBenefit.tsx b/src/pages/BussinessProject/components/ShareBenefit.tsx
index 7ffca95..65ad076 100644
--- a/src/pages/BussinessProject/components/ShareBenefit.tsx
+++ b/src/pages/BussinessProject/components/ShareBenefit.tsx
@@ -311,6 +311,10 @@ const ShareBenefit: React.FC<{ props: BusinessProjectModel, showEdit?: boolean,
})
}
})
+ } else {
+ data.data.forEach((subItem: any) => {
+ subItem.showAgainBtn = true
+ })
}
diff --git a/src/pages/CardInformation/CardHaveCollection/index.tsx b/src/pages/CardInformation/CardHaveCollection/index.tsx
index bea2e18..a5f5886 100644
--- a/src/pages/CardInformation/CardHaveCollection/index.tsx
+++ b/src/pages/CardInformation/CardHaveCollection/index.tsx
@@ -1 +1,15 @@
-// 卡券兑换统计
\ No newline at end of file
+// 卡券兑换统计
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const CardHaveCollection: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(CardHaveCollection);
\ No newline at end of file
diff --git a/src/pages/CardInformation/CardVoucherRedemption/index.tsx b/src/pages/CardInformation/CardVoucherRedemption/index.tsx
index fb58313..e84196d 100644
--- a/src/pages/CardInformation/CardVoucherRedemption/index.tsx
+++ b/src/pages/CardInformation/CardVoucherRedemption/index.tsx
@@ -1 +1,15 @@
-// 卡券领取统计
\ No newline at end of file
+// 卡券领取统计
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const CardVoucherRedemption: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(CardVoucherRedemption);
\ No newline at end of file
diff --git a/src/pages/CardInformation/CardVoucherSearch/index.tsx b/src/pages/CardInformation/CardVoucherSearch/index.tsx
index d76975b..4b3f888 100644
--- a/src/pages/CardInformation/CardVoucherSearch/index.tsx
+++ b/src/pages/CardInformation/CardVoucherSearch/index.tsx
@@ -1 +1,15 @@
-// 卡券领取查询
\ No newline at end of file
+// 卡券领取查询
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const CardVoucherSearch: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(CardVoucherSearch);
\ No newline at end of file
diff --git a/src/pages/CardInformation/NewCouponApplication/index.tsx b/src/pages/CardInformation/NewCouponApplication/index.tsx
index f4df78a..b985309 100644
--- a/src/pages/CardInformation/NewCouponApplication/index.tsx
+++ b/src/pages/CardInformation/NewCouponApplication/index.tsx
@@ -1 +1,15 @@
-// 新增卡券申请
\ No newline at end of file
+// 新增卡券申请
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const NewCouponApplication: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(NewCouponApplication);
\ No newline at end of file
diff --git a/src/pages/CardInformation/NewCouponReview/index.tsx b/src/pages/CardInformation/NewCouponReview/index.tsx
index 35bd32c..b2888a0 100644
--- a/src/pages/CardInformation/NewCouponReview/index.tsx
+++ b/src/pages/CardInformation/NewCouponReview/index.tsx
@@ -1 +1,15 @@
-// 新增卡券审核
\ No newline at end of file
+// 新增卡券审核
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const NewCouponReview: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(NewCouponReview);
\ No newline at end of file
diff --git a/src/pages/travelMember/ActivityConfigurationManage/index.tsx b/src/pages/travelMember/ActivityConfigurationManage/index.tsx
new file mode 100644
index 0000000..9e1f07d
--- /dev/null
+++ b/src/pages/travelMember/ActivityConfigurationManage/index.tsx
@@ -0,0 +1,15 @@
+// 活动配置管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const ActivityConfigurationManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(ActivityConfigurationManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/AfterSalesManage/index.tsx b/src/pages/travelMember/AfterSalesManage/index.tsx
index d52bf75..4b84307 100644
--- a/src/pages/travelMember/AfterSalesManage/index.tsx
+++ b/src/pages/travelMember/AfterSalesManage/index.tsx
@@ -1 +1,15 @@
-// 点餐售后管理
\ No newline at end of file
+// 点餐售后管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const AfterSalesManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(AfterSalesManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/AfterSalesTypeManage/index.tsx b/src/pages/travelMember/AfterSalesTypeManage/index.tsx
index b3c952c..de22935 100644
--- a/src/pages/travelMember/AfterSalesTypeManage/index.tsx
+++ b/src/pages/travelMember/AfterSalesTypeManage/index.tsx
@@ -1 +1,15 @@
-// 售后类型管理
\ No newline at end of file
+// 售后类型管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const AfterSalesTypeManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(AfterSalesTypeManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/AnalysisOfHotSellingButUnsoldProducts/index.tsx b/src/pages/travelMember/AnalysisOfHotSellingButUnsoldProducts/index.tsx
new file mode 100644
index 0000000..1135a27
--- /dev/null
+++ b/src/pages/travelMember/AnalysisOfHotSellingButUnsoldProducts/index.tsx
@@ -0,0 +1,15 @@
+// 热销滞销分析
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const AnalysisOfHotSellingButUnsoldProducts: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(AnalysisOfHotSellingButUnsoldProducts);
\ No newline at end of file
diff --git a/src/pages/travelMember/BlacklistManage/index.tsx b/src/pages/travelMember/BlacklistManage/index.tsx
new file mode 100644
index 0000000..c729b2b
--- /dev/null
+++ b/src/pages/travelMember/BlacklistManage/index.tsx
@@ -0,0 +1,15 @@
+// 黑名单管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const BlacklistManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(BlacklistManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/BookingMealOrder/index.tsx b/src/pages/travelMember/BookingMealOrder/index.tsx
index 920d124..6d9607f 100644
--- a/src/pages/travelMember/BookingMealOrder/index.tsx
+++ b/src/pages/travelMember/BookingMealOrder/index.tsx
@@ -1 +1,15 @@
-// 预约点餐订单
\ No newline at end of file
+// 预约点餐订单
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const BookingMealOrder: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(BookingMealOrder);
\ No newline at end of file
diff --git a/src/pages/travelMember/GrowthValueRuleConfig/index.tsx b/src/pages/travelMember/GrowthValueRuleConfig/index.tsx
index f811c6f..cbd0def 100644
--- a/src/pages/travelMember/GrowthValueRuleConfig/index.tsx
+++ b/src/pages/travelMember/GrowthValueRuleConfig/index.tsx
@@ -23,6 +23,7 @@ import type { FormInstance } from 'antd';
import { getFieldEnumTree, getFieldEnumName } from "@/services/options"; // 枚举的引用,没有使用可以删除
import { handleDeleteGROWTHSETTING, handleGetGROWTHSETTINGList, handleSynchroGROWTHSETTING } from '../service';
import session from '@/utils/session';
+import PageTitleBox from '@/components/PageTitleBox';
@@ -263,7 +264,7 @@ const GrowthValueRuleConfig: React.FC<{ currentUser: CurrentUser | undefined }>
return `${record?.GROWTHSETTING_ID}`
}}
formRef={formRef}
- headerTitle="会员成长值配置列表" // 列表表头
+ headerTitle={ }
actionRef={actionRef}
bordered
search={{ span: 6, labelWidth: 'auto' }}
diff --git a/src/pages/travelMember/HolidayAndBirthdayBenefits/index.tsx b/src/pages/travelMember/HolidayAndBirthdayBenefits/index.tsx
new file mode 100644
index 0000000..fae2ba5
--- /dev/null
+++ b/src/pages/travelMember/HolidayAndBirthdayBenefits/index.tsx
@@ -0,0 +1,15 @@
+// 节日生日权益
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const HolidayAndBirthdayBenefits: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(HolidayAndBirthdayBenefits);
\ No newline at end of file
diff --git a/src/pages/travelMember/HomeSelectedCoupons/index.tsx b/src/pages/travelMember/HomeSelectedCoupons/index.tsx
index 8b9092b..c5ee5b1 100644
--- a/src/pages/travelMember/HomeSelectedCoupons/index.tsx
+++ b/src/pages/travelMember/HomeSelectedCoupons/index.tsx
@@ -1 +1,15 @@
-// 首页精选卡券
\ No newline at end of file
+// 首页精选卡券
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const HomeSelectedCoupons: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(HomeSelectedCoupons);
\ No newline at end of file
diff --git a/src/pages/travelMember/HomeSelectedMall/index.tsx b/src/pages/travelMember/HomeSelectedMall/index.tsx
index 07d5979..98b6183 100644
--- a/src/pages/travelMember/HomeSelectedMall/index.tsx
+++ b/src/pages/travelMember/HomeSelectedMall/index.tsx
@@ -1 +1,15 @@
-// 首页精选商城
\ No newline at end of file
+// 首页精选商城
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const HomeSelectedMall: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(HomeSelectedMall);
\ No newline at end of file
diff --git a/src/pages/travelMember/HomeSelectedMerchants/index.tsx b/src/pages/travelMember/HomeSelectedMerchants/index.tsx
index fed327a..c18b7e3 100644
--- a/src/pages/travelMember/HomeSelectedMerchants/index.tsx
+++ b/src/pages/travelMember/HomeSelectedMerchants/index.tsx
@@ -1 +1,15 @@
-// 首页精选商家
\ No newline at end of file
+// 首页精选商家
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const HomeSelectedMerchants: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(HomeSelectedMerchants);
\ No newline at end of file
diff --git a/src/pages/travelMember/InventoryWarningManagement/index.tsx b/src/pages/travelMember/InventoryWarningManagement/index.tsx
new file mode 100644
index 0000000..0068fab
--- /dev/null
+++ b/src/pages/travelMember/InventoryWarningManagement/index.tsx
@@ -0,0 +1,15 @@
+// 库存预警管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const InventoryWarningManagement: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(InventoryWarningManagement);
\ No newline at end of file
diff --git a/src/pages/travelMember/LibraryInformationManager/index.tsx b/src/pages/travelMember/LibraryInformationManager/index.tsx
index 671800e..b3f4bdb 100644
--- a/src/pages/travelMember/LibraryInformationManager/index.tsx
+++ b/src/pages/travelMember/LibraryInformationManager/index.tsx
@@ -1 +1,15 @@
-// 图库信息管理
\ No newline at end of file
+// 图库信息管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const LibraryInformationManager: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(LibraryInformationManager);
\ No newline at end of file
diff --git a/src/pages/travelMember/LibraryTypeManager/index.tsx b/src/pages/travelMember/LibraryTypeManager/index.tsx
index 734367b..b4c6066 100644
--- a/src/pages/travelMember/LibraryTypeManager/index.tsx
+++ b/src/pages/travelMember/LibraryTypeManager/index.tsx
@@ -1 +1,15 @@
-// 图库类型管理
\ No newline at end of file
+// 图库类型管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const LibraryTypeManager: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(LibraryTypeManager);
\ No newline at end of file
diff --git a/src/pages/travelMember/LostandFoundAPPliance/index.tsx b/src/pages/travelMember/LostandFoundAPPliance/index.tsx
index ac88ed7..2245941 100644
--- a/src/pages/travelMember/LostandFoundAPPliance/index.tsx
+++ b/src/pages/travelMember/LostandFoundAPPliance/index.tsx
@@ -1,2 +1,15 @@
// 失物招领申请
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+const LostandFoundAPPliance: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(LostandFoundAPPliance);
diff --git a/src/pages/travelMember/LostandFoundReview/index.tsx b/src/pages/travelMember/LostandFoundReview/index.tsx
index 0975495..a34a8b5 100644
--- a/src/pages/travelMember/LostandFoundReview/index.tsx
+++ b/src/pages/travelMember/LostandFoundReview/index.tsx
@@ -1 +1,15 @@
-// 失物招领审核
\ No newline at end of file
+// 失物招领审核
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const LostandFoundReview: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(LostandFoundReview);
\ No newline at end of file
diff --git a/src/pages/travelMember/MallEvaluationManage/index.tsx b/src/pages/travelMember/MallEvaluationManage/index.tsx
index cbd0054..173d084 100644
--- a/src/pages/travelMember/MallEvaluationManage/index.tsx
+++ b/src/pages/travelMember/MallEvaluationManage/index.tsx
@@ -1 +1,15 @@
-// 商城评价管理
\ No newline at end of file
+// 商城评价管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MallEvaluationManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MallEvaluationManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/MallOrderManage/index.tsx b/src/pages/travelMember/MallOrderManage/index.tsx
index 2f1e43b..edb6282 100644
--- a/src/pages/travelMember/MallOrderManage/index.tsx
+++ b/src/pages/travelMember/MallOrderManage/index.tsx
@@ -1 +1,15 @@
-// 商城订单管理
\ No newline at end of file
+// 商城订单管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MallOrderManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MallOrderManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/MemberAddress/index.tsx b/src/pages/travelMember/MemberAddress/index.tsx
index 4a772ff..ca989a3 100644
--- a/src/pages/travelMember/MemberAddress/index.tsx
+++ b/src/pages/travelMember/MemberAddress/index.tsx
@@ -20,6 +20,7 @@ import type { ActionType, ProColumns } from '@ant-design/pro-table';
import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
import type { FormInstance } from 'antd';
import { handleDeleteMEMBERADDRESS, handleGetMEMBERADDRESSList, handleSynchroMEMBERADDRESS } from '../service';
+import PageTitleBox from '@/components/PageTitleBox';
@@ -75,7 +76,7 @@ const MemberAddress: React.FC<{ currentUser: CurrentUser | undefined }> = (props
width: 150,
align: 'center',
hideInTable: true,
- fieldProps:{
+ fieldProps: {
placeholder: "输入收货人名称"
}
},
@@ -293,7 +294,8 @@ const MemberAddress: React.FC<{ currentUser: CurrentUser | undefined }> = (props
return `${record?.MEMBERADDRESS_ID}`
}}
formRef={formRef}
- headerTitle="会员收货地址列表" // 列表表头
+ // headerTitle="会员收货地址列表" // 列表表头
+ headerTitle={ }
actionRef={actionRef}
search={{ span: 6, labelWidth: 'auto' }}
bordered
diff --git a/src/pages/travelMember/MemberTagManage/index.tsx b/src/pages/travelMember/MemberTagManage/index.tsx
new file mode 100644
index 0000000..95ce740
--- /dev/null
+++ b/src/pages/travelMember/MemberTagManage/index.tsx
@@ -0,0 +1,15 @@
+// 会员标签管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MemberTagManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MemberTagManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/MembershipLevelDistribution/index.tsx b/src/pages/travelMember/MembershipLevelDistribution/index.tsx
new file mode 100644
index 0000000..2989f2d
--- /dev/null
+++ b/src/pages/travelMember/MembershipLevelDistribution/index.tsx
@@ -0,0 +1,15 @@
+// 会员等级分布
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MembershipLevelDistribution: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MembershipLevelDistribution);
\ No newline at end of file
diff --git a/src/pages/travelMember/MembershipLevelManage/index.tsx b/src/pages/travelMember/MembershipLevelManage/index.tsx
new file mode 100644
index 0000000..9f1cee2
--- /dev/null
+++ b/src/pages/travelMember/MembershipLevelManage/index.tsx
@@ -0,0 +1,15 @@
+// 会员等级管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MembershipLevelManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MembershipLevelManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/MerchantEvaluationManage/index.tsx b/src/pages/travelMember/MerchantEvaluationManage/index.tsx
index 86d69d8..9bcbf10 100644
--- a/src/pages/travelMember/MerchantEvaluationManage/index.tsx
+++ b/src/pages/travelMember/MerchantEvaluationManage/index.tsx
@@ -1 +1,15 @@
// 商家评价管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MerchantEvaluationManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MerchantEvaluationManage);
diff --git a/src/pages/travelMember/MerchantProductApplication/index.tsx b/src/pages/travelMember/MerchantProductApplication/index.tsx
index b16702d..ce14893 100644
--- a/src/pages/travelMember/MerchantProductApplication/index.tsx
+++ b/src/pages/travelMember/MerchantProductApplication/index.tsx
@@ -1 +1,15 @@
-// 合作商户商品申请
\ No newline at end of file
+// 合作商户商品申请
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MerchantProductApplication: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MerchantProductApplication);
\ No newline at end of file
diff --git a/src/pages/travelMember/MerchantProductReview/index.tsx b/src/pages/travelMember/MerchantProductReview/index.tsx
index 56f921d..0cd90a8 100644
--- a/src/pages/travelMember/MerchantProductReview/index.tsx
+++ b/src/pages/travelMember/MerchantProductReview/index.tsx
@@ -1 +1,15 @@
-// 合作商户商品审核
\ No newline at end of file
+// 合作商户商品审核
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MerchantProductReview: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MerchantProductReview);
\ No newline at end of file
diff --git a/src/pages/travelMember/MerchantSalesRanking/index.tsx b/src/pages/travelMember/MerchantSalesRanking/index.tsx
new file mode 100644
index 0000000..0527562
--- /dev/null
+++ b/src/pages/travelMember/MerchantSalesRanking/index.tsx
@@ -0,0 +1,15 @@
+// 商户销售排行
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MerchantSalesRanking: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MerchantSalesRanking);
\ No newline at end of file
diff --git a/src/pages/travelMember/MessageHistory/index.tsx b/src/pages/travelMember/MessageHistory/index.tsx
new file mode 100644
index 0000000..7c19782
--- /dev/null
+++ b/src/pages/travelMember/MessageHistory/index.tsx
@@ -0,0 +1,15 @@
+// 消息历史记录
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MessageHistory: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MessageHistory);
\ No newline at end of file
diff --git a/src/pages/travelMember/MessagePushConfiguration/index.tsx b/src/pages/travelMember/MessagePushConfiguration/index.tsx
new file mode 100644
index 0000000..cebd391
--- /dev/null
+++ b/src/pages/travelMember/MessagePushConfiguration/index.tsx
@@ -0,0 +1,15 @@
+// 消息推送配置
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const MessagePushConfiguration: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(MessagePushConfiguration);
\ No newline at end of file
diff --git a/src/pages/travelMember/NewcomerMembership/index.tsx b/src/pages/travelMember/NewcomerMembership/index.tsx
new file mode 100644
index 0000000..220120b
--- /dev/null
+++ b/src/pages/travelMember/NewcomerMembership/index.tsx
@@ -0,0 +1,15 @@
+// 新人入会奖励
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const NewcomerMembership: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(NewcomerMembership);
\ No newline at end of file
diff --git a/src/pages/travelMember/OrderAfterSalesManage/index.tsx b/src/pages/travelMember/OrderAfterSalesManage/index.tsx
index f949fff..4fdb933 100644
--- a/src/pages/travelMember/OrderAfterSalesManage/index.tsx
+++ b/src/pages/travelMember/OrderAfterSalesManage/index.tsx
@@ -1 +1,15 @@
-// 订单售后管理
\ No newline at end of file
+// 订单售后管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const OrderAfterSalesManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(OrderAfterSalesManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/OrderCategoryManage/index.tsx b/src/pages/travelMember/OrderCategoryManage/index.tsx
index 0a133ea..1c982a9 100644
--- a/src/pages/travelMember/OrderCategoryManage/index.tsx
+++ b/src/pages/travelMember/OrderCategoryManage/index.tsx
@@ -1 +1,15 @@
-// 点餐类别管理
\ No newline at end of file
+// 点餐类别管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const OrderCategoryManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(OrderCategoryManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/OrderProductManage/index.tsx b/src/pages/travelMember/OrderProductManage/index.tsx
index 663e7f3..5a9ecf4 100644
--- a/src/pages/travelMember/OrderProductManage/index.tsx
+++ b/src/pages/travelMember/OrderProductManage/index.tsx
@@ -1 +1,15 @@
-// 点餐商品管理
\ No newline at end of file
+// 点餐商品管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const OrderProductManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(OrderProductManage);
\ No newline at end of file
diff --git a/src/pages/travelMember/PointsExchangeMall/index.tsx b/src/pages/travelMember/PointsExchangeMall/index.tsx
new file mode 100644
index 0000000..428e3cc
--- /dev/null
+++ b/src/pages/travelMember/PointsExchangeMall/index.tsx
@@ -0,0 +1,15 @@
+// 积分兑换商城
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const PointsExchangeMall: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(PointsExchangeMall);
\ No newline at end of file
diff --git a/src/pages/travelMember/PointsRuleConfig/index.tsx b/src/pages/travelMember/PointsRuleConfig/index.tsx
index c7936cb..5bc8f20 100644
--- a/src/pages/travelMember/PointsRuleConfig/index.tsx
+++ b/src/pages/travelMember/PointsRuleConfig/index.tsx
@@ -23,6 +23,7 @@ import type { FormInstance } from 'antd';
import { getFieldEnumTree, getFieldEnumName } from "@/services/options"; // 枚举的引用,没有使用可以删除
import { handleDeleteSCORESETTING, handleGetSCORESETTINGList, handleSynchroSCORESETTING } from '../service';
import session from '@/utils/session';
+import PageTitleBox from '@/components/PageTitleBox';
@@ -286,7 +287,7 @@ const PointsRuleConfig: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
}}
bordered
formRef={formRef}
- headerTitle="积分规则列表" // 列表表头
+ headerTitle={ }
actionRef={actionRef}
search={{ span: 6, labelWidth: 'auto' }}
// 请求数据
diff --git a/src/pages/travelMember/ProductListingManagement/index.tsx b/src/pages/travelMember/ProductListingManagement/index.tsx
index 5e58f5d..ad15570 100644
--- a/src/pages/travelMember/ProductListingManagement/index.tsx
+++ b/src/pages/travelMember/ProductListingManagement/index.tsx
@@ -1 +1,1091 @@
-// 商品上架管理
\ No newline at end of file
+import React, { useRef, useState, Suspense } from 'react';
+import moment from 'moment'; // 时间相关引用,没有使用可以删除
+import numeral from "numeral"; // 数字相关引用,没有使用可以删除
+import { connect } from 'umi';
+
+import useRequest from '@ahooksjs/use-request'; // 请求数据的引用
+import Draggable from 'react-draggable';
+import SubMenu from "antd/lib/menu/SubMenu";
+import ProTable from '@ant-design/pro-table';
+import ProDescriptions from '@ant-design/pro-descriptions';
+import ProForm, { ProFormDatePicker,ProFormDateTimePicker, ProFormMoney, ProFormSelect, ProFormText, ProFormTextArea, ProFormUploadButton } from '@ant-design/pro-form';
+import { MenuFoldOutlined, PlusOutlined, ExclamationCircleOutlined } from '@ant-design/icons';
+import { PageContainer } from '@ant-design/pro-layout';
+import { Button, Col, Drawer, message, Row, Popconfirm, Space, Image, Modal, Form, Switch, Upload, Tooltip, Descriptions, TreeSelect } from 'antd';
+
+import type { CurrentUser } from "umi";
+import type { ConnectState } from '@/models/connect';
+import type { ActionType, ProColumns } from '@ant-design/pro-table';
+import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
+import type { FormInstance } from 'antd';
+import type { COMMODITYModel } from './data';
+
+import { getFieldEnumTree, getFieldEnumName } from "@/services/options"; // 枚举的引用,没有使用可以删除
+import { getList, delcommodity, updatecommodity } from './service'; // 接口相关对象的引用
+import PageTitleBox from "@/components/PageTitleBox";
+
+
+const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ const { currentUser } = props
+ const actionRef = useRef();
+ const formRef = useRef();
+ const [currentRow, setCurrentRow] = useState();
+ const [showDetail, setShowDetail] = useState();
+ const [modalVisible, handleModalVisible] = useState();
+ const [confirmLoading, handleConfirmLoading] = useState(false) // 弹出框的内容表单是否在提交
+ const [searchParams, setSearchParams] = useState();
+
+ // 弹出框拖动效果
+ const [bounds, setBounds] = useState<{ left: number, right: number, top: number, bottom: number }>() // 移动的位置
+ const [disabled, setDraggleDisabled] = useState() // 是否拖动
+ const draggleRef = React.createRef()
+
+ const onDraggaleStart = (event, uiData) => {
+ const { clientWidth, clientHeight } = window.document.documentElement;
+ const targetRect = draggleRef.current?.getBoundingClientRect();
+ if (!targetRect) {
+ return;
+ }
+ setBounds({
+ left: -targetRect.left + uiData.x,
+ right: clientWidth - (targetRect.right - uiData.x),
+ top: -targetRect.top + uiData.y,
+ bottom: clientHeight - (targetRect.bottom - uiData.y),
+ });
+ };
+ // 拖动结束
+
+
+ // 定义列表字段内容
+ const columns: ProColumns[] = [
+ {
+ dataIndex: 'PROVINCE_CODE',
+ title: '省份编码',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'BRAND_NAME',
+ title: '品牌名称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'MERCHANTS_NAME',
+ title: '商户名称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'SERVERPARTCODE',
+ title: '服务区编码',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'SHOPCODE',
+ title: '门店编码',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'SERVERPART_NAME',
+ title: '服务区名称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'SHOPNAME',
+ title: '门店名称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_TYPE',
+ title: '商品类型',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_CODE',
+ title: '商品编码',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_NAME',
+ title: '商品名称',
+ align: 'center',
+ hideInSearch: true,
+ hideInDescriptions: true,
+ },
+ {
+ dataIndex: 'COMMODITY_BARCODE',
+ title: '商品条码',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_UNIT',
+ title: '商品单位',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_RULE',
+ title: '商品规格',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_EN',
+ title: '商品简称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_ORI',
+ title: '商品产地',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_GRADE',
+ title: '质量等级',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_RETAILPRICE',
+ title: '零售价格',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_PURCHASEPRICE',
+ title: '进货价格',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_MEMBERPRICE',
+ title: '会员价格',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_TAG',
+ title: '商品标签',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_STOCK',
+ title: '商品库存',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_NATURE',
+ title: '商品属性',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'BUSINESSTYPE',
+ title: '商品业态',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'ISBULK',
+ title: '是否散称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'METERINGMETHOD',
+ title: '称重方式',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'GUARANTEE_DAY',
+ title: '保质期限',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'REMINDER_DAY',
+ title: '提醒期限',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_HOTKEY',
+ title: '快捷键',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'USERDEFINEDTYPE_NAME',
+ title: '自定义名称',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'UPPER_STATE',
+ title: '上架状态',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_STATE',
+ title: '商品状态',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'OPERATE_DATE',
+ title: '修改时间',
+ valueType: 'fromNow',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'TRANSFER_STATE',
+ title: '传输状态',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'OPERATE_PERSON',
+ title: '操作人员',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'OPERATE_TIME',
+ title: '操作时间',
+ valueType: 'date',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_DESC',
+ title: '备注说明',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_INDEX',
+ title: '商品索引',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMENT_COUNT',
+ title: '评价次数',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMENT_SCORE',
+ title: '商品评分',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'PAY_METHOD',
+ title: '消费模式【1000:余额消费,2000:积分兑换】',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_POINT',
+ title: '商品积分',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'ISDISTRIBUTION',
+ title: '是否是分销商品',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'OWNERUNIT_NAME',
+ title: '业主单位',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'WECHATAPPSIGN_NAME',
+ title: '小程序名字',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'WECHATAPP_APPID',
+ title: '小程序APPID',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'DATAFORMAT',
+ title: '数据形式',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'UPPER_DATE',
+ title: '上架时间',
+ valueType: 'date',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'OFF_DATE',
+ title: '下架时间',
+ valueType: 'date',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'SEND_MODE',
+ title: '发货模式',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'DELIVER_AREA',
+ title: '配送区域',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'LIMIT_TOTALCOUNT',
+ title: '限购总数',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'LIMIT_DAILYCOUNT',
+ title: '每日限购',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'COMMODITY_INTRO',
+ title: '产品介绍',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'AFTERSALE_NATRUE',
+ title: '售后性质',
+ align: 'center',
+ hideInSearch: true,
+ },
+ {
+ dataIndex: 'option',
+ title: '操作',
+ valueType: 'option',
+ hideInSearch: true,
+ render: (_, record) => {
+ return (
+
+ {
+ setCurrentRow(record);
+ setShowDetail(true);
+ }}
+ >
+ 查看
+
+ {
+ setCurrentRow({ ...record });
+ handleModalVisible(true);
+ }}
+ >
+ 编辑
+
+ {
+ await handelDelete(record.COMMODITY_ID);
+ }}
+ >
+ 删除
+
+
+ );
+ },
+ },
+ ];
+
+ const handelDelete = async (commodityid: number) => {
+ const result = await delcommodity({commodityid:commodityid});
+
+ if (result.Result_Code !== 100) {
+ message.error(`${result.Result_Desc}` || `${result.Result_Code}:删除失败`);
+ } else {
+ message.success('删除成功!');
+ actionRef.current?.reload()
+ }
+ };
+
+ const handleAddUpdate = async (fields: COMMODITYModel) => {
+ const hide = message.loading('正在提交...');
+
+ const result = await updatecommodity(fields);
+ hide();
+ if (result.Result_Code !== 100) {
+ message.error(`${result.Result_Desc}` || `${result.Result_Code}:提交失败`);
+ return false;
+ }
+ return result.Result_Data ? result.Result_Data : true;
+ };
+
+ return (
+
+
+
+ style={{height:'calc(100vh - 135px)',background:'#fff'}}
+ scroll={{y:'calc(100vh - 410px)'}}
+ rowKey={(record) => {
+ return `${record?.COMMODITY_ID}`
+ }}
+ formRef={formRef}
+ headerTitle={ } // 列表表头
+ actionRef={actionRef}
+ search={{ span: 6, labelWidth: 'auto' }}
+ // 请求数据
+ request={async (params, sorter) => {
+ if (!selectedId){
+ return
+ }
+ // 排序字段
+ const sortstr = Object.keys(sorter).map(n => {
+ const value = sorter[n]
+ return value ? `${n} ${value.replace('end', '')}` : ''
+ })
+ const searchWholeParams = {
+ searchParameter: { ...params },
+ sortstr: sortstr.length ? sortstr.toString() : "",
+ pagesize: 999999
+ }
+ setSearchParams(searchWholeParams)
+ searchWholeParams.pagesize = params.pageSize
+ const data = await getList(searchWholeParams);
+ return data;
+ }}
+ columns={columns}
+ toolbar={{
+ actions: [
+ // 新增按钮
+ }
+ type="primary"
+ onClick={() => {
+ handleModalVisible(true);
+ }}
+ >
+ 商品管理
+ ,
+ ],
+ }}
+ pagination={{ defaultPageSize: 10 }}
+ />
+ {
+ setCurrentRow(undefined);
+ setShowDetail(false);
+ }}
+ closable={false}
+ >
+ {currentRow?.COMMODITY_ID && (
+
+ column={2}
+ title={currentRow?.COMMODITY_NAME}
+ request={async () => ({
+ data: currentRow || {},
+ })}
+ params={{
+ id: currentRow?.COMMODITY_ID,
+ }}
+ columns={columns as ProDescriptionsItemProps[]}
+ />
+ )}
+
+ {
+ if (disabled) {
+ setDraggleDisabled(false)
+ }
+ }}
+ onMouseOut={() => {
+ setDraggleDisabled(true)
+ }}
+
+ onFocus={() => { }}
+ onBlur={() => { }}
+ >
+ {currentRow ? '更新商品管理' : '新建商品管理'}
+
+ }
+ destroyOnClose={true}
+ width={900}
+ visible={modalVisible}
+ confirmLoading={confirmLoading}
+ afterClose={() => {
+ formRef.current?.resetFields();
+ setCurrentRow(undefined);
+ }}
+ onCancel={() => {
+ handleConfirmLoading(false)
+ handleModalVisible(false)
+ }}
+
+ onOk={async () => { // 提交框内的数据
+ formRef?.current?.validateFields().then(()=>{
+ handleConfirmLoading(true)
+ formRef?.current?.submit()
+ })
+ }}
+ modalRender={(modal) => {
+ return
onDraggaleStart(event, uiData)}
+ >
+ {modal}
+
+ }}
+ >
+
+ layout={'horizontal'}
+ wrapperCol={{ span: 16 }} // 表单项 填写部分所占的栅格数
+ labelCol={{ span: 6 }} // 表单项 标题所占的栅格数
+ formRef={formRef}
+ autoFocusFirstInput
+ submitter={false}
+ preserve={false}
+ initialValues={currentRow}
+ onFinish={async (values) => {
+ let newValue: COMMODITYModel = { ...values };
+ if (currentRow) {
+ // 编辑数据
+ newValue = { ...values, COMMODITY_ID: currentRow.COMMODITY_ID };
+ }
+ // 如果有开关,要把开关的代码写进去
+ const success = await handleAddUpdate(newValue as COMMODITYModel);
+
+ handleConfirmLoading(false)
+ if (success) {
+ if (actionRef.current) {
+ actionRef.current.reload();
+ }
+ handleModalVisible(false);
+ }
+ }}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(COMMODITYTable);
diff --git a/src/pages/travelMember/ProductListingManagement/service.ts b/src/pages/travelMember/ProductListingManagement/service.ts
new file mode 100644
index 0000000..bf36560
--- /dev/null
+++ b/src/pages/travelMember/ProductListingManagement/service.ts
@@ -0,0 +1,49 @@
+import { tableList, wrapTreeNode } from '@/utils/format';
+import request from '@/utils/request';
+import requestEncryption from '@/utils/requestEncryption';
+import type { COMMODITYModel } from './data'; // 引用标准接口数据对象
+// 获取列表【商品管理】
+export async function getList(params?: any) {
+ const data = await requestEncryption(`/MemberBasic/GetCOMMODITYList`, {
+ method: 'POST',
+ data: { ...params, requestEncryption: true }
+ });
+
+ if (data.Result_Code !== 100) {
+ return {
+ List: []
+ }
+
+ return data.Result_Data;
+ }
+}
+// 获取明细【商品管理】
+export async function getDetail(params: any) {
+ const data = await requestEncryption(`/MemberBasic/GetCOMMODITYDetail`, {
+ method: 'POST',
+ data: { ...params, requestEncryption: true },
+ });
+
+ if (data.Result_Code !== 100) {
+ return data
+ }
+
+ return data.Result_Data;
+}
+// 同步数据【商品管理】
+export async function updatecommodity(params: any) {
+ const data = await requestEncryption(`/MemberBasic/SynchroCOMMODITY`, {
+ method: 'POST',
+ data: { ...params, requestEncryption: true }
+ });
+
+ return data;
+}
+// 删除数据【商品管理】
+export async function delcommodity(params: any) {
+ const data = await requestEncryption(`/MemberBasic/DeleteCOMMODITY`, {
+ method: 'POST',
+ data: { ...params, requestEncryption: true }
+ });
+ return data;
+}
diff --git a/src/pages/travelMember/RegistrationRetentionAnalysis/index.tsx b/src/pages/travelMember/RegistrationRetentionAnalysis/index.tsx
new file mode 100644
index 0000000..f44bb1f
--- /dev/null
+++ b/src/pages/travelMember/RegistrationRetentionAnalysis/index.tsx
@@ -0,0 +1,15 @@
+// 注册留存分析
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const RegistrationRetentionAnalysis: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(RegistrationRetentionAnalysis);
\ No newline at end of file
diff --git a/src/pages/travelMember/SelfOperatedProductApplication/index.tsx b/src/pages/travelMember/SelfOperatedProductApplication/index.tsx
index 904f360..abc81ee 100644
--- a/src/pages/travelMember/SelfOperatedProductApplication/index.tsx
+++ b/src/pages/travelMember/SelfOperatedProductApplication/index.tsx
@@ -1 +1,15 @@
-// 自营餐饮商品申请
\ No newline at end of file
+// 自营餐饮商品申请
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const SelfOperatedProductApplication: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(SelfOperatedProductApplication);
\ No newline at end of file
diff --git a/src/pages/travelMember/SelfOperatedProductReview/index.tsx b/src/pages/travelMember/SelfOperatedProductReview/index.tsx
index d6edf90..d046a0c 100644
--- a/src/pages/travelMember/SelfOperatedProductReview/index.tsx
+++ b/src/pages/travelMember/SelfOperatedProductReview/index.tsx
@@ -1 +1,15 @@
-// 自营餐饮商品审核
\ No newline at end of file
+// 自营餐饮商品审核
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const SelfOperatedProductReview: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(SelfOperatedProductReview);
\ No newline at end of file
diff --git a/src/pages/travelMember/ShoppingMallProductSearch/index.tsx b/src/pages/travelMember/ShoppingMallProductSearch/index.tsx
index 12df8c9..8ff144b 100644
--- a/src/pages/travelMember/ShoppingMallProductSearch/index.tsx
+++ b/src/pages/travelMember/ShoppingMallProductSearch/index.tsx
@@ -1 +1,15 @@
-//商城商品查询
\ No newline at end of file
+//商城商品查询
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(ShoppingMallProductSearch);
\ No newline at end of file
diff --git a/src/pages/travelMember/SummaryOfReservation/index.tsx b/src/pages/travelMember/SummaryOfReservation/index.tsx
index 5b1524d..b84dc29 100644
--- a/src/pages/travelMember/SummaryOfReservation/index.tsx
+++ b/src/pages/travelMember/SummaryOfReservation/index.tsx
@@ -1 +1,15 @@
-// 预约订单汇总
\ No newline at end of file
+// 预约订单汇总
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const SummaryOfReservation: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(SummaryOfReservation);
\ No newline at end of file
diff --git a/src/pages/travelMember/SummaryofMerchantReviews/index.tsx b/src/pages/travelMember/SummaryofMerchantReviews/index.tsx
new file mode 100644
index 0000000..0801840
--- /dev/null
+++ b/src/pages/travelMember/SummaryofMerchantReviews/index.tsx
@@ -0,0 +1,15 @@
+// 商户评价汇总
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const SummaryofMerchantReviews: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(SummaryofMerchantReviews);
\ No newline at end of file
diff --git a/src/pages/travelMember/SupplierClassification/index.tsx b/src/pages/travelMember/SupplierClassification/index.tsx
index dc96b8d..b0f5043 100644
--- a/src/pages/travelMember/SupplierClassification/index.tsx
+++ b/src/pages/travelMember/SupplierClassification/index.tsx
@@ -1 +1,15 @@
-// 供货商户分类
\ No newline at end of file
+// 供货商户分类
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const SupplierClassification: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(SupplierClassification);
\ No newline at end of file
diff --git a/src/pages/travelMember/SupplierMerchantManage/index.tsx b/src/pages/travelMember/SupplierMerchantManage/index.tsx
index 146a5df..afb36a3 100644
--- a/src/pages/travelMember/SupplierMerchantManage/index.tsx
+++ b/src/pages/travelMember/SupplierMerchantManage/index.tsx
@@ -1 +1,15 @@
-// 供货商户管理
\ No newline at end of file
+// 供货商户管理
+import { ConnectState } from "@/models/connect";
+import { connect, CurrentUser } from "umi";
+
+const SupplierMerchantManage: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
+ return (
+
+
+
+ )
+}
+
+export default connect(({ user }: ConnectState) => ({
+ currentUser: user.currentUser
+}))(SupplierMerchantManage);
\ No newline at end of file