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

Loading…
Cancel
Save