Browse Source

feat(order): 新增PO订单管理页面

- 实现PO订单的搜索功能,支持按客户、买方、订单号、SKU和状态筛选
- 添加表格展示功能,显示PO订单详细信息和分页控制
- 集成编辑模式,支持直接在表格中修改订单数据
- 实现供应商、物料、港口和运输方式的选择弹窗功能
- 添加数据导入功能,支持Excel文件上传和预览
- 集成API接口,实现PO订单数据的查询和批量更新操作
- 添加导出功能,支持下载导入模板和数据导出
- 实现表格列的动态配置和排序功能
master
qiankanghui 1 week ago
parent
commit
860a2b5b8f
  1. 63
      src/views/modules/order/poOrder.vue

63
src/views/modules/order/poOrder.vue

@ -108,6 +108,15 @@
</el-input>
</template>
<template v-else-if="editMode && item.editAble">
<!-- 对于 confirmed wantReceiveDate 字段仅在新增行时可编辑 -->
<template v-if="(item.columnProp === 'confirmed' || item.columnProp === 'wantReceiveDate') && !isNewRow(scope.row)">
<span>{{ scope.row[item.columnProp] }}</span>
</template>
<!-- 对于 inspection realCrd 字段仅在修改时非新增行可编辑 -->
<template v-else-if="(item.columnProp === 'inspection' || item.columnProp === 'realCrd') && isNewRow(scope.row)">
<span>{{ scope.row[item.columnProp] }}</span>
</template>
<template v-else>
<!-- 下拉框 -->
<el-select
v-if="item.editType === 'select'"
@ -159,6 +168,7 @@
size="mini"
@change="onCellChange(scope.row)">
</el-input>
</template>
</template>
<span v-else>{{ scope.row[item.columnProp] }}</span>
@ -199,25 +209,25 @@
height="250"
style="width:100%;margin-top:10px"
>
<el-table-column prop="customer" label="客户名" align="center" width="120"></el-table-column>
<el-table-column prop="buyer" label="买手名" align="center" width="100"></el-table-column>
<el-table-column prop="supplierName" label="供应商名" align="center" width="150"></el-table-column>
<el-table-column prop="poNo" label="订单号" align="center" width="140"></el-table-column>
<el-table-column prop="item" label="款号" align="center" width="90"></el-table-column>
<el-table-column prop="price" label="单价" align="center" width="80"></el-table-column>
<el-table-column prop="qty" label="订单数量" align="center" width="90"></el-table-column>
<el-table-column prop="shipQty" label="出运数量" align="center" width="90"></el-table-column>
<el-table-column prop="departure" label="始发港" align="center" width="90"></el-table-column>
<el-table-column prop="destination" label="目的港" align="center" width="90"></el-table-column>
<el-table-column prop="shipVia" label="运输方式" align="center" width="100"></el-table-column>
<el-table-column prop="orderDate" label="订单下单日期" align="center" width="120"></el-table-column>
<el-table-column prop="enquiry" label="订单询单日期" align="center" width="120"></el-table-column>
<el-table-column prop="confirmed" label="订单确认日期" align="center" width="120"></el-table-column>
<el-table-column prop="customer" label="Customer" align="center" width="120"></el-table-column>
<el-table-column prop="buyer" label="Buyer" align="center" width="100"></el-table-column>
<el-table-column prop="supplierName" label="Supplier Name" align="center" width="120"></el-table-column>
<el-table-column prop="poNo" label="PO No" align="center" width="140"></el-table-column>
<el-table-column prop="item" label="Item" align="center" width="70"></el-table-column>
<el-table-column prop="price" label="Unit Price" align="center" width="80"></el-table-column>
<el-table-column prop="qty" label="PO Qty" align="center" width="90"></el-table-column>
<el-table-column prop="shipQty" label="Ship Qty" align="center" width="90"></el-table-column>
<el-table-column prop="departure" label="Departure Port" align="center" width="95"></el-table-column>
<el-table-column prop="destination" label="Destination Port" align="center" width="110"></el-table-column>
<el-table-column prop="shipVia" label="Shipping Method" align="center" width="120"></el-table-column>
<el-table-column prop="orderDate" label="Order Date" align="center" width="120"></el-table-column>
<el-table-column prop="enquiry" label="Enquiry Date" align="center" width="120"></el-table-column>
<el-table-column prop="confirmed" label="Confirmed Date" align="center" width="120"></el-table-column>
<el-table-column prop="wantReceiveDate" label="Original Arrival Date" align="center" width="150"></el-table-column>
<el-table-column prop="crd" label="确认完货日期" align="center" width="120"></el-table-column>
<el-table-column prop="advancePayment" label="是否需要预付款" align="center" width="130"></el-table-column>
<el-table-column prop="planner" label="分管Planner" align="center" width="110"></el-table-column>
<el-table-column prop="remark" label="备注" align="center" min-width="150"></el-table-column>
<el-table-column prop="crd" label="CRD" align="center" width="120"></el-table-column>
<el-table-column prop="advancePayment" label="Advance Payment" align="center" width="130"></el-table-column>
<el-table-column prop="planner" label="Planner" align="center" width="110"></el-table-column>
<el-table-column prop="remark" label="Remark" align="center" min-width="150"></el-table-column>
</el-table>
<!-- 按钮 -->
<div style="margin-top:20px;text-align:center">
@ -798,7 +808,7 @@ export default {
fixed: '',
columnWidth: 120,
showOverflowTooltip: true,
editAble: false,
editAble: true,
editType: 'date',
selectOptionsKey: '',
selectOptions: null
@ -821,7 +831,7 @@ export default {
fixed: '',
columnWidth: 130,
showOverflowTooltip: true,
editAble: false,
editAble: true,
editType: 'date',
selectOptionsKey: '',
selectOptions: null
@ -950,7 +960,7 @@ export default {
columnProp: 'flexid',
headerAlign: 'center',
align: 'center',
columnLabel: 'FLEXPORT ID',
columnLabel: 'Flexport Id',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -1711,7 +1721,9 @@ export default {
if (data && this.currentShipViaRow) {
//
// SQL: select method_no, method_desc from ship_method
this.$set(this.currentShipViaRow, 'shipVia', data.method_no || data.methodNo || data.shipVia || '')
// method_desc method_no
this.$set(this.currentShipViaRow, 'shipVia', data.method_desc || data.methodDesc || data.shipVia || '')
this.$set(this.currentShipViaRow, 'shipViaCode', data.method_no || data.methodNo || '')
this.$set(this.currentShipViaRow, 'changeFlag', 1)
console.log('更新后的行数据:', this.currentShipViaRow)
@ -1719,6 +1731,13 @@ export default {
//
this.currentShipViaRow = null
}
},
/**
* 判断是否为新增行没有 id id 为空表示新增
*/
isNewRow(row) {
return !row.id || row.id === '' || row.id === null || row.id === undefined
}
}

Loading…
Cancel
Save