gaoluyang
5 天以前 a0111e18d44d0c78e5479f6dfba7b80c29fd0ebf
src/views/inventoryManagement/receiptManagement/Record.vue
@@ -15,6 +15,11 @@
                  style="width: 240px"
                  placeholder="请输入"
                  clearable/>
        <span class="search_title ml10">规格型号:</span>
        <el-input v-model="searchForm.model"
                  style="width: 240px"
                  placeholder="请输入"
                  clearable/>
        <span class="search_title ml10">来源:</span>
        <el-select v-model="searchForm.recordType"
                  style="width: 240px"
@@ -115,10 +120,9 @@
const {proxy} = getCurrentInstance();
const props = defineProps({
  type: {
    type: String,
    required: true,
    default: '0'
  productId: {
    type: [String, Number],
    default: ''
  }
})
@@ -129,13 +133,14 @@
const stockRecordTypeOptions = ref([]);
const page = reactive({
  current: 1,
  size: 100,
  size: 10,
});
const total = ref(0);
const data = reactive({
  searchForm: {
    productName: "",
    model: "",
    timeStr: "",
    recordType: "",
  },
@@ -160,13 +165,15 @@
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.model = searchForm.value.model;
  params.recordType = searchForm.value.recordType;
  getStockInRecordListPage(params)
      .then(res => {
        tableData.value = res.data.records;
        total.value = res.data.total || 0;
      }).finally(() => {
    tableLoading.value = false;
  })
@@ -174,17 +181,20 @@
// 获取来源类型选项
const fetchStockRecordTypeOptions = () => {
  if (props.type === '0') {
    findAllQualifiedStockInRecordTypeOptions()
        .then(res => {
          stockRecordTypeOptions.value = res.data;
        })
    return
  }
  findAllUnQualifiedStockInRecordTypeOptions()
      .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;
  });
}
// 表格选择数据
@@ -202,8 +212,7 @@
    type: "warning",
  })
      .then(() => {
        // 根据不同的 tab 类型调用不同的导出接口
        proxy.download("/stockInRecord/exportStockInRecord", {type: props.type}, props.type === '0' ? "合格入库.xlsx" : "不合格入库.xlsx");
        proxy.download("/stockInRecord/exportStockInRecord", { topParentProductId: props.productId }, "入库台账.xlsx");
      })
      .catch(() => {
        proxy.$modal.msg("已取消");
@@ -244,7 +253,14 @@
});
</script>
<style scoped lang="scss"></style>
<style scoped lang="scss">
.search_form {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
}
</style>