From a9f9af33ecc7e1de75b405b7ad6e48bb891730f8 Mon Sep 17 00:00:00 2001 From: ylj20011123 Date: Fri, 27 Jun 2025 19:44:17 +0800 Subject: [PATCH] update --- config/routes.ts | 100 +- .../components/ShareBenefit.tsx | 4 + .../CardHaveCollection/index.tsx | 16 +- .../CardVoucherRedemption/index.tsx | 16 +- .../CardVoucherSearch/index.tsx | 16 +- .../NewCouponApplication/index.tsx | 16 +- .../CardInformation/NewCouponReview/index.tsx | 16 +- .../ActivityConfigurationManage/index.tsx | 15 + .../travelMember/AfterSalesManage/index.tsx | 16 +- .../AfterSalesTypeManage/index.tsx | 16 +- .../index.tsx | 15 + .../travelMember/BlacklistManage/index.tsx | 15 + .../travelMember/BookingMealOrder/index.tsx | 16 +- .../GrowthValueRuleConfig/index.tsx | 3 +- .../HolidayAndBirthdayBenefits/index.tsx | 15 + .../HomeSelectedCoupons/index.tsx | 16 +- .../travelMember/HomeSelectedMall/index.tsx | 16 +- .../HomeSelectedMerchants/index.tsx | 16 +- .../InventoryWarningManagement/index.tsx | 15 + .../LibraryInformationManager/index.tsx | 16 +- .../travelMember/LibraryTypeManager/index.tsx | 16 +- .../LostandFoundAPPliance/index.tsx | 13 + .../travelMember/LostandFoundReview/index.tsx | 16 +- .../MallEvaluationManage/index.tsx | 16 +- .../travelMember/MallOrderManage/index.tsx | 16 +- .../travelMember/MemberAddress/index.tsx | 6 +- .../travelMember/MemberTagManage/index.tsx | 15 + .../MembershipLevelDistribution/index.tsx | 15 + .../MembershipLevelManage/index.tsx | 15 + .../MerchantEvaluationManage/index.tsx | 14 + .../MerchantProductApplication/index.tsx | 16 +- .../MerchantProductReview/index.tsx | 16 +- .../MerchantSalesRanking/index.tsx | 15 + .../travelMember/MessageHistory/index.tsx | 15 + .../MessagePushConfiguration/index.tsx | 15 + .../travelMember/NewcomerMembership/index.tsx | 15 + .../OrderAfterSalesManage/index.tsx | 16 +- .../OrderCategoryManage/index.tsx | 16 +- .../travelMember/OrderProductManage/index.tsx | 16 +- .../travelMember/PointsExchangeMall/index.tsx | 15 + .../travelMember/PointsRuleConfig/index.tsx | 3 +- .../ProductListingManagement/index.tsx | 1092 ++++++++++++++++- .../ProductListingManagement/service.ts | 49 + .../RegistrationRetentionAnalysis/index.tsx | 15 + .../SelfOperatedProductApplication/index.tsx | 16 +- .../SelfOperatedProductReview/index.tsx | 16 +- .../ShoppingMallProductSearch/index.tsx | 16 +- .../SummaryOfReservation/index.tsx | 16 +- .../SummaryofMerchantReviews/index.tsx | 15 + .../SupplierClassification/index.tsx | 16 +- .../SupplierMerchantManage/index.tsx | 16 +- 51 files changed, 1907 insertions(+), 34 deletions(-) create mode 100644 src/pages/travelMember/ActivityConfigurationManage/index.tsx create mode 100644 src/pages/travelMember/AnalysisOfHotSellingButUnsoldProducts/index.tsx create mode 100644 src/pages/travelMember/BlacklistManage/index.tsx create mode 100644 src/pages/travelMember/HolidayAndBirthdayBenefits/index.tsx create mode 100644 src/pages/travelMember/InventoryWarningManagement/index.tsx create mode 100644 src/pages/travelMember/MemberTagManage/index.tsx create mode 100644 src/pages/travelMember/MembershipLevelDistribution/index.tsx create mode 100644 src/pages/travelMember/MembershipLevelManage/index.tsx create mode 100644 src/pages/travelMember/MerchantSalesRanking/index.tsx create mode 100644 src/pages/travelMember/MessageHistory/index.tsx create mode 100644 src/pages/travelMember/MessagePushConfiguration/index.tsx create mode 100644 src/pages/travelMember/NewcomerMembership/index.tsx create mode 100644 src/pages/travelMember/PointsExchangeMall/index.tsx create mode 100644 src/pages/travelMember/ProductListingManagement/service.ts create mode 100644 src/pages/travelMember/RegistrationRetentionAnalysis/index.tsx create mode 100644 src/pages/travelMember/SummaryofMerchantReviews/index.tsx 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: [ + // 新增按钮 + , + ], + }} + 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