src/views/inventoryManagement/receiptManagement/Record.vue
@@ -25,10 +25,19 @@
                     :label="item.label"
                     :value="item.value"/>
        </el-select>
        <span class="search_title ml10">质检状态:</span>
        <el-select v-model="searchForm.type"
                  style="width: 240px"
                  placeholder="请选择"
                  clearable>
          <el-option label="合格" :value="0" />
          <el-option label="不合格" :value="1" />
        </el-select>
        <el-button type="primary"
                   @click="handleQuery"
                   style="margin-left: 10px">搜索
        </el-button>
        <el-button @click="handleReset">重置</el-button>
      </div>
      <div>
        <el-button @click="handleOut">导出</el-button>
@@ -73,6 +82,19 @@
        <el-table-column label="入库数量"
                         prop="stockInNum"
                         show-overflow-tooltip/>
        <el-table-column label="质检状态"
                         prop="type"
                         show-overflow-tooltip
                         width="100">
          <template #default="scope">
            <el-tag :type="scope.row.type == 0 ? 'success' : 'danger'" size="small">
              {{ scope.row.type == 0 ? '合格' : '不合格' }}
            </el-tag>
          </template>
        </el-table-column>
        <el-table-column label="库位"
                         prop="locationName"
                         show-overflow-tooltip/>
        <el-table-column label="入库人"
                         prop="createBy"
                         show-overflow-tooltip/>
@@ -102,6 +124,7 @@
  toRefs,
  onMounted,
  getCurrentInstance,
  watch,
} from "vue";
import {ElMessageBox} from "element-plus";
import {
@@ -116,9 +139,9 @@
const props = defineProps({
  type: {
    type: String,
    type: Number,
    required: true,
    default: '0'
    default: 1
  }
})
@@ -129,7 +152,7 @@
const stockRecordTypeOptions = ref([]);
const page = reactive({
  current: 1,
  size: 100,
  size: 10,
});
const total = ref(0);
@@ -138,14 +161,25 @@
    productName: "",
    timeStr: "",
    recordType: "",
    type: "",
  },
});
const {searchForm} = toRefs(data);
// 查询列表
/** 搜索按钮操作 */
const handleQuery = () => {
  page.current = 1;
  getList();
};
/** 重置按钮操作 */
const handleReset = () => {
  searchForm.value.productName = "";
  searchForm.value.timeStr = "";
  searchForm.value.recordType = "";
  searchForm.value.type = "";
  handleQuery();
};
const getRecordType = (recordType) => {
@@ -160,13 +194,17 @@
const getList = () => {
  tableLoading.value = true;
  const params = {...page, type: props.type};
  const params = {...page, productType: props.type};
  params.timeStr = searchForm.value.timeStr;
  params.productName = searchForm.value.productName;
  params.recordType = searchForm.value.recordType;
  if (searchForm.value.type !== "") {
    params.type = searchForm.value.type;
  }
  getStockInRecordListPage(params)
      .then(res => {
        tableData.value = res.data.records;
        total.value = res.data.total || 0;
      }).finally(() => {
    tableLoading.value = false;
  })
@@ -174,17 +212,17 @@
// 获取来源类型选项
const fetchStockRecordTypeOptions = () => {
  if (props.type === '0') {
  if (props.type === 1 || props.type === 2) {
    findAllQualifiedStockInRecordTypeOptions()
        .then(res => {
          stockRecordTypeOptions.value = res.data;
        })
    return
  } else {
    findAllUnQualifiedStockInRecordTypeOptions()
        .then(res => {
          stockRecordTypeOptions.value = res.data;
        })
  }
  findAllUnQualifiedStockInRecordTypeOptions()
      .then(res => {
        stockRecordTypeOptions.value = res.data;
      })
}
// 表格选择数据
@@ -202,8 +240,12 @@
    type: "warning",
  })
      .then(() => {
        // 根据不同的 tab 类型调用不同的导出接口
        proxy.download("/stockInRecord/exportStockInRecord", {type: props.type}, props.type === '0' ? "合格入库.xlsx" : "不合格入库.xlsx");
        const fileNameMap = {
          1: '自制入库.xlsx',
          2: '外购入库.xlsx',
          3: '委外入库.xlsx'
        };
        proxy.download("/stockInRecord/exportStockInRecord", {productType: props.type}, fileNameMap[props.type] || '入库.xlsx');
      })
      .catch(() => {
        proxy.$modal.msg("已取消");
@@ -242,6 +284,12 @@
  getList();
  fetchStockRecordTypeOptions();
});
watch(() => props.type, () => {
  page.current = 1;
  getList();
  fetchStockRecordTypeOptions();
});
</script>
<style scoped lang="scss"></style>