天津-智科电子
1.协同办公-协同审批:待审批节点,第三人账号不可进行修改
2.营销管理-销售台账:勾选单个导出会出现整个导出的情况,但只能显示父项、不能显示子项
3.营销管理-销售台账:点击下拉没有价格,点击详情有价格
已修改4个文件
83 ■■■■■ 文件已修改
src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js
@@ -357,8 +357,9 @@
  if (isUpdate) {
    dto.id = existingRow?.id ?? submitForm?.instanceId;
    dto.instanceNo = existingRow?.instanceNo ?? submitForm?.instanceNo ?? "";
    dto.status = submitForm?.saveStatusApi || existingRow?.statusRaw || mapInstanceStatusToApi(existingRow?.approvalStatus) || "PENDING";
    dto.currentLevel = existingRow?.currentLevel ?? submitForm?.currentLevel ?? 1;
    // 修改保存即重新提交,流程从第一级重新开始
    dto.status = "PENDING";
    dto.currentLevel = 1;
    dto.applicantId = existingRow?.applicantId ?? existingRow?.applicantNo;
    dto.applicantName = existingRow?.applicantName || "";
  } else {
src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue
@@ -207,7 +207,7 @@
      </div>
      <template #footer>
        <el-button
          v-if="detailRow.approvalStatus === 'pending'"
          v-if="canEditInstanceRow(detailRow)"
          @click="openEditFromDetail"
        >
          修 改
@@ -261,7 +261,7 @@
        </template>
        <template v-else>
          <el-button
            v-if="reimburseDialog.instanceRow?.approvalStatus === 'pending'"
            v-if="canEditInstanceRow(reimburseDialog.instanceRow)"
            @click="openEditFromReimburseDetail"
          >
            修 改
@@ -396,6 +396,7 @@
  submitApprove,
  openDetail,
  openApprove,
  canEditInstanceRow,
} = al;
const { flowUserOptions, loadFlowUsers } = useFlowUserOptions();
src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
@@ -48,6 +48,7 @@
  mapInstanceFromApi,
  mapSubmitTemplateCard,
  matchBusinessTypeValue,
  normalizeApprovalStatusKey,
  unwrapInstancePage,
} from "./approveListConstants.js";
@@ -138,6 +139,16 @@
    ...buildFormPayloadRules(submitFormFields.value),
  }));
  /** 仅「发起人本人」在「已驳回」状态下可修改 */
  function canEditInstanceRow(row) {
    if (!row) return false;
    const key = normalizeApprovalStatusKey(row.approvalStatus ?? row.statusRaw ?? row.status);
    if (key !== "rejected") return false;
    const applicantId = row.applicantId ?? row.applicantNo;
    if (applicantId == null || applicantId === "") return false;
    return String(applicantId) === String(userStore.id);
  }
  const tableColumn = ref([
    // { label: "申请人编号", prop: "applicantNo", width: 110 },
    { label: "发起人", prop: "applicantName", minWidth: 100 },
@@ -183,7 +194,7 @@
        {
          name: "修改",
          type: "text",
          disabled: (row) => row.approvalStatus !== "pending",
          disabled: (row) => !canEditInstanceRow(row),
          clickFun: (row) => openEditDialog(row),
        },
        {
@@ -395,8 +406,8 @@
  }
  async function openEditDialog(row) {
    if (row?.approvalStatus !== "pending") {
      ElMessage.warning("仅审核中的审批可修改");
    if (!canEditInstanceRow(row)) {
      ElMessage.warning("仅本人发起、且已被驳回的审批可修改");
      return;
    }
    const moduleKey = inferReimburseModuleKeyFromInstance(row);
@@ -688,6 +699,7 @@
    resetSubmitDialogState,
    openSubmitDialog,
    openEditDialog,
    canEditInstanceRow,
    onBusinessTypePick,
    onTemplatePick,
    backToBusinessTypePick,
src/views/salesManagement/salesLedger/index.vue
@@ -86,9 +86,7 @@
              :data="props.row.children"
              border
              show-summary
              :summary-method="
                (param) => summarizeChildrenTable(param, props.row)
              "
              :summary-method="summarizeChildrenTable"
            >
              <el-table-column align="center" label="序号" type="index" />
              <el-table-column label="产品大类" prop="productCategory" />
@@ -158,17 +156,17 @@
              <el-table-column
                label="含税单价(元)"
                prop="taxInclusiveUnitPrice"
                :formatter="sensitiveAmountFormatter"
                :formatter="formattedNumber"
              />
              <el-table-column
                label="含税总价(元)"
                prop="taxInclusiveTotalPrice"
                :formatter="sensitiveAmountFormatter"
                :formatter="formattedNumber"
              />
              <el-table-column
                label="不含税总价(元)"
                prop="taxExclusiveTotalPrice"
                :formatter="sensitiveAmountFormatter"
                :formatter="formattedNumber"
              />
              <!--操作-->
              <el-table-column Width="60px" label="操作" align="center">
@@ -1585,12 +1583,6 @@
};
const canEditLedger = (row) => isCurrentUserMaintainer(row);
const canDeleteLedger = (row) => isCurrentUserMaintainer(row);
const sensitiveAmountFormatter = (row, column, cellValue) => {
  if (!isCurrentUserMaintainer(row)) {
    return "*****";
  }
  return formattedNumber(row, column, cellValue);
};
// 获取tree子数据
const getModels = (value) => {
  productForm.value.productCategory = findNodeById(productOptions.value, value);
@@ -1654,9 +1646,7 @@
// 表格选择数据
const handleSelectionChange = (selection) => {
  // 过滤掉子数据
  selectedRows.value = selection.filter((item) => item.children !== undefined);
  console.log("selection", selectedRows.value);
  selectedRows.value = selection;
};
const productSelected = (selectedRows) => {
  productSelectedRows.value = selectedRows;
@@ -1711,25 +1701,7 @@
  );
};
// 子表合计方法
const summarizeChildrenTable = (param, parentRow) => {
  if (!isCurrentUserMaintainer(parentRow)) {
    const { columns } = param;
    return columns.map((column, index) => {
      if (index === 0) {
        return "合计";
      }
      if (
        [
          "taxInclusiveUnitPrice",
          "taxInclusiveTotalPrice",
          "taxExclusiveTotalPrice",
        ].includes(column.property)
      ) {
        return "*****";
      }
      return "";
    });
  }
const summarizeChildrenTable = (param) => {
  return proxy.summarizeTable(
    param,
    [
@@ -2089,13 +2061,22 @@
// 导出
const handleOut = () => {
  ElMessageBox.confirm("选中的内容将被导出,是否确认导出?", "导出", {
  ElMessageBox.confirm(
    "勾选的台账将被导出;未勾选则导出当前搜索条件下的全部台账。是否确认导出?",
    "导出",
    {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    }
  )
    .then(() => {
      proxy.download("/sales/ledger/export", {}, "销售台账.xlsx");
      const { entryDate, ...rest } = searchForm;
      const params = { ...rest };
      if (selectedRows.value.length) {
        params.ids = selectedRows.value.map((item) => item.id);
      }
      proxy.download("/sales/ledger/export", params, "销售台账.xlsx");
    })
    .catch(() => {
      proxy.$modal.msg("已取消");