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"
@@ -73,6 +73,25 @@
        <el-table-column label="入库数量"
                         prop="stockInNum"
                         show-overflow-tooltip/>
        <el-table-column label="审批状态"
                         prop="approveStatus"
                         align="center"
                         width="180">
          <template #default="scope">
            <el-tag :type="getApproveStatusType(scope.row.approveStatus)">
              {{ getApproveStatusText(scope.row.approveStatus) }}
            </el-tag>
            <el-button
              v-if="scope.row.approveStatus === 3"
              type="primary"
              link
              style="margin-left: 8px"
              @click="handleReApprove(scope.row)"
            >
              重新提起审批
            </el-button>
          </template>
        </el-table-column>
        <el-table-column label="入库人"
                         prop="createBy"
                         show-overflow-tooltip/>
@@ -107,8 +126,11 @@
import {
  getStockInRecordListPage,
  batchDeleteStockInRecords,
  updateStockInRecordForReApprove,
} from "@/api/inventoryManagement/stockInRecord.js";
import {findAllStockRecordTypeOptions} from "@/api/basicData/enum.js";
import {
  findAllQualifiedStockInRecordTypeOptions, findAllUnQualifiedStockInRecordTypeOptions,
} from "@/api/basicData/enum.js";
const {proxy} = getCurrentInstance();
@@ -127,7 +149,7 @@
const stockRecordTypeOptions = ref([]);
const page = reactive({
  current: 1,
  size: 100,
  size: 10,
});
const total = ref(0);
@@ -147,8 +169,26 @@
};
const getRecordType = (recordType) => {
  return stockRecordTypeOptions.value.find(item => item.key === recordType)?.value || ''
  return stockRecordTypeOptions.value.find(item => item.value === recordType)?.label || ''
}
const getApproveStatusText = (status) => {
  if (status === 0) return "待审核";
  if (status === 1) return "审核中";
  if (status === 2) return "审核完成";
  if (status === 3) return "审核未通过";
  if (status === 4) return "已重新提交";
  return "-";
};
const getApproveStatusType = (status) => {
  if (status === 0) return "warning";
  if (status === 1) return "primary";
  if (status === 2) return "success";
  if (status === 3) return "danger";
  if (status === 4) return "info";
  return "";
};
const pageProductChange = obj => {
  page.current = obj.page;
@@ -161,9 +201,11 @@
  const params = {...page, type: props.type};
  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,7 +213,14 @@
// 获取来源类型选项
const fetchStockRecordTypeOptions = () => {
  findAllStockRecordTypeOptions()
  if (props.type === '0') {
    findAllQualifiedStockInRecordTypeOptions()
        .then(res => {
          stockRecordTypeOptions.value = res.data;
        })
    return
  }
  findAllUnQualifiedStockInRecordTypeOptions()
      .then(res => {
        stockRecordTypeOptions.value = res.data;
      })
@@ -184,6 +233,34 @@
const expandedRowKeys = ref([]);
const handleReApprove = (row) => {
  if (!row || !row.id) {
    return;
  }
  ElMessageBox.confirm(
    "该记录审核未通过,是否重新提起入库审批?",
    "重新提起审批",
    {
      confirmButtonText: "确认",
      cancelButtonText: "取消",
      type: "warning",
    }
  )
    .then(() => {
      updateStockInRecordForReApprove({ ...row })
        .then(() => {
          proxy.$modal.msgSuccess("已重新发起审批");
          getList();
        })
        .catch(() => {
          proxy.$modal.msgError("重新发起审批失败");
        });
    })
    .catch(() => {
      proxy.$modal.msg("已取消");
    });
};
// 导出
const handleOut = () => {
  ElMessageBox.confirm("是否确认导出?", "导出", {
@@ -193,8 +270,7 @@
  })
      .then(() => {
        // 根据不同的 tab 类型调用不同的导出接口
        let exportUrl = "/stockin/export";
        proxy.download(exportUrl, {}, "入库台账.xlsx");
        proxy.download("/stockInRecord/exportStockInRecord", {type: props.type}, props.type === '0' ? "合格入库.xlsx" : "不合格入库.xlsx");
      })
      .catch(() => {
        proxy.$modal.msg("已取消");