常熟吴彦祖 4 weeks ago
parent
commit
32033e6702
  1. 83
      src/views/modules/order/poOrder.vue

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

@ -18,7 +18,7 @@
<el-option label="全部" value=""></el-option>
<el-option label="已下达" value="已下达"></el-option>
<el-option label="已取消" value="已取消"></el-option>
</el-select>
</el-form-item>
@ -53,7 +53,7 @@
<template slot-scope="scope">
<template v-if="editMode && item.editAble && item.columnProp==='supplierName'">
<el-select
v-model="rowSupplierNo[scope.row.id]"
v-model="rowSupplierNo[scope.row.id]"
size="mini"
style="width: 100%"
clearable
@ -76,7 +76,7 @@
clearable
filterable
placeholder="请选择物料"
@change="(val) => handlePartNoChange(scope.row, val)">
@change="(val) => handlePartNoChange(scope.row, val)">
<el-option
v-for="opt in poPartNoOptions"
:key="String(opt.value)"
@ -93,7 +93,7 @@
clearable
filterable
placeholder="请选择始发港"
@change="(val) => handlePortChange(scope.row, val)">
@change="(val) => handlePortChange(scope.row, val)">
<el-option
v-for="opt in poDepartureOptions"
:key="String(opt.value)"
@ -110,7 +110,7 @@
clearable
filterable
placeholder="请选择目的港"
@change="(val) => handlePortChange(scope.row, val)">
@change="(val) => handlePortChange(scope.row, val)">
<el-option
v-for="opt in poDestinationOptions"
:key="String(opt.value)"
@ -127,7 +127,7 @@
clearable
filterable
placeholder="请选择运输方式"
@change="(val) => handlePortChange(scope.row, val)">
@change="(val) => handlePortChange(scope.row, val)">
<el-option
v-for="opt in transportOptions"
:key="String(opt.value)"
@ -160,7 +160,7 @@
size="mini"
@change="onCellChange(scope.row)">
</el-input>
<!-- 时间控件 -->
<!-- 时间控件 -->
<el-date-picker
v-else-if="item.editType === 'date'"
v-model="scope.row[item.columnProp]"
@ -170,7 +170,7 @@
value-format="yyyy-MM-dd"
placeholder="选择日期"
@change="onCellChange(scope.row)">
</el-date-picker>
</el-date-picker>
<el-date-picker
v-else-if="item.editType === 'datetime'"
v-model="scope.row[item.columnProp]"
@ -188,7 +188,7 @@
size="mini"
@change="onCellChange(scope.row)">
</el-input>
</template>
<span v-else>{{ scope.row[item.columnProp] }}</span>
</template>
@ -335,7 +335,7 @@ export default {
showOverflowTooltip: true,
editAble: true,
editType: 'select',
selectOptionsKey: 'supplierOptions',
selectOptionsKey: 'supplierOptions',
selectOptions: null
},
{
@ -1199,8 +1199,8 @@ export default {
},
created () {
this.getDataList()
},
mounted () {
this.$nextTick(() => {
@ -1232,7 +1232,7 @@ export default {
}
return []
},
getDataList() {
this.loading = true
const params = {
@ -1248,7 +1248,7 @@ export default {
...row,
changeFlag: 0 //
}))
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
@ -1276,38 +1276,37 @@ export default {
handleSupplierChange(row, supplierNo) {
console.log('供应商变更:', supplierNo, '行ID:', row.id)
const selectedOption = this.supplierOptions.find(opt => opt.value === supplierNo)
if (selectedOption) {
this.$set(row, 'supplierName', selectedOption.label)
this.$set(row, 'supplierNo', selectedOption.value)
this.$set(row, 'shortOffice', selectedOption.shortOffice || '')
this.$set(row, 'shortNpc', selectedOption.shortNpc || '')
this.$set(row, 'changeFlag', 1)
}
}
},
handlePartNoChange(row, partNo) {
console.log('物料变更:', partNo, '行ID:', row.id)
// partNo
const selectedOption = this.poPartNoOptions.find(opt => opt.value === partNo)
if (selectedOption) {
//
this.$set(row, 'partNo', selectedOption.label)
this.$set(row, 'partNo', selectedOption.label)
// category sku
this.$set(row, 'category', selectedOption.category || '')
this.$set(row, 'sku', selectedOption.sku || '')
this.$set(row, 'changeFlag', 1)
}
this.$set(row, 'sku', selectedOption.sku || '')
this.$set(row, 'changeFlag', 1)
}
},
handlePortChange(row, field, value) {
console.log(`${field}变更:`, value, '行ID:', row.id)
this.$set(row, field, value) //
this.$set(row, 'changeFlag', 1)
// rowDeparture/rowDestination/rowShipVia
if (field === 'departure') {
this.$set(this.rowDeparture, row.id, value)
@ -1316,7 +1315,7 @@ export default {
} else if (field === 'shipVia') {
this.$set(this.rowShipVia, row.id, value)
}
//
if (row.departure && row.destination && row.shipVia) {
this.getTransportOptions(row.departure, row.destination, row.shipVia)
@ -1346,11 +1345,11 @@ export default {
return
}
const changed = this.masterRows.filter(r => r.changeFlag === 1)
this.batchUpdatePoOrder(changed)
},
getPartNoOptions() {
console.log('获取分类选项')
getPartList(
@ -1363,18 +1362,18 @@ export default {
this.poPartNoOptions = (data.rows || []).map(item => ({
label: item.partNo,
value: item.partNo,
category: item.category,
sku: item.sku
category: item.category,
sku: item.sku
}))
} else {
this.$message.error(data.msg || '操作失败')
}
}).catch(error => {
this.$message.error('操作失败: ' + error.message)
})
},
getSupplierOptions(){
console.log('获取供应商选项')
@ -1385,14 +1384,14 @@ export default {
).then(({data}) => {
if (data && data.code === 0) {
console.log('接口返回的rows:', data.rows) //
this.supplierOptions = (data.rows || []).map(item => ({
label: item.supplierName,
value: item.supplierNo,
shortOffice: item.cshortOffice,
shortNpc: item.cshortNpc
shortNpc: item.cshortNpc
}))
} else {
this.$message.error(data.msg || '操作失败')
}
@ -1409,16 +1408,16 @@ export default {
).then(({data}) => {
if (data && data.code === 0) {
console.log('接口返回的rows:', data.rows) //
this.transportOptions = (data.rows || []).map(item => ({
label: item.supplierName,
value: item.supplierNo,
destination: item.destination,
departure: item.departure,
shipVia: item.shipVia,
etc: item.eta
etc: item.eta
}))
} else {
this.$message.error(data.msg || '操作失败')
}
@ -1434,7 +1433,7 @@ export default {
id: row.id,
...row
}))
//
batchUpdatePoDetail(updateData)
.then(({ data }) => {
@ -1447,7 +1446,7 @@ export default {
changed.forEach(r => {
this.$set(r, 'changeFlag', 0)
})
this.editMode = false
this.getDataList()
} else {
@ -1458,7 +1457,7 @@ export default {
this.$message.error('操作失败: ' + error.message)
})
}
}
}
</script>

Loading…
Cancel
Save