src/views/inventoryManagement/dispatchLog/Record.vue
@@ -19,12 +19,21 @@
                   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>
        <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>
@@ -76,6 +85,16 @@
               prop="stockOutNum"
               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="createBy"
@@ -103,7 +122,7 @@
<script setup>
import pagination from "@/components/PIMTable/Pagination.vue";
import { ref } from "vue";
import { ref, watch } from "vue";
import { ElMessageBox } from "element-plus";
import useUserStore from "@/store/modules/user";
import { getCurrentDate } from "@/utils/index.js";
@@ -111,7 +130,9 @@
   getStockOutPage,
   delStockOut,
} from "@/api/inventoryManagement/stockOut.js";
import {findAllStockRecordTypeOptions} from "@/api/basicData/enum.js";
import {
  findAllQualifiedStockOutRecordTypeOptions, findAllUnQualifiedStockOutRecordTypeOptions,
} from "@/api/basicData/enum.js";
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
@@ -128,9 +149,9 @@
const props = defineProps({
  type: {
    type: String,
    type: Number,
    required: true,
    default: '0'
    default: 1
  }
})
@@ -144,6 +165,7 @@
      supplierName: "",
      timeStr: "",
    recordType: "",
    type: "",
   }
});
const { searchForm } = toRefs(data);
@@ -154,6 +176,15 @@
   page.current = 1;
   getList();
};
/** 重置按钮操作 */
const handleReset = () => {
  searchForm.value.supplierName = "";
  searchForm.value.timeStr = "";
  searchForm.value.recordType = "";
  searchForm.value.type = "";
  handleQuery();
};
const paginationChange = (obj) => {
   page.current = obj.page;
   page.size = obj.limit;
@@ -161,7 +192,11 @@
};
const getList = () => {
   tableLoading.value = true;
   getStockOutPage({ ...searchForm.value, ...page, type: props.type })
   const params = { ...searchForm.value, ...page, productType: props.type };
  if (searchForm.value.type !== "") {
    params.type = searchForm.value.type;
  }
   getStockOutPage(params)
      .then((res) => {
         tableLoading.value = false;
         tableData.value = res.data.records;
@@ -176,15 +211,22 @@
};
const getRecordType = (recordType) => {
  return stockRecordTypeOptions.value.find(item => item.key === recordType)?.value || ''
  return stockRecordTypeOptions.value.find(item => item.value === recordType)?.label || ''
}
// 获取来源类型选项
const fetchStockRecordTypeOptions = () => {
  findAllStockRecordTypeOptions()
  if (props.type === 1 || props.type === 2) {
    findAllQualifiedStockOutRecordTypeOptions()
        .then(res => {
          stockRecordTypeOptions.value = res.data;
        })
  } else {
    findAllUnQualifiedStockOutRecordTypeOptions()
      .then(res => {
        stockRecordTypeOptions.value = res.data;
      })
  }
}
// 表格选择数据
@@ -203,7 +245,12 @@
      type: "warning",
   })
      .then(() => {
         proxy.download("/stockmanagement/export", {}, "出库台账.xlsx");
         const fileNameMap = {
        1: '自制出库台账.xlsx',
        2: '外购出库台账.xlsx',
        3: '委外出库台账.xlsx'
      };
         proxy.download("/stockOutRecord/exportStockOutRecord", {productType: props.type}, fileNameMap[props.type] || '出库台账.xlsx');
      })
      .catch(() => {
         proxy.$modal.msg("已取消");
@@ -528,6 +575,12 @@
   getList();
  fetchStockRecordTypeOptions();
});
watch(() => props.type, () => {
  page.current = 1;
  getList();
  fetchStockRecordTypeOptions();
});
</script>
<style scoped lang="scss">