119 lines
3.1 KiB
Vue
119 lines
3.1 KiB
Vue
|
|
<template>
|
|||
|
|
<div>
|
|||
|
|
<el-form :inline="true" @submit.native.prevent>
|
|||
|
|
<el-form-item>
|
|||
|
|
<el-button type="success" @click="addRow">新增</el-button>
|
|||
|
|
</el-form-item>
|
|||
|
|
</el-form>
|
|||
|
|
<el-table :data="tableData" style="width: 100%; margin-top: 20px" border>
|
|||
|
|
<el-table-column prop="raw_material_id" label="原材料ID" width="120">
|
|||
|
|
<template #default="scope">
|
|||
|
|
<el-input v-model="scope.row.raw_material_id" size="small" />
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="owner" label="负责人" width="120">
|
|||
|
|
<template #default="scope">
|
|||
|
|
<el-input v-model="scope.row.owner" size="small" />
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="quantity" label="计划采购数" width="120">
|
|||
|
|
<template #default="scope">
|
|||
|
|
<el-input-number v-model="scope.row.quantity" :min="0" size="small" />
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="unit" label="单位" width="100">
|
|||
|
|
<template #default="scope">
|
|||
|
|
<el-input v-model="scope.row.unit" size="small" />
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column prop="remark" label="备注" width="180">
|
|||
|
|
<template #default="scope">
|
|||
|
|
<el-input v-model="scope.row.remark" size="small" />
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
<el-table-column label="操作" width="100">
|
|||
|
|
<template #default="scope">
|
|||
|
|
<el-button type="danger" size="small" @click="removeRow(scope.$index)">删除</el-button>
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
</el-table>
|
|||
|
|
<div style="margin-top: 20px; text-align: right;">
|
|||
|
|
<el-button type="primary" @click="confirm">确认</el-button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
export default {
|
|||
|
|
name: 'PurchasePlanClac',
|
|||
|
|
props: {
|
|||
|
|
orderId: {
|
|||
|
|
type: [String, Number],
|
|||
|
|
required: true
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
tableData: []
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
watch: {
|
|||
|
|
orderId: {
|
|||
|
|
immediate: true,
|
|||
|
|
handler(newVal) {
|
|||
|
|
this.loadData(newVal)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
loadData(orderId) {
|
|||
|
|
// 模拟接口返回数据,根据orderId加载不同数据
|
|||
|
|
// 实际开发中可根据orderId请求后端接口
|
|||
|
|
if (!orderId) {
|
|||
|
|
this.tableData = []
|
|||
|
|
return
|
|||
|
|
}
|
|||
|
|
this.tableData = [
|
|||
|
|
{
|
|||
|
|
raw_material_id: 1,
|
|||
|
|
owner: '张三',
|
|||
|
|
quantity: 100,
|
|||
|
|
unit: 'kg',
|
|||
|
|
remark: '紧急采购'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
raw_material_id: 2,
|
|||
|
|
owner: '李四',
|
|||
|
|
quantity: 50,
|
|||
|
|
unit: '件',
|
|||
|
|
remark: ''
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
addRow() {
|
|||
|
|
this.tableData.push({
|
|||
|
|
raw_material_id: '',
|
|||
|
|
owner: '',
|
|||
|
|
quantity: 0,
|
|||
|
|
unit: '',
|
|||
|
|
remark: ''
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
removeRow(index) {
|
|||
|
|
this.tableData.splice(index, 1)
|
|||
|
|
},
|
|||
|
|
confirm() {
|
|||
|
|
this.$message.success('操作已确认');
|
|||
|
|
console.log(this.tableData);
|
|||
|
|
this.$emit('confirm', this.tableData);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
.el-form {
|
|||
|
|
margin-bottom: 20px;
|
|||
|
|
}
|
|||
|
|
</style>
|