| | |
| | | <template #default="{ row, $index }"> |
| | | <el-select |
| | | clearable |
| | | :model-value="getUserNameById(row.producer) || row.producer" |
| | | :model-value="getUserNameById(row.producerId) || row.producerId" |
| | | placeholder="请选择生产人" |
| | | @change="(value) => handleUserSelectChange(row, value)" |
| | | filterable |
| | |
| | | }; |
| | | // 处理用户选择变化(新方法:名称选择转ID) |
| | | const handleUserSelectChange = (row, selectedName) => { |
| | | console.log("handleUserSelectChange", row, selectedName); |
| | | // 根据选择的名称找到对应的ID |
| | | const userItem = userList.value.find(item => item.value === selectedName); |
| | | if (userItem) { |
| | | row.producer = userItem.key; // 设置为ID |
| | | row.producerId = userItem.key; // 设置为ID |
| | | } else { |
| | | row.producer = ''; // 如果没找到,清空 |
| | | row.producerId = ''; // 如果没找到,清空 |
| | | } |
| | | }; |
| | | // 暴露方法给父组件使用 |
| | |
| | | equipmentDepreciation: "", |
| | | purchasePrice: "", |
| | | totalCost: "", |
| | | producer: "", |
| | | producerId: "", |
| | | ...rowData, |
| | | }; |
| | | tableData.value = [...tableData.value, defaultRow]; |