huminmin
2026-06-01 a563ea879ef5fb6897e76d2df661e465dce2ab9b
src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue
@@ -172,7 +172,7 @@
      class="approve-detail-dialog"
    >
      <div class="approve-detail-body">
        <ApproveDetailPanel :row="detailRow" />
        <ApproveDetailPanel :row="detailRow" :detail-data="detailData" />
        <div class="detail-block">
          <div class="detail-block-title">
            审批流程({{ detailRow.tasks?.length || detailRow.flowNodes?.length || 0 }} 项)
@@ -290,7 +290,7 @@
      destroy-on-close
      @closed="approveOpinion = ''"
    >
      <ApproveDetailPanel :row="approveDialog.row" />
      <ApproveDetailPanel :row="approveDialog.row" :detail-data="detailData" />
      <div class="detail-block mt16">
        <div class="detail-block-title">
          审批流程({{ approveDialog.row?.tasks?.length || approveDialog.row?.flowNodes?.length || 0 }} 项)
@@ -298,6 +298,20 @@
        <InstanceFlowDisplay :tasks="approveDialog.row?.tasks" :nodes="approveDialog.row?.flowNodes" />
      </div>
      <el-form label-width="100px" class="mt16">
        <el-form-item label="仓库" v-if="isPurchaseApproval">
          <el-select
            v-model="approveDialog.warehouse"
            placeholder="请选择仓库"
            clearable
          >
            <el-option
              v-for="item in warehouseOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="审批意见" required>
          <el-input
            v-model="approveOpinion"
@@ -335,7 +349,8 @@
<script setup>
import { Plus, RefreshRight } from "@element-plus/icons-vue";
import { ElMessage } from "element-plus";
import { computed, onMounted, ref } from "vue";
import { computed, onMounted, ref, reactive } from "vue";
import { getDicts } from "@/api/system/dict/data";
import { APPROVAL_MODULE_KEYS } from "../approve-shared/approvalModuleRegistry.js";
import FinReimburseApprovePanel from "../../ReimburseManage/shared/components/FinReimburseApprovePanel.vue";
import ApprovalTemplateFormSection from "../approve-shared/components/ApprovalTemplateFormSection.vue";
@@ -369,6 +384,10 @@
  tableColumn,
  detailDialog,
  detailRow,
  detailData,
  quotationLoading,
  purchaseLoading,
  deliveryLoading,
  reimburseDialog,
  approveDialog,
  approveOpinion,
@@ -396,6 +415,25 @@
  openDetail,
  openApprove,
} = al;
// 仓库选项
const warehouseOptions = ref([]);
// 获取仓库字典数据
const loadWarehouseOptions = async () => {
  const res = await getDicts("warehouse");
  if (res.code === 200) {
    warehouseOptions.value = res.data.map((item) => ({
      label: item.dictLabel,
      value: item.dictValue,
    }));
  }
};
// 是否为采购审批
const isPurchaseApproval = computed(() => {
  return Number(approveDialog.row?.businessType) === 5;
});
const { flowUserOptions, loadFlowUsers } = useFlowUserOptions();
@@ -469,6 +507,7 @@
onMounted(() => {
  loadFlowUsers();
  loadSearchBusinessTypeOptions();
  loadWarehouseOptions();
  handleQuery();
});
</script>
@@ -610,4 +649,4 @@
  border-left: 3px solid var(--el-color-primary);
  line-height: 1.4;
}
</style>
</style>