zhangwencui
2 天以前 7a0790d8224db45a039bf33d0ef4e24ae879a243
src/pages/procurementManagement/procurementLedger/index.vue
@@ -45,10 +45,14 @@
          </view>
          <up-divider></up-divider>
          <view class="item-details">
            <!-- <view class="detail-row">
              <text class="detail-label">销售合同号</text>
              <text class="detail-value">{{ item.salesContractNo }}</text>
            </view> -->
            <view class="detail-row">
              <text class="detail-label">入库状态</text>
              <view class="detail-value">
                <u-tag :type="getStockInStatusType(item.stockInStatus)">
                  {{ item.stockInStatus || '--' }}
                </u-tag>
              </view>
            </view>
            <view class="detail-row">
              <text class="detail-label">供应商名称</text>
              <text class="detail-value">{{ item.supplierName }}</text>
@@ -77,17 +81,13 @@
              </view>
            </view>
            <!-- 仅非“审批通过”的台账展示删除按钮 -->
            <view
              class="detail-row"
              v-if="item.approvalStatus !== 3"
              style="justify-content: flex-end; margin-top: 8px;"
            >
              <up-button
                type="error"
                size="small"
                plain
                @click.stop="handleDelete(item)"
              >
            <view class="detail-row"
                  v-if="item.approvalStatus !== 3 && item.stockInStatus !== '完全入库'"
                  style="justify-content: flex-end; margin-top: 8px;">
              <up-button type="error"
                         size="small"
                         plain
                         @click.stop="handleDelete(item)">
                删除
              </up-button>
            </view>
@@ -114,7 +114,10 @@
  import { onShow } from "@dcloudio/uni-app";
  import useUserStore from "@/store/modules/user";
  import PageHeader from "@/components/PageHeader.vue";
  import { purchaseListPage, delPurchase } from "@/api/procurementManagement/procurementLedger";
  import {
    purchaseListPage,
    delPurchase,
  } from "@/api/procurementManagement/procurementLedger";
  const userStore = useUserStore();
  const approvalStatusText = {
    1: "待审核",
@@ -131,6 +134,14 @@
      4: "error", // 审批失败 - 红色
    };
    return typeMap[status] || "";
  };
  const getStockInStatusType = status => {
    const typeMap = {
      待入库: "info",
      入库中: "warning",
      完全入库: "success",
    };
    return typeMap[status] || "info";
  };
  // 搜索关键词
  const purchaseContractNumber = ref("");
@@ -180,6 +191,7 @@
    try {
      // 设置操作类型
      uni.setStorageSync("operationType", type);
      uni.removeStorageSync("editData");
      // 如果是查看或编辑操作
      if (type !== "add") {
@@ -195,6 +207,13 @@
        // 检查权限:只有录入人才能编辑
        if (row.recorderName != userStore.nickName) {
          // 非录入人跳转到只读详情页面
          uni.setStorageSync("editData", JSON.stringify(row));
          uni.navigateTo({
            url: "/pages/procurementManagement/procurementLedger/view",
          });
          return;
        }
        if (row.stockInStatus === "完全入库") {
          uni.setStorageSync("editData", JSON.stringify(row));
          uni.navigateTo({
            url: "/pages/procurementManagement/procurementLedger/view",
@@ -265,7 +284,10 @@
              // 只有在真正异常时,才在这里兜底提示
              const msg =
                (error && error.msg) ||
                (error && error.response && error.response.data && error.response.data.msg) ||
                (error &&
                  error.response &&
                  error.response.data &&
                  error.response.data.msg) ||
                (error && error.message) ||
                "删除失败";
              uni.showToast({