-
-
+
-
+
+
+
+
+
-
+
+
+ >
+
+
+
+
+
-
- 准备库存
- 核销履约
- 拒绝履约
- 撤销履约
- 履约冲正
+
@@ -66,7 +116,7 @@
diff --git a/src/pages/fulfillment/OrderFulfillmentList.vue b/src/pages/fulfillment/OrderFulfillmentList.vue
index 056954f..977f52d 100644
--- a/src/pages/fulfillment/OrderFulfillmentList.vue
+++ b/src/pages/fulfillment/OrderFulfillmentList.vue
@@ -48,6 +48,7 @@ import NavBarActionMenu from "@/components/NavBarActionMenu.vue";
import OrderFulfillmentListCell from "@/pages/fulfillment/components/OrderFulfillmentListCell.vue";
import { useNavBarStore } from "@/store/navBarStore";
import type { FulfillmentStatus, FulfillmentType, OrderFulfillment } from "@/types/Fulfillment";
+import type { NavBarAction } from "@/types/NavBarAction";
import { getErrorMessage } from "@/utils/error";
import { Message } from "@/utils/message";
import { permissionCodes } from "@/utils/permission";
@@ -59,13 +60,22 @@ const router = useRouter();
const navBarStore = useNavBarStore();
const userStore = useUserStore();
const canCreate = computed(() => userStore.hasPermissions(permissionCodes.orderFulfillment.create));
-const actions = computed(() => canCreate.value ? [{
- key: "create",
- text: "创建履约单",
- icon: "add",
- theme: "primary" as const,
- action: toCreate
-}] : []);
+const actions = computed
(() => [
+ {
+ key: "by-order",
+ text: "通过订单创建",
+ icon: "task",
+ theme: "primary",
+ action: toSalesOrderList
+ },
+ {
+ key: "by-package",
+ text: "通过套餐创建",
+ icon: "gift",
+ theme: "primary",
+ action: toCustomerPackageList
+ }
+]);
const type = ref<"ALL" | FulfillmentType>("ALL");
const status = ref<"ALL" | FulfillmentStatus>(getInitialStatus(route.query.status));
const list = ref([]);
@@ -172,8 +182,12 @@ async function toDetail(item: OrderFulfillment): Promise {
}
}
-async function toCreate(): Promise {
- await router.push("/management/order-fulfillments/create");
+async function toSalesOrderList(): Promise {
+ await router.push({ name: "SalesOrderList" });
+}
+
+async function toCustomerPackageList(): Promise {
+ await router.push({ name: "CustomerPackageList" });
}
function getCurrentRouteDepth(): number {
diff --git a/src/types/Fulfillment.ts b/src/types/Fulfillment.ts
index 651f4fc..27b59d9 100644
--- a/src/types/Fulfillment.ts
+++ b/src/types/Fulfillment.ts
@@ -8,6 +8,7 @@ export type OrderFulfillmentItem = {
fulfillmentId?: string;
productId?: string;
productUnitId?: string;
+ attachmentList?: Attachment[];
sourceOrderItemId?: string;
sourceCustomerPackageItemId?: string;
quantity?: number | string;