diff --git a/web/delivery-platform-ui/src/api/platform.js b/web/delivery-platform-ui/src/api/platform.js index fe7152a..a99be43 100644 --- a/web/delivery-platform-ui/src/api/platform.js +++ b/web/delivery-platform-ui/src/api/platform.js @@ -106,3 +106,99 @@ export function patchContractStatus(id, body) { export function listAuditEvents(params) { return axios.get("/api/v1/audit-events", { params }); } + +/** + * @param {{ page?: number, size?: number, projectId?: string | number, keyword?: string }} params + */ +export function listDeliveryBatches(params) { + return axios.get("/api/v1/delivery-batches", { params }); +} + +/** + * @param {Record} body + */ +export function createDeliveryBatch(body) { + return axios.post("/api/v1/delivery-batches", body); +} + +export function getDeliveryBatch(id) { + return axios.get(`/api/v1/delivery-batches/${id}`); +} + +/** + * @param {string | number} id + * @param {Record} body + */ +export function updateDeliveryBatch(id, body) { + return axios.put(`/api/v1/delivery-batches/${id}`, body); +} + +/** + * @param {string | number} id + * @param {{ status: string }} body + */ +export function patchDeliveryBatchStatus(id, body) { + return axios.patch(`/api/v1/delivery-batches/${id}/status`, body); +} + +/** + * @param {string | number} batchId + */ +export function listDeliveryLines(batchId) { + return axios.get(`/api/v1/delivery-batches/${batchId}/lines`); +} + +/** + * @param {string | number} batchId + * @param {Record} body + */ +export function addDeliveryLine(batchId, body) { + return axios.post(`/api/v1/delivery-batches/${batchId}/lines`, body); +} + +/** + * @param {string | number} batchId + * @param {string | number} lineId + * @param {Record} body + */ +export function updateDeliveryLine(batchId, lineId, body) { + return axios.put(`/api/v1/delivery-batches/${batchId}/lines/${lineId}`, body); +} + +export function deleteDeliveryLine(batchId, lineId) { + return axios.delete(`/api/v1/delivery-batches/${batchId}/lines/${lineId}`); +} + +/** + * @param {{ page?: number, size?: number, projectId?: string | number, keyword?: string }} params + */ +export function listLicenseSns(params) { + return axios.get("/api/v1/license-sns", { params }); +} + +/** + * @param {Record} body + */ +export function createLicenseSn(body) { + return axios.post("/api/v1/license-sns", body); +} + +export function getLicenseSn(id) { + return axios.get(`/api/v1/license-sns/${id}`); +} + +/** + * @param {string | number} id + * @param {Record} body + */ +export function updateLicenseSn(id, body) { + return axios.put(`/api/v1/license-sns/${id}`, body); +} + +/** + * @param {string | number} id + * @param {{ status: string }} body + */ +export function patchLicenseSnStatus(id, body) { + return axios.patch(`/api/v1/license-sns/${id}/status`, body); +} diff --git a/web/delivery-platform-ui/src/layout/MainLayout.vue b/web/delivery-platform-ui/src/layout/MainLayout.vue index 9da433d..2988bf3 100644 --- a/web/delivery-platform-ui/src/layout/MainLayout.vue +++ b/web/delivery-platform-ui/src/layout/MainLayout.vue @@ -15,6 +15,12 @@ 合同管理 + + 交付管理 + + + 许可 SN + diff --git a/web/delivery-platform-ui/src/router/index.js b/web/delivery-platform-ui/src/router/index.js index 4e74c64..df90a0b 100644 --- a/web/delivery-platform-ui/src/router/index.js +++ b/web/delivery-platform-ui/src/router/index.js @@ -26,6 +26,42 @@ const routes = [ component: () => import("../views/ProjectsView.vue"), meta: { roles: ["SYS_ADMIN", "DEVELOPER"] }, }, + { + path: "deliveries/new", + name: "delivery-new", + component: () => import("../views/DeliveryBatchWizardView.vue"), + meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "新建交付批次" }, + }, + { + path: "deliveries/:id", + name: "delivery-detail", + component: () => import("../views/DeliveryBatchDetailView.vue"), + meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "交付批次详情" }, + }, + { + path: "deliveries", + name: "deliveries", + component: () => import("../views/DeliveriesView.vue"), + meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "交付管理" }, + }, + { + path: "licenses/sn/new", + name: "license-sn-new", + component: () => import("../views/LicenseSnWizardView.vue"), + meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "新建许可 SN" }, + }, + { + path: "licenses/sn/:id", + name: "license-sn-detail", + component: () => import("../views/LicenseSnDetailView.vue"), + meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "许可 SN 详情" }, + }, + { + path: "licenses/sn", + name: "license-sn-list", + component: () => import("../views/LicenseSnListView.vue"), + meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "许可 SN" }, + }, { path: "contracts/new", name: "contract-new", diff --git a/web/delivery-platform-ui/src/views/DeliveriesView.vue b/web/delivery-platform-ui/src/views/DeliveriesView.vue new file mode 100644 index 0000000..34dcc3f --- /dev/null +++ b/web/delivery-platform-ui/src/views/DeliveriesView.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/web/delivery-platform-ui/src/views/DeliveryBatchDetailView.vue b/web/delivery-platform-ui/src/views/DeliveryBatchDetailView.vue new file mode 100644 index 0000000..5d856ff --- /dev/null +++ b/web/delivery-platform-ui/src/views/DeliveryBatchDetailView.vue @@ -0,0 +1,395 @@ + + + + + diff --git a/web/delivery-platform-ui/src/views/DeliveryBatchWizardView.vue b/web/delivery-platform-ui/src/views/DeliveryBatchWizardView.vue new file mode 100644 index 0000000..ebbdb3e --- /dev/null +++ b/web/delivery-platform-ui/src/views/DeliveryBatchWizardView.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/web/delivery-platform-ui/src/views/LicenseSnDetailView.vue b/web/delivery-platform-ui/src/views/LicenseSnDetailView.vue new file mode 100644 index 0000000..5b4479c --- /dev/null +++ b/web/delivery-platform-ui/src/views/LicenseSnDetailView.vue @@ -0,0 +1,261 @@ + + + + + \ No newline at end of file diff --git a/web/delivery-platform-ui/src/views/LicenseSnListView.vue b/web/delivery-platform-ui/src/views/LicenseSnListView.vue new file mode 100644 index 0000000..080eff8 --- /dev/null +++ b/web/delivery-platform-ui/src/views/LicenseSnListView.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/web/delivery-platform-ui/src/views/LicenseSnWizardView.vue b/web/delivery-platform-ui/src/views/LicenseSnWizardView.vue new file mode 100644 index 0000000..2051064 --- /dev/null +++ b/web/delivery-platform-ui/src/views/LicenseSnWizardView.vue @@ -0,0 +1,162 @@ + + + + +