liding
5 天以前 fdd776214d77a657f65fb1555637b03b95e82643
fix(files): 修复文件删除功能中ID字段映射错误

- 将文件删除操作中的 id 字段改为 storageAttachmentId 字段
- 在报销管理模块中修复费用科目值解析逻辑
- 移除加班申请和报销页面的导入导出功能按钮
- 更新开发环境API基础URL配置
已修改9个文件
32 ■■■■ 文件已修改
src/views/basicData/supplierManage/filesDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/measurementEquipment/filesDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/lavorissue/ledger/filesDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/AttendManage/overtime-apply/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/HrManage/staff-contract/filesDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ReimburseManage/cost-reimburse/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ReimburseManage/shared/finReimbursementMappers.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/contractManagement/filesDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/supplierManage/filesDia.vue
@@ -170,7 +170,7 @@
const handleDelete = () => {
  let ids = [];
  if (selectedRows.value.length > 0) {
    ids = selectedRows.value.map((item) => item.id);
    ids = selectedRows.value.map((item) => item.storageAttachmentId);
  } else {
    proxy.$modal.msgWarning("请选择数据");
    return;
src/views/equipmentManagement/measurementEquipment/filesDia.vue
@@ -163,7 +163,7 @@
const handleDelete = () => {
  let ids = [];
  if (selectedRows.value.length > 0) {
    ids = selectedRows.value.map((item) => item.id);
    ids = selectedRows.value.map((item) => item.storageAttachmentId);
  } else {
    proxy.$modal.msgWarning("请选择数据");
    return;
src/views/lavorissue/ledger/filesDia.vue
@@ -169,7 +169,7 @@
const handleDelete = () => {
  let ids = [];
  if (selectedRows.value.length > 0) {
    ids = selectedRows.value.map((item) => item.id);
    ids = selectedRows.value.map((item) => item.storageAttachmentId);
  } else {
    proxy.$modal.msgWarning("请选择数据");
    return;
src/views/officeProcessAutomation/AttendManage/overtime-apply/index.vue
@@ -24,7 +24,6 @@
        <el-button @click="resetSearch">重置</el-button>
      </div>
      <div class="search_actions">
        <el-button type="warning" plain @click="handleExport">导出</el-button>
        <el-button type="primary" @click="openAddWithTemplate">新增加班申请</el-button>
      </div>
    </div>
src/views/officeProcessAutomation/HrManage/staff-contract/filesDia.vue
@@ -164,7 +164,7 @@
const handleDelete = () => {
  let ids = [];
  if (selectedRows.value.length > 0) {
    ids = selectedRows.value.map((item) => item.id);
    ids = selectedRows.value.map((item) => item.storageAttachmentId);
  } else {
    proxy.$modal.msgWarning("请选择数据");
    return;
src/views/officeProcessAutomation/ReimburseManage/cost-reimburse/index.vue
@@ -16,13 +16,9 @@
        <el-button @click="resetSearch">重置</el-button>
      </div>
      <div class="search_actions">
        <el-button type="success" plain @click="handleImportClick">导入</el-button>
        <el-button type="warning" plain @click="handleExport">导出</el-button>
        <el-button type="primary" @click="openFormDialog('add')">新增费用报销</el-button>
      </div>
    </div>
    <input ref="importInputRef" type="file" accept="application/json,.json" class="sr-only-input" @change="onImportFile" />
    <div class="table_list">
      <PIMTable
src/views/officeProcessAutomation/ReimburseManage/shared/finReimbursementMappers.js
@@ -342,7 +342,7 @@
    createTime: formatReimbursementDateTime(row.createTime),
    expenseDetails: details.map((d) => ({
      ...d,
      expenseSubject: d.expenseCategory,
      expenseSubject: resolveExpenseSubjectValue(d.expenseCategory ?? d.expenseSubject),
    })),
    travel:
      row.travel && typeof row.travel === "object" && Object.keys(row.travel).length
@@ -388,7 +388,7 @@
    createTime: formatReimbursementDateTime(row.createTime),
    expenseDetails: details.map((d) => ({
      ...d,
      expenseSubject: d.expenseCategory,
      expenseSubject: resolveExpenseSubjectValue(d.expenseCategory ?? d.expenseSubject),
    })),
    details,
    nodes: apiNodes,
@@ -413,6 +413,15 @@
  return hit?.label || subject || "";
}
/** 接口返回的 expenseCategory 可能是中文 label,反转为前端 value;已经是 value 则原样返回 */
function resolveExpenseSubjectValue(val) {
  if (!val) return "";
  const byValue = EXPENSE_SUBJECT_OPTIONS.find((x) => x.value === val);
  if (byValue) return val;
  const byLabel = EXPENSE_SUBJECT_OPTIONS.find((x) => x.label === val);
  return byLabel?.value || val;
}
function expenseCategoryToType(category) {
  const hit = EXPENSE_CATEGORY_OPTIONS.find((x) => x.value === category);
  return hit?.label || category || "";
src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/index.vue
@@ -16,13 +16,9 @@
        <el-button @click="resetSearch">重置</el-button>
      </div>
      <div class="search_actions">
        <el-button type="success" plain @click="handleImportClick">导入</el-button>
        <el-button type="warning" plain @click="handleExport">导出</el-button>
        <el-button type="primary" @click="openFormDialog('add')">新增差旅报销</el-button>
      </div>
    </div>
    <input ref="importInputRef" type="file" accept="application/json,.json" class="sr-only-input" @change="onImportFile" />
    <div class="table_list">
      <PIMTable
src/views/personnelManagement/contractManagement/filesDia.vue
@@ -164,7 +164,7 @@
const handleDelete = () => {
  let ids = [];
  if (selectedRows.value.length > 0) {
    ids = selectedRows.value.map((item) => item.id);
    ids = selectedRows.value.map((item) => item.storageAttachmentId);
  } else {
    proxy.$modal.msgWarning("请选择数据");
    return;