spring
14 小时以前 1b6a698d779bb7c6c32df9faec538c4682597a83
fix: 完成BOM详情变更
已修改3个文件
56 ■■■■■ 文件已修改
src/api/productionManagement/productStructure.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productStructure/Detail/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productStructure/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/productionManagement/productStructure.js
@@ -4,7 +4,7 @@
// 分页查询
export function queryList(id) {
  return request({
    url: "/productStructure/listByproductModelId/" + id,
    url: "/productStructure/listBybomId/" + id,
    method: "get",
  });
}
@@ -15,4 +15,4 @@
    method: "post",
    data: data,
  });
}
}
src/views/productionManagement/productStructure/Detail/index.vue
@@ -25,6 +25,7 @@
        :data="tableData"
        border
        :preserve-expanded-content="false"
        :default-expand-all="true"
        style="width: 100%"
    >
      <el-table-column type="expand">
@@ -120,22 +121,6 @@
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column prop="diskQuantity"
                               label="盘数(盘)">
                <template #default="{ row, $index }">
                  <el-form-item :prop="`dataList.${$index}.diskQuantity`"
                                :rules="[{ required: true, message: '请输入盘数', trigger: ['blur','change'] }]"
                                style="margin: 0">
                    <el-input-number v-model="row.diskQuantity"
                                     :min="0"
                                     :precision="0"
                                     :step="1"
                                     controls-position="right"
                                     style="width: 100%"
                                     :disabled="!dataValue.isEdit" />
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column label="操作" fixed="right" width="100">
                <template #default="{ row, $index }">
                  <el-button type="danger"
@@ -148,10 +133,9 @@
          </el-form>
        </template>
      </el-table-column>
      <el-table-column label="产品编码" prop="productCode" />
      <el-table-column label="BOM编号" prop="bomNo" />
      <el-table-column label="产品名称" prop="productName" />
      <el-table-column label="规格型号" prop="model" />
      <el-table-column label="单位" prop="unit" />
    </el-table>
    <product-select-dialog v-if="dataValue.showProductDialog"
@@ -195,6 +179,10 @@
  }
});
// 从路由参数获取产品信息
const routeBomNo = computed(() => route.query.bomNo || '');
const routeProductName = computed(() => route.query.productName || '');
const routeProductModelName = computed(() => route.query.productModelName || '');
const dataValue = reactive({
  dataList: [],
@@ -210,8 +198,7 @@
  {
    productName: "",
    model: "",
    unit: "",
    productCode: "",
    bomNo: "",
  }
])
@@ -222,11 +209,8 @@
const fetchData = async () => {
  const { data } = await queryList(routeId.value);
  tableData[0].productName = data.productName;
  tableData[0].model = data.model;
  tableData[0].unit = data.unit;
  tableData[0].productCode = data.productCode;
  dataValue.dataList = data.productStructureList;
  // 产品信息从路由参数获取,优先使用路由参数
  dataValue.dataList = data || [];
};
const fetchProcessOptions = async () => {
@@ -242,6 +226,7 @@
      row[0].productName;
  dataValue.dataList[dataValue.currentRowIndex].model = row[0].model;
  dataValue.dataList[dataValue.currentRowIndex].productModelId = row[0].id;
  dataValue.dataList[dataValue.currentRowIndex].unit = row[0].unit || "";
  dataValue.showProductDialog = false;
};
@@ -251,7 +236,7 @@
        dataValue.loading = true;
        if (valid) {
          add({
            parentId: routeId.value,
            bomId: routeId.value,
            productStructureList: dataValue.dataList || [],
          }).then(res => {
            router.push({
@@ -277,7 +262,6 @@
    unitQuantity: 0,
    demandedQuantity: 0,
    unit: "",
    diskQuantity: 0,
  });
};
src/views/productionManagement/productStructure/index.vue
@@ -18,7 +18,7 @@
        <el-button
            type="primary"
            text
            @click="showDetail(row.id)">{{ row.productName }}
            @click="showDetail(row)">{{ row.bomNo }}
        </el-button>
      </template>
    </PIMTable>
@@ -85,13 +85,14 @@
  {
    label: "BOM编号",
    prop: "bomNo",
    dataType: 'slot',
    slot: "detail",
    minWidth: 140
  },
  {
    label: "产品名称",
    prop: "productName",
    dataType: 'slot',
    slot: "detail",
    minWidth: 160
  },
  {
@@ -321,11 +322,14 @@
};
// 查看详情
const showDetail = (id) => {
const showDetail = (row) => {
  router.push({
    path: '/productionManagement/productStructureDetail',
    query: {
      id: id
      id: row.id,
      bomNo: row.bomNo || '',
      productName: row.productName || '',
      productModelName: row.productModelName || ''
    }
  });
};