gaoluyang
昨天 c7aebff7f6184b2d8da2669d2db5656e2bc09ec4
src/views/inventoryManagement/receiptManagement/Record.vue
@@ -22,8 +22,8 @@
                  clearable>
          <el-option v-for="item in stockRecordTypeOptions"
                     :key="item.value"
                     :label="item.value"
                     :value="item.key"/>
                     :label="item.label"
                     :value="item.value"/>
        </el-select>
        <el-button type="primary"
                   @click="handleQuery"
@@ -108,15 +108,16 @@
  getStockInRecordListPage,
  batchDeleteStockInRecords,
} from "@/api/inventoryManagement/stockInRecord.js";
import {findAllStockRecordTypeOptions} from "@/api/basicData/enum.js";
import {
  findAllQualifiedStockInRecordTypeOptions, findAllUnQualifiedStockInRecordTypeOptions,
} from "@/api/basicData/enum.js";
const {proxy} = getCurrentInstance();
const props = defineProps({
  type: {
    type: String,
    required: true,
    default: '0'
  productId: {
    type: [String, Number],
    default: ''
  }
})
@@ -127,7 +128,7 @@
const stockRecordTypeOptions = ref([]);
const page = reactive({
  current: 1,
  size: 100,
  size: 10,
});
const total = ref(0);
@@ -147,7 +148,7 @@
};
const getRecordType = (recordType) => {
  return stockRecordTypeOptions.value.find(item => item.key === recordType)?.value || ''
  return stockRecordTypeOptions.value.find(item => item.value === recordType)?.label || ''
}
const pageProductChange = obj => {
@@ -158,12 +159,14 @@
const getList = () => {
  tableLoading.value = true;
  const params = {...page, type: props.type};
  const params = {...page, topParentProductId: props.productId};
  params.timeStr = searchForm.value.timeStr;
  params.productName = searchForm.value.productName;
  params.recordType = searchForm.value.recordType;
  getStockInRecordListPage(params)
      .then(res => {
        tableData.value = res.data.records;
        total.value = res.data.total || 0;
      }).finally(() => {
    tableLoading.value = false;
  })
@@ -171,10 +174,20 @@
// 获取来源类型选项
const fetchStockRecordTypeOptions = () => {
  findAllStockRecordTypeOptions()
      .then(res => {
        stockRecordTypeOptions.value = res.data;
      })
  // 同时获取合格和不合格的来源类型选项
  Promise.all([
    findAllQualifiedStockInRecordTypeOptions(),
    findAllUnQualifiedStockInRecordTypeOptions()
  ]).then(([qualifiedRes, unQualifiedRes]) => {
    const qualified = qualifiedRes.data || [];
    const unQualified = unQualifiedRes.data || [];
    // 合并并去重
    const allOptions = [...qualified, ...unQualified];
    const uniqueOptions = allOptions.filter((item, index, self) =>
      index === self.findIndex((t) => t.value === item.value)
    );
    stockRecordTypeOptions.value = uniqueOptions;
  });
}
// 表格选择数据
@@ -192,9 +205,7 @@
    type: "warning",
  })
      .then(() => {
        // 根据不同的 tab 类型调用不同的导出接口
        let exportUrl = "/stockin/export";
        proxy.download(exportUrl, {}, "入库台账.xlsx");
        proxy.download("/stockInRecord/exportStockInRecord", { topParentProductId: props.productId }, "入库台账.xlsx");
      })
      .catch(() => {
        proxy.$modal.msg("已取消");