订单管理

This commit is contained in:
dev 2025-03-24 19:08:22 +08:00
parent 680ac84c2e
commit 19933d2315
2 changed files with 143 additions and 49 deletions

View File

@ -20,11 +20,12 @@
"url": "https://gitee.com/"
},
"dependencies": {
"@ag-grid-community/client-side-row-model": "^32.3.4",
"@element-plus/icons-vue": "2.3.1",
"@highlightjs/vue-plugin": "2.1.0",
"@vueup/vue-quill": "1.2.0",
"@vueuse/core": "11.3.0",
"ag-grid-vue3": "^33.1.1",
"ag-grid-vue3": "^32.3.4",
"animate.css": "4.1.1",
"await-to-js": "3.0.0",
"axios": "1.7.8",

View File

@ -108,54 +108,64 @@
</el-row>
</template>
<el-table v-loading="loading" :data="logisticsOrderDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="订单号" align="center" prop="orderId" />
<el-table-column label="FBA货件编号" align="center" prop="fbaShipmentId" />
<el-table-column label="FBA箱号" align="center" prop="fbaBoxNumber" />
<el-table-column label="物流商ID" align="center" prop="logisticsProviderId" />
<el-table-column label="物流商名称" align="center" prop="logisticsProviderName" />
<el-table-column label="物流渠道" align="center" prop="logisticsChannel" />
<el-table-column label="目的地仓库" align="center" prop="destination" />
<el-table-column label="计划数量" align="center" prop="plannedQuantity" />
<el-table-column label="实际货件数量" align="center" prop="shipmentQuantity" />
<el-table-column label="物流追踪号" align="center" prop="trackingNumber" />
<el-table-column label="供应商称重" align="center" prop="supplierWeight" />
<el-table-column label="物流商计重" align="center" prop="logisticsWeight" />
<el-table-column label="称重差异" align="center" prop="weightDiff" />
<el-table-column label="物流单价" align="center" prop="pricePerKg" />
<el-table-column label="物流计价重量" align="center" prop="logisticsCalculationPrice" />
<el-table-column label="其他物流费用" align="center" prop="otherFee" />
<el-table-column label="费用合计" align="center" prop="totalFee" />
<el-table-column label="物流状态" align="center" prop="logisticsStatus" />
<el-table-column label="预计签收日期" align="center" prop="estimatedDeliveryDate" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.estimatedDeliveryDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="实际签收日期" align="center" prop="actualDeliveryDate" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.actualDeliveryDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="运输时效" align="center" prop="timeliness" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['amz:logisticsOrderDetail:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button
link
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['amz:logisticsOrderDetail:remove']"
></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<!-- <el-table v-loading="loading" :data="logisticsOrderDetailList" @selection-change="handleSelectionChange">-->
<!-- <el-table-column type="selection" width="55" align="center" />-->
<!-- <el-table-column label="订单号" align="center" prop="orderId" />-->
<!-- <el-table-column label="FBA货件编号" align="center" prop="fbaShipmentId" />-->
<!-- <el-table-column label="FBA箱号" align="center" prop="fbaBoxNumber" />-->
<!-- <el-table-column label="物流商ID" align="center" prop="logisticsProviderId" />-->
<!-- <el-table-column label="物流商名称" align="center" prop="logisticsProviderName" />-->
<!-- <el-table-column label="物流渠道" align="center" prop="logisticsChannel" />-->
<!-- <el-table-column label="目的地仓库" align="center" prop="destination" />-->
<!-- <el-table-column label="计划数量" align="center" prop="plannedQuantity" />-->
<!-- <el-table-column label="实际货件数量" align="center" prop="shipmentQuantity" />-->
<!-- <el-table-column label="物流追踪号" align="center" prop="trackingNumber" />-->
<!-- <el-table-column label="供应商称重" align="center" prop="supplierWeight" />-->
<!-- <el-table-column label="物流商计重" align="center" prop="logisticsWeight" />-->
<!-- <el-table-column label="称重差异" align="center" prop="weightDiff" />-->
<!-- <el-table-column label="物流单价" align="center" prop="pricePerKg" />-->
<!-- <el-table-column label="物流计价重量" align="center" prop="logisticsCalculationPrice" />-->
<!-- <el-table-column label="其他物流费用" align="center" prop="otherFee" />-->
<!-- <el-table-column label="费用合计" align="center" prop="totalFee" />-->
<!-- <el-table-column label="物流状态" align="center" prop="logisticsStatus" />-->
<!-- <el-table-column label="预计签收日期" align="center" prop="estimatedDeliveryDate" width="180">-->
<!-- <template #default="scope">-->
<!-- <span>{{ parseTime(scope.row.estimatedDeliveryDate, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="实际签收日期" align="center" prop="actualDeliveryDate" width="180">-->
<!-- <template #default="scope">-->
<!-- <span>{{ parseTime(scope.row.actualDeliveryDate, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="运输时效" align="center" prop="timeliness" />-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template #default="scope">-->
<!-- <el-tooltip content="修改" placement="top">-->
<!-- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['amz:logisticsOrderDetail:edit']"></el-button>-->
<!-- </el-tooltip>-->
<!-- <el-tooltip content="删除" placement="top">-->
<!-- <el-button-->
<!-- link-->
<!-- type="primary"-->
<!-- icon="Delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['amz:logisticsOrderDetail:remove']"-->
<!-- ></el-button>-->
<!-- </el-tooltip>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<ag-grid-vue
class="ag-theme-alpine"
style="height: 700px"
:columnDefs="columnDefs"
:rowData="logisticsOrderDetailList"
:rowSelection="'multiple'"
@selection-changed="handleSelectionChange"
:overlayLoadingTemplate="loadingTemplate"
/>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
@ -257,8 +267,91 @@ import {
} from '@/api/amz/logisticsOrderDetail';
import { LogisticsOrderDetailVO, LogisticsOrderDetailQuery, LogisticsOrderDetailForm } from '@/api/amz/logisticsOrderDetail/types';
import { AgGridVue } from 'ag-grid-vue3';
import 'ag-grid-community/styles/ag-grid.css';
import 'ag-grid-community/styles/ag-theme-alpine.css';
import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
import { ModuleRegistry } from '@ag-grid-community/core';
//
ModuleRegistry.registerModules([ClientSideRowModelModule]);
// 使
// import { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';
// import { ClipboardModule } from '@ag-grid-enterprise/clipboard';
// ModuleRegistry.registerModules([RowGroupingModule, ClipboardModule]);
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
import { checkPermi } from '@/utils/permission';
const parseTimeGlobal = (value, format) => {
return proxy.$parseTime(value, format);
};
const loadingTemplate = '<span class="ag-overlay-loading-center">加载中...</span>';
const columnDefs = ref([
{
headerName: '',
field: 'selected',
checkboxSelection: true,
headerCheckboxSelection: true,
width: 55,
cellStyle: { 'text-align': 'center' }
},
{ headerName: '订单号', field: 'orderId', cellStyle: { 'text-align': 'center' } },
{ headerName: 'FBA货件编号', field: 'fbaShipmentId', cellStyle: { 'text-align': 'center' } },
{ headerName: 'FBA箱号', field: 'fbaBoxNumber', cellStyle: { 'text-align': 'center' } },
// ...
{
headerName: '预计签收日期',
field: 'estimatedDeliveryDate',
width: 180,
valueFormatter: (params) => (params.value ? parseTimeGlobal(params.value, '{y}-{m}-{d}') : ''),
cellStyle: { 'text-align': 'center' }
},
// ...
{
headerName: '操作',
cellStyle: { 'text-align': 'center' },
cellRenderer: (params) => {
//
const canEdit = checkPermi(['amz:logisticsOrderDetail:edit']);
const canDelete = checkPermi(['amz:logisticsOrderDetail:remove']);
// HTML
let buttons = '';
if (canEdit) {
buttons += `
<el-tooltip content="修改">
<el-button
link
type="primary"
icon="Edit"
@click="ctx.handleUpdate(${JSON.stringify(params.data)})"
></el-button>
</el-tooltip>
`;
}
if (canDelete) {
buttons += `
<el-tooltip content="删除">
<el-button
link
type="primary"
icon="Delete"
@click="ctx.handleDelete(${JSON.stringify(params.data)})"
></el-button>
</el-tooltip>
`;
}
return `<div class="cell-action">${buttons}</div>`;
}
}
]);
const logisticsOrderDetailList = ref<LogisticsOrderDetailVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);