diff --git a/src/views/modules/order/com_poOrderDetail.vue b/src/views/modules/order/com_poOrderDetail.vue
index 841b32c..6ef8704 100644
--- a/src/views/modules/order/com_poOrderDetail.vue
+++ b/src/views/modules/order/com_poOrderDetail.vue
@@ -37,7 +37,7 @@
-
+
diff --git a/src/views/modules/order/poOrder.vue b/src/views/modules/order/poOrder.vue
index 4a13748..c6a624e 100644
--- a/src/views/modules/order/poOrder.vue
+++ b/src/views/modules/order/poOrder.vue
@@ -14,7 +14,7 @@
- 物料编号
+ Part No
@@ -322,7 +322,7 @@
-
+
@@ -331,12 +331,13 @@
+
-
+
@@ -499,7 +500,7 @@ export default {
/** Chooselist 弹窗选择列(editAble 可为 false,如供应商/物料) */
chooserEditColumnProps: ['supplierName', 'partNo', 'departure', 'destination', 'shipVia'],
/** 联表展示、不写入 PO 的列 */
- displayOnlyColumnProps: ['shortOffice', 'shortNpc', 'categoryName', 'sku'],
+ displayOnlyColumnProps: ['shortOffice', 'shortNpc', 'item', 'categoryName', 'sku'],
customEditColumnProps: [],
// 上传相关
@@ -728,7 +729,7 @@ export default {
columnProp: 'partNo',
headerAlign: 'center',
align: 'center',
- columnLabel: 'Item',
+ columnLabel: 'Part No',
columnHidden: false,
columnImage: false,
columnSortable: false,
@@ -742,6 +743,29 @@ export default {
selectOptionsKey: 'poPartNoOptions',
selectOptions: null
},
+ {
+ userId: this.$store.state.user.name,
+ functionId: 812003,
+ serialNumber: '812003Table1Item',
+ tableId: '812003Table1',
+ tableName: 'PO Order',
+ columnProp: 'item',
+ headerAlign: 'center',
+ align: 'center',
+ columnLabel: 'Item',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 120,
+ showOverflowTooltip: true,
+ editAble: false,
+ editType: 'text',
+ selectOptionsKey: '',
+ selectOptions: null
+ },
{
userId: this.$store.state.user.name,
functionId: 812003,
@@ -1543,7 +1567,7 @@ export default {
},
/**
- * 当前行该列是否可编辑:列配置 editAble + 状态限制(Item/partNo、Vendor Name、Customer、Buyer、PO_No 仅已下达)
+ * 当前行该列是否可编辑:列配置 editAble + 状态限制(Part No、Vendor Name、Customer、Buyer、PO_No 仅已下达)
*/
canEditCell (row, item) {
if (!this.editMode || !item) return false
@@ -1844,7 +1868,8 @@ export default {
if (selectedOption) {
// 更新物料相关信息
- this.$set(row, 'partNo', selectedOption.label)
+ this.$set(row, 'partNo', selectedOption.value)
+ this.$set(row, 'item', selectedOption.item || '')
//同时更新 category 和 sku
this.$set(row, 'category', selectedOption.category || '')
this.$set(row, 'categoryName', selectedOption.categoryName || '')
@@ -1964,6 +1989,7 @@ export default {
this.poPartNoOptions = (data.rows || []).map(item => ({
label: item.partNo,
value: item.partNo,
+ item: item.item,
category: item.category,
categoryName: item.categoryName,
sku: item.sku
@@ -2047,6 +2073,7 @@ export default {
enquiry: row.enquiry,
confirmed: row.confirmed,
partNo: row.partNo,
+ item: row.item,
status: row.status,
qty: row.qty === '' ? null : Number(row.qty),
price: row.price === '' ? null : Number(row.price),
@@ -2252,19 +2279,20 @@ export default {
fillPartCategorySku (partNo, target) {
if (!partNo || !target) return
- const apply = (category, categoryName, sku) => {
+ const apply = (item, category, categoryName, sku) => {
+ this.$set(target, 'item', item)
this.$set(target, 'category', category)
this.$set(target, 'categoryName', categoryName)
this.$set(target, 'sku', sku)
}
const fromList = this.poPartNoOptions.find(opt => opt.value === partNo)
if (fromList) {
- apply(fromList.category || '', fromList.categoryName || '', fromList.sku || '')
+ apply(fromList.item || '', fromList.category || '', fromList.categoryName || '', fromList.sku || '')
return
}
searchPartInfo({ site: this.$store.state.user.site, partNo }).then(({ data }) => {
if (data && data.code === 0 && data.data) {
- apply(data.data.category || '', data.data.categoryName || '', data.data.sku || '')
+ apply(data.data.item || '', data.data.category || '', data.data.categoryName || '', data.data.sku || '')
}
}).catch(() => {})
},
@@ -2294,6 +2322,7 @@ export default {
poNo: '',
orderType: '采购订单',
partNo: '',
+ item: '',
category: '',
categoryName: '',
sku: '',
@@ -2345,7 +2374,7 @@ export default {
saveAddPoOrder () {
if (!this.addForm.poNo || !this.addForm.supplierName || !this.addForm.partNo) {
- this.$message.warning('请填写 PO No、Vendor Name、Item')
+ this.$message.warning('请填写 PO No、Vendor Name、Part No')
return
}
if (!this.validatePriceAndQty(this.addForm.price, this.addForm.qty)) {
diff --git a/src/views/modules/order/poOrderAdvancedQueryConfig.js b/src/views/modules/order/poOrderAdvancedQueryConfig.js
index 1df2e99..4ad7594 100644
--- a/src/views/modules/order/poOrderAdvancedQueryConfig.js
+++ b/src/views/modules/order/poOrderAdvancedQueryConfig.js
@@ -53,38 +53,39 @@ export const PO_ADVANCED_QUERY_FIELD_CONFIG = [
{ sortOrder: 5, field: 'supplierName', label: 'Vendor Name', sqlColumn: 'ss.supplier_name', dataType: 'string' },
{ sortOrder: 6, field: 'shortOffice', label: 'V_Short_Office', sqlColumn: 'ss.c_short_office', dataType: 'string' },
{ sortOrder: 7, field: 'shortNpc', label: 'V_Short_NPC', sqlColumn: 'ss.c_short_npc', dataType: 'string' },
- { sortOrder: 8, field: 'partNo', label: 'Item', sqlColumn: 'pod.part_no', dataType: 'string' },
- { sortOrder: 9, field: 'categoryName', label: 'Category', sqlColumn: 'pf1.family_name', dataType: 'string' },
- { sortOrder: 10, field: 'sku', label: 'SKU', sqlColumn: 'p.sku', dataType: 'string' },
- { sortOrder: 11, field: 'price', label: 'Unit Price', sqlColumn: 'pod.price', dataType: 'number' },
- { sortOrder: 12, field: 'qty', label: 'PO Qty', sqlColumn: 'pod.qty', dataType: 'number' },
- { sortOrder: 13, field: 'value', label: 'PO Value', sqlColumn: 'pod.c_value', dataType: 'number' },
- { sortOrder: 14, field: 'shipQty', label: 'A-Qty', sqlColumn: 'pod.c_ship_qty', dataType: 'number' },
- { sortOrder: 15, field: 'sumPrice', label: 'A-Value', sqlColumn: 'pod.c_sum_price', dataType: 'number' },
- { sortOrder: 16, field: 'departure', label: 'Departure Port', sqlColumn: 'poh.c_departure', dataType: 'string' },
- { sortOrder: 17, field: 'destination', label: 'Destination Port', sqlColumn: 'poh.c_destination', dataType: 'string' },
- { sortOrder: 18, field: 'shipVia', label: 'Method', sqlColumn: 'poh.ship_via', dataType: 'string' },
- { sortOrder: 19, field: 'orderDate', label: 'Buyer Release Date', sqlColumn: 'poh.order_date', dataType: 'date' },
- { sortOrder: 20, field: 'enquiry', label: 'Planner Release Date', sqlColumn: 'poh.c_enquiry', dataType: 'date' },
- { sortOrder: 21, field: 'status', label: 'Status', sqlColumn: 'pod.status', dataType: 'string' },
- { sortOrder: 22, field: 'confirmed', label: 'PI Confirmed Date', sqlColumn: 'poh.c_confirmed', dataType: 'date' },
- { sortOrder: 23, field: 'wantReceiveDate', label: 'Original Arrival Date', sqlColumn: 'pod.want_receive_date', dataType: 'date' },
- { sortOrder: 24, field: 'narrival', label: 'Final Confirmed Arrival Date', sqlColumn: 'pod.c_narrival', dataType: 'date' },
- { sortOrder: 25, field: 'crd', label: 'PI Confirmed CRD', sqlColumn: 'pod.c_crd', dataType: 'date' },
- { sortOrder: 26, field: 'inspection', label: 'Inspection Date', sqlColumn: 'pod.c_inspection', dataType: 'date' },
- { sortOrder: 27, field: 'realCrd', label: 'Actual Completion Date', sqlColumn: 'pod.c_real_crd', dataType: 'date' },
- { sortOrder: 28, field: 'eta', label: 'ETA', sqlColumn: 'pod.c_eta', dataType: 'date' },
- { sortOrder: 29, field: 'flexid', label: 'Flexport Id', sqlColumn: 'pod.c_flexid', dataType: 'string' },
- { sortOrder: 30, field: 'obd', label: 'On Board Date', sqlColumn: 'pod.c_obd', dataType: 'date' },
- { sortOrder: 31, field: 'docSent', label: 'Doc Sent', sqlColumn: 'pod.c_doc_sent', dataType: 'string' },
- { sortOrder: 32, field: 'telexRelease', label: 'Telex Release', sqlColumn: 'pod.c_telex_release', dataType: 'string' },
- { sortOrder: 33, field: 'advancePayment', label: 'Advance Payment', sqlColumn: 'pod.c_advance_payment', dataType: 'string' },
- { sortOrder: 34, field: 'advancePaid', label: 'Advanc Paid', sqlColumn: 'pod.c_advance_paid', dataType: 'string' },
- { sortOrder: 35, field: 'createTime', label: 'Create Date', sqlColumn: 'pod.create_time', dataType: 'date' },
- { sortOrder: 36, field: 'planner', label: 'M-Planner', sqlColumn: 'pod.c_planner', dataType: 'string' },
- { sortOrder: 37, field: 'edit', label: 'Edit Date', sqlColumn: 'pod.c_edit', dataType: 'string' },
- { sortOrder: 38, field: 'endPlanner', label: 'Last Editor', sqlColumn: 'pod.c_end_planner', dataType: 'string' },
- { sortOrder: 39, field: 'remarkDelay', label: 'Remark Delay', sqlColumn: 'pod.c_remark_delay', dataType: 'string' },
- { sortOrder: 40, field: 'remark', label: 'Comments', sqlColumn: 'pod.remark', dataType: 'string' },
- { sortOrder: 41, field: 'inspectionCompletedQty', label: 'Inspection Completed Qty', sqlColumn: 'COALESCE(pod.inspect_approve_qty, 0)', dataType: 'number' }
+ { sortOrder: 8, field: 'partNo', label: 'Part No', sqlColumn: 'pod.part_no', dataType: 'string' },
+ { sortOrder: 9, field: 'item', label: 'Item', sqlColumn: 'COALESCE(p.item, pod.item)', dataType: 'string' },
+ { sortOrder: 10, field: 'categoryName', label: 'Category', sqlColumn: 'pf1.family_name', dataType: 'string' },
+ { sortOrder: 11, field: 'sku', label: 'SKU', sqlColumn: 'p.sku', dataType: 'string' },
+ { sortOrder: 12, field: 'price', label: 'Unit Price', sqlColumn: 'pod.price', dataType: 'number' },
+ { sortOrder: 13, field: 'qty', label: 'PO Qty', sqlColumn: 'pod.qty', dataType: 'number' },
+ { sortOrder: 14, field: 'value', label: 'PO Value', sqlColumn: 'pod.c_value', dataType: 'number' },
+ { sortOrder: 15, field: 'shipQty', label: 'A-Qty', sqlColumn: 'pod.c_ship_qty', dataType: 'number' },
+ { sortOrder: 16, field: 'sumPrice', label: 'A-Value', sqlColumn: 'pod.c_sum_price', dataType: 'number' },
+ { sortOrder: 17, field: 'departure', label: 'Departure Port', sqlColumn: 'poh.c_departure', dataType: 'string' },
+ { sortOrder: 18, field: 'destination', label: 'Destination Port', sqlColumn: 'poh.c_destination', dataType: 'string' },
+ { sortOrder: 19, field: 'shipVia', label: 'Method', sqlColumn: 'poh.ship_via', dataType: 'string' },
+ { sortOrder: 20, field: 'orderDate', label: 'Buyer Release Date', sqlColumn: 'poh.order_date', dataType: 'date' },
+ { sortOrder: 21, field: 'enquiry', label: 'Planner Release Date', sqlColumn: 'poh.c_enquiry', dataType: 'date' },
+ { sortOrder: 22, field: 'status', label: 'Status', sqlColumn: 'pod.status', dataType: 'string' },
+ { sortOrder: 23, field: 'confirmed', label: 'PI Confirmed Date', sqlColumn: 'poh.c_confirmed', dataType: 'date' },
+ { sortOrder: 24, field: 'wantReceiveDate', label: 'Original Arrival Date', sqlColumn: 'pod.want_receive_date', dataType: 'date' },
+ { sortOrder: 25, field: 'narrival', label: 'Final Confirmed Arrival Date', sqlColumn: 'pod.c_narrival', dataType: 'date' },
+ { sortOrder: 26, field: 'crd', label: 'PI Confirmed CRD', sqlColumn: 'pod.c_crd', dataType: 'date' },
+ { sortOrder: 27, field: 'inspection', label: 'Inspection Date', sqlColumn: 'pod.c_inspection', dataType: 'date' },
+ { sortOrder: 28, field: 'realCrd', label: 'Actual Completion Date', sqlColumn: 'pod.c_real_crd', dataType: 'date' },
+ { sortOrder: 29, field: 'eta', label: 'ETA', sqlColumn: 'pod.c_eta', dataType: 'date' },
+ { sortOrder: 30, field: 'flexid', label: 'Flexport Id', sqlColumn: 'pod.c_flexid', dataType: 'string' },
+ { sortOrder: 31, field: 'obd', label: 'On Board Date', sqlColumn: 'pod.c_obd', dataType: 'date' },
+ { sortOrder: 32, field: 'docSent', label: 'Doc Sent', sqlColumn: 'pod.c_doc_sent', dataType: 'string' },
+ { sortOrder: 33, field: 'telexRelease', label: 'Telex Release', sqlColumn: 'pod.c_telex_release', dataType: 'string' },
+ { sortOrder: 34, field: 'advancePayment', label: 'Advance Payment', sqlColumn: 'pod.c_advance_payment', dataType: 'string' },
+ { sortOrder: 35, field: 'advancePaid', label: 'Advanc Paid', sqlColumn: 'pod.c_advance_paid', dataType: 'string' },
+ { sortOrder: 36, field: 'createTime', label: 'Create Date', sqlColumn: 'pod.create_time', dataType: 'date' },
+ { sortOrder: 37, field: 'planner', label: 'M-Planner', sqlColumn: 'pod.c_planner', dataType: 'string' },
+ { sortOrder: 38, field: 'edit', label: 'Edit Date', sqlColumn: 'pod.c_edit', dataType: 'string' },
+ { sortOrder: 39, field: 'endPlanner', label: 'Last Editor', sqlColumn: 'pod.c_end_planner', dataType: 'string' },
+ { sortOrder: 40, field: 'remarkDelay', label: 'Remark Delay', sqlColumn: 'pod.c_remark_delay', dataType: 'string' },
+ { sortOrder: 41, field: 'remark', label: 'Comments', sqlColumn: 'pod.remark', dataType: 'string' },
+ { sortOrder: 42, field: 'inspectionCompletedQty', label: 'Inspection Completed Qty', sqlColumn: 'COALESCE(pod.inspect_approve_qty, 0)', dataType: 'number' }
]
diff --git a/src/views/modules/order/poOrder_search.vue b/src/views/modules/order/poOrder_search.vue
index 148298f..8063a26 100644
--- a/src/views/modules/order/poOrder_search.vue
+++ b/src/views/modules/order/poOrder_search.vue
@@ -15,7 +15,7 @@
- 物料编号
+ Part No
@@ -224,6 +224,14 @@ export default {
},
{
columnProp: 'partNo',
+ columnLabel: 'Part No',
+ align: 'center',
+ columnWidth: 120,
+ showOverflowTooltip: true,
+ headerAlign: 'center'
+ },
+ {
+ columnProp: 'item',
columnLabel: 'Item',
align: 'center',
columnWidth: 120,