|
@@ -126,7 +126,7 @@
|
|
|
<el-button
|
|
|
link
|
|
|
type="primary"
|
|
|
- @click="openSelectMaterialForm(scope.row.id, scope.row.deviceCategoryId)"
|
|
|
+ @click="openSelectMaterialForm(scope.row)"
|
|
|
v-hasPermi="['rq:iot-bom:update']"
|
|
|
>
|
|
|
{{ t('workOrderMaterial.added') }}
|
|
@@ -189,7 +189,7 @@ const loading = ref(true) // 列表的加载中
|
|
|
const currentBomNodeId = ref() // 当前选中的bom节点
|
|
|
const refreshTable = ref(true) // 重新渲染表格状态
|
|
|
const list = ref() // 列表的数据
|
|
|
-const props = defineProps<{ deviceId?: number }>()
|
|
|
+const props = defineProps<{ deviceId?: number , deviceCategoryName?:string }>()
|
|
|
const queryParams = reactive({
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
@@ -229,11 +229,12 @@ const getList = async () => {
|
|
|
|
|
|
/** 选择物料操作 */
|
|
|
const materialListRef = ref()
|
|
|
-const openSelectMaterialForm = (id?: number, deviceCategoryId?: number) => {
|
|
|
- materialListRef.value.open(id)
|
|
|
- currentBomNodeId.value = id
|
|
|
+const openSelectMaterialForm = (row: any) => {
|
|
|
+ row.deviceCategoryName = props.deviceCategoryName
|
|
|
+ materialListRef.value.open(row)
|
|
|
+ currentBomNodeId.value = row.id
|
|
|
// 保存当前BOM节点的deviceCategoryId
|
|
|
- CommonBomMaterialData.value.deviceCategoryId = deviceCategoryId
|
|
|
+ CommonBomMaterialData.value.deviceCategoryId = row.deviceCategoryId
|
|
|
}
|
|
|
|
|
|
/** 查看物料详情 */
|
|
@@ -245,24 +246,27 @@ const handleView = async (nodeId) => {
|
|
|
await showDrawer.value.loadMaterials(nodeId)
|
|
|
}
|
|
|
|
|
|
-const chooseMaterial = async (row) => {
|
|
|
- // 将物料关联到bom节点
|
|
|
+const chooseMaterial = async (selectedMaterials) => {
|
|
|
+ // 将物料关联到设备bom节点
|
|
|
try {
|
|
|
- // CommonBomMaterialData.value.deviceCategoryId = row.deviceCategoryId
|
|
|
- CommonBomMaterialData.value.bomNodeId = currentBomNodeId.value
|
|
|
- CommonBomMaterialData.value.materialId = row.id
|
|
|
- CommonBomMaterialData.value.name = row.name
|
|
|
- CommonBomMaterialData.value.code = row.code
|
|
|
- CommonBomMaterialData.value.deviceId = props.deviceId
|
|
|
- const data = CommonBomMaterialData.value as unknown as CommonBomMaterialVO
|
|
|
- debugger
|
|
|
- await MaterialApi.IotDeviceMaterialApi.createIotDeviceMaterial(data)
|
|
|
- message.success(t('common.createSuccess'))
|
|
|
+ const materialsData = selectedMaterials.map(material => ({
|
|
|
+ deviceCategoryId: CommonBomMaterialData.value.deviceCategoryId,
|
|
|
+ deviceId: props.deviceId,
|
|
|
+ bomNodeId: currentBomNodeId.value,
|
|
|
+ materialId: material.id,
|
|
|
+ name: material.name,
|
|
|
+ code: material.code,
|
|
|
+ }))
|
|
|
+
|
|
|
+ // 调用批量添加接口
|
|
|
+ const resultCount = await MaterialApi.IotDeviceMaterialApi.addMaterials(materialsData)
|
|
|
+ message.success(`成功添加物料数量:` + resultCount)
|
|
|
+
|
|
|
// 保存成功后立即刷新抽屉数据
|
|
|
showDrawer.value.loadMaterials(currentBomNodeId.value)
|
|
|
await getList()
|
|
|
- } finally {
|
|
|
- // formLoading.value = false
|
|
|
+ } catch (error) {
|
|
|
+ message.error('添加物料失败!')
|
|
|
}
|
|
|
}
|
|
|
|