add product

This commit is contained in:
Timi
2026-09-03 14:27:40 +08:00
parent 7f669621fb
commit 333999fe21
63 changed files with 5662 additions and 2210 deletions
+7 -1
View File
@@ -13,6 +13,9 @@ import registrationRoutes from "@/router/routes/registrationRoutes";
import tabRoutes from "@/router/routes/tabRoutes";
import userRoutes from "@/router/routes/userRoutes";
import notifyRoutes from "@/router/routes/notifyRoutes";
import productRoutes from "@/router/routes/productRoutes";
import salesOrderRoutes from "@/router/routes/salesOrderRoutes";
import fulfillmentRoutes from "@/router/routes/fulfillmentRoutes";
import { useCurrentStoreStore } from "@/store/currentStoreStore";
import { useGlobalUIStore } from "@/store/globalUI";
import { gaoRoleCodes } from "@/utils/permission";
@@ -29,7 +32,10 @@ const detailRoutes = [
...packageRoutes,
...chartRoutes,
...managementAccountRoutes,
...notifyRoutes
...notifyRoutes,
...productRoutes,
...salesOrderRoutes,
...fulfillmentRoutes
];
const router = createRouter({
+14
View File
@@ -0,0 +1,14 @@
import type { RouteRecordRaw } from "vue-router";
import OrderFulfillmentList from "@/pages/fulfillment/OrderFulfillmentList.vue";
import OrderFulfillmentCreate from "@/pages/fulfillment/OrderFulfillmentCreate.vue";
import OrderFulfillmentDetail from "@/pages/fulfillment/OrderFulfillmentDetail.vue";
function meta(title: string, depth = 3): RouteRecordRaw["meta"] {
return { depth, navBarVisible: true, navBarCanBack: true, navBarTitle: title, tabBarVisible: false, bodyBackground: "#F5F5F8", darkBodyBackground: "#10161f" };
}
export default [
{ path: "/management/order-fulfillments", name: "OrderFulfillmentList", component: OrderFulfillmentList, meta: meta("统一履约") },
{ path: "/management/order-fulfillments/create", name: "OrderFulfillmentCreate", component: OrderFulfillmentCreate, meta: meta("创建履约单", 4) },
{ path: "/management/order-fulfillments/:id", name: "OrderFulfillmentDetail", component: OrderFulfillmentDetail, meta: meta("履约单详情", 4) }
] as RouteRecordRaw[];
+11 -104
View File
@@ -4,115 +4,22 @@ import PackageConfigEdit from "@/pages/package/PackageConfigEdit.vue";
import PackageConfigDetail from "@/pages/package/PackageConfigDetail.vue";
import CustomerPackageList from "@/pages/package/CustomerPackageList.vue";
import CustomerPackageDetail from "@/pages/package/CustomerPackageDetail.vue";
import CustomerPackagePayment from "@/pages/package/CustomerPackagePayment.vue";
import CustomerPackageDelivery from "@/pages/package/CustomerPackageDelivery.vue";
import CustomerPackageRefund from "@/pages/package/CustomerPackageRefund.vue";
import PackageDeliveryList from "@/pages/package/PackageDeliveryList.vue";
import PackageDeliveryDetail from "@/pages/package/PackageDeliveryDetail.vue";
import PackageDeliveryRevoke from "@/pages/package/PackageDeliveryRevoke.vue";
import FundRecordList from "@/pages/package/FundRecordList.vue";
import FundRecordDetail from "@/pages/package/FundRecordDetail.vue";
import FundRecordRevoke from "@/pages/package/FundRecordRevoke.vue";
function pageMeta(title: string, depth = 3, background = "#F5F5F8"): RouteRecordRaw["meta"] {
return {
depth,
navBarVisible: true,
navBarCanBack: true,
navBarTitle: title,
tabBarVisible: false,
bodyBackground: background,
darkBodyBackground: "#10161f"
};
return { depth, navBarVisible: true, navBarCanBack: true, navBarTitle: title, tabBarVisible: false, bodyBackground: background, darkBodyBackground: "#10161f" };
}
const packageRoutes: RouteRecordRaw[] = [
{
path: "/management/package-configs",
name: "PackageConfigList",
component: PackageConfigList,
meta: pageMeta("套餐配置")
},
{
path: "/management/package-configs/create",
name: "PackageConfigCreate",
component: PackageConfigEdit,
meta: pageMeta("新增套餐配置", 4)
},
{
path: "/management/package-configs/:id",
name: "PackageConfigDetail",
component: PackageConfigDetail,
meta: pageMeta("套餐配置详情", 4)
},
{
path: "/management/package-configs/:id/edit",
name: "PackageConfigEdit",
component: PackageConfigEdit,
meta: pageMeta("编辑套餐配置", 5)
},
{
path: "/management/customer-packages",
name: "CustomerPackageList",
component: CustomerPackageList,
meta: pageMeta("客户套餐")
},
{ path: "/management/customer-packages/purchase", redirect: "/management/registration-event-records/create" },
{
path: "/management/customer-packages/:id",
name: "CustomerPackageDetail",
component: CustomerPackageDetail,
meta: pageMeta("客户套餐详情", 4)
},
{
path: "/management/customer-packages/:id/payment",
name: "CustomerPackagePayment",
component: CustomerPackagePayment,
meta: pageMeta("登记收款", 5)
},
{
path: "/management/customer-packages/:id/delivery/create",
name: "CustomerPackageDelivery",
component: CustomerPackageDelivery,
meta: pageMeta("创建发放单", 5)
},
{
path: "/management/customer-packages/:id/refund",
name: "CustomerPackageRefund",
component: CustomerPackageRefund,
meta: pageMeta("处理退款", 5)
},
{
path: "/management/package-deliveries",
name: "PackageDeliveryList",
component: PackageDeliveryList,
meta: pageMeta("发放记录")
},
{
path: "/management/package-deliveries/:id",
name: "PackageDeliveryDetail",
component: PackageDeliveryDetail,
meta: pageMeta("发放单详情", 4, "#FFF")
},
{
path: "/management/package-deliveries/:id/revoke",
name: "PackageDeliveryRevoke",
component: PackageDeliveryRevoke,
meta: pageMeta("发放冲正", 5)
},
export default [
{ path: "/management/package-configs", name: "PackageConfigList", component: PackageConfigList, meta: pageMeta("套餐配置") },
{ path: "/management/package-configs/create", name: "PackageConfigCreate", component: PackageConfigEdit, meta: pageMeta("新增套餐配置", 4) },
{ path: "/management/package-configs/:id", name: "PackageConfigDetail", component: PackageConfigDetail, meta: pageMeta("套餐配置详情", 4) },
{ path: "/management/package-configs/:id/edit", name: "PackageConfigEdit", component: PackageConfigEdit, meta: pageMeta("编辑套餐配置", 5) },
{ path: "/management/customer-packages", name: "CustomerPackageList", component: CustomerPackageList, meta: pageMeta("客户套餐") },
{ path: "/management/customer-packages/:id", name: "CustomerPackageDetail", component: CustomerPackageDetail, meta: pageMeta("客户套餐详情", 4) },
{ path: "/management/fund-records", name: "FundRecordList", component: FundRecordList, meta: pageMeta("资金流水") },
{
path: "/management/fund-records/:id",
name: "FundRecordDetail",
component: FundRecordDetail,
meta: pageMeta("资金记录详情", 4, "#FFF")
},
{
path: "/management/fund-records/:id/revoke",
name: "FundRecordRevoke",
component: FundRecordRevoke,
meta: pageMeta("资金冲正", 5)
}
];
export default packageRoutes;
{ path: "/management/fund-records/:id", name: "FundRecordDetail", component: FundRecordDetail, meta: pageMeta("资金记录详情", 4, "#FFF") },
{ path: "/management/fund-records/:id/revoke", name: "FundRecordRevoke", component: FundRecordRevoke, meta: pageMeta("资金冲正", 5) }
] as RouteRecordRaw[];
+73
View File
@@ -0,0 +1,73 @@
import type { RouteRecordRaw } from "vue-router";
import ProductCategoryList from "@/pages/product/ProductCategoryList.vue";
import ProductCategoryRank from "@/pages/product/ProductCategoryRank.vue";
import ProductDetail from "@/pages/product/ProductDetail.vue";
import ProductEdit from "@/pages/product/ProductEdit.vue";
import ProductList from "@/pages/product/ProductList.vue";
import ProductStockDetail from "@/pages/product/ProductStockDetail.vue";
import ProductStockList from "@/pages/product/ProductStockList.vue";
function pageMeta(title: string, depth = 3, background = "#F5F5F8"): RouteRecordRaw["meta"] {
return {
depth,
navBarVisible: true,
navBarCanBack: true,
navBarTitle: title,
tabBarVisible: false,
bodyBackground: background,
darkBodyBackground: "#10161f"
};
}
const productRoutes: RouteRecordRaw[] = [
{
path: "/management/product-categories",
name: "ProductCategoryList",
component: ProductCategoryList,
meta: pageMeta("产品分类")
},
{
path: "/management/product-categories/rank",
name: "ProductCategoryRank",
component: ProductCategoryRank,
meta: pageMeta("产品分类排序", 4)
},
{
path: "/management/products",
name: "ProductList",
component: ProductList,
meta: pageMeta("产品库")
},
{
path: "/management/products/create",
name: "ProductCreate",
component: ProductEdit,
meta: pageMeta("新增产品", 4)
},
{
path: "/management/products/:id",
name: "ProductDetail",
component: ProductDetail,
meta: pageMeta("产品详情", 4)
},
{
path: "/management/products/:id/edit",
name: "ProductEdit",
component: ProductEdit,
meta: pageMeta("编辑产品", 5)
},
{
path: "/management/product-stocks",
name: "ProductStockList",
component: ProductStockList,
meta: pageMeta("库存与流水")
},
{
path: "/management/product-stocks/:productId",
name: "ProductStockDetail",
component: ProductStockDetail,
meta: pageMeta("库存详情")
}
];
export default productRoutes;
+22
View File
@@ -0,0 +1,22 @@
import type { RouteRecordRaw } from "vue-router";
import SalesOrderList from "@/pages/salesOrder/SalesOrderList.vue";
import SalesOrderCreate from "@/pages/salesOrder/SalesOrderCreate.vue";
import SalesOrderDetail from "@/pages/salesOrder/SalesOrderDetail.vue";
import SalesOrderPayment from "@/pages/salesOrder/SalesOrderPayment.vue";
import SalesOrderRefund from "@/pages/salesOrder/SalesOrderRefund.vue";
import SalesOrderNoRefund from "@/pages/salesOrder/SalesOrderNoRefund.vue";
import SalesOrderCancel from "@/pages/salesOrder/SalesOrderCancel.vue";
function meta(title: string, depth = 3): RouteRecordRaw["meta"] {
return { depth, navBarVisible: true, navBarCanBack: true, navBarTitle: title, tabBarVisible: false, bodyBackground: "#F5F5F8", darkBodyBackground: "#10161f" };
}
export default [
{ path: "/management/sales-orders", name: "SalesOrderList", component: SalesOrderList, meta: meta("销售订单") },
{ path: "/management/sales-orders/create", name: "SalesOrderCreate", component: SalesOrderCreate, meta: meta("直接产品下单", 4) },
{ path: "/management/sales-orders/:id", name: "SalesOrderDetail", component: SalesOrderDetail, meta: meta("销售订单详情", 4) },
{ path: "/management/sales-orders/:id/payment", name: "SalesOrderPayment", component: SalesOrderPayment, meta: meta("登记收款", 5) },
{ path: "/management/sales-orders/:id/refund", name: "SalesOrderRefund", component: SalesOrderRefund, meta: meta("登记退款", 5) },
{ path: "/management/sales-orders/:id/no-refund", name: "SalesOrderNoRefund", component: SalesOrderNoRefund, meta: meta("确认无需退款", 5) },
{ path: "/management/sales-orders/:id/cancel", name: "SalesOrderCancel", component: SalesOrderCancel, meta: meta("取消销售订单", 5) }
] as RouteRecordRaw[];