进销存升级app:
1.通过审批的采购台账所有数据都不能编辑修改。不单单包含产品
已修改1个文件
47 ■■■■ 文件已修改
src/pages/procurementManagement/procurementLedger/detail.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/procurementManagement/procurementLedger/detail.vue
@@ -17,27 +17,30 @@
      </up-form-item>
      <up-form-item label="销售合同号"
                    prop="salesContractNo"
                    required
                    @click="showPicker = true">
                    required>
        <up-input v-model="form.salesContractNo"
                  readonly=""
                  @click="showPicker = true"
                  readonly
                  :disabled="isReadOnly"
                  @click="!isReadOnly && (showPicker = true)"
                  placeholder="点击选择销售合同号" />
        <template #right>
          <up-icon name="arrow-right"
                   v-if="!isReadOnly"
                   @click="showPicker = true"></up-icon>
        </template>
      </up-form-item>
      <up-form-item label="供应商名称"
                    prop="supplierName"
                    required
                    @click="showCustomerPicker = true">
                    >
        <up-input v-model="form.supplierName"
                  readonly=""
                  @click="showCustomerPicker = true"
                  readonly
                  :disabled="isReadOnly"
                  @click="!isReadOnly && (showCustomerPicker = true)"
                  placeholder="点击选择供应商" />
        <template #right>
          <up-icon name="arrow-right"
                   v-if="!isReadOnly"
                   @click="showCustomerPicker = true"></up-icon>
        </template>
      </up-form-item>
@@ -45,11 +48,13 @@
                    prop="projectName"
                    required>
        <up-input v-model="form.projectName"
                  :disabled="isReadOnly"
                  placeholder="请输入项目名称" />
      </up-form-item>
      <up-form-item label="付款方式"
                    prop="paymentMethod">
        <up-input v-model="form.paymentMethod"
                  :disabled="isReadOnly"
                  placeholder="请输入付款方式" />
      </up-form-item>
      <up-form-item label="签订日期"
@@ -57,9 +62,11 @@
                    prop="executionDate">
        <up-input v-model="form.executionDate"
                  placeholder="请选择"
                  readonly="" />
                  readonly
                  :disabled="isReadOnly" />
        <template #right>
          <up-icon name="arrow-right"
                   v-if="!isReadOnly"
                   @click="showTimePicker = true"></up-icon>
        </template>
      </up-form-item>
@@ -99,10 +106,12 @@
                  <text class="approver-name">{{ step.nickName }}</text>
                </view>
                <view class="delete-approver-btn"
                      v-if="!isReadOnly"
                      @click="removeApprover(stepIndex)">×</view>
              </view>
              <view v-else
                    class="add-approver-btn"
                    v-if="!isReadOnly"
                    @click="addApprover(stepIndex)">
                <view class="add-circle">+</view>
                <text class="add-label">选择审批人</text>
@@ -111,11 +120,11 @@
            <view class="step-line"
                  v-if="stepIndex < approverNodes.length - 1"></view>
            <view class="delete-step-btn"
                  v-if="approverNodes.length > 1"
                  v-if="approverNodes.length > 1 && !isReadOnly"
                  @click="removeApprovalStep(stepIndex)">删除节点</view>
          </view>
        </view>
        <view class="add-step-btn">
        <view class="add-step-btn" v-if="!isReadOnly">
          <u-button icon="plus"
                    plain
                    type="primary"
@@ -400,13 +409,17 @@
  const operationType = ref("");
  const editData = ref(null);
  const formRef = ref(null);
  // 审批通过(approvalStatus === 3)后,禁止编辑/删除产品
  // 审批通过(approvalStatus === 3)后,整单禁止编辑(含产品、基本信息、审批流程)
  const isApprovalPassed = computed(() => {
    const status = editData.value?.approvalStatus ?? form.value?.approvalStatus;
    return Number(status) === 3;
  });
  const canEditProducts = computed(() => {
    return operationType.value !== "view" && !isApprovalPassed.value;
  });
  // 是否整体只读:查看模式 或 已审批通过
  const isReadOnly = computed(() => {
    return operationType.value === "view" || isApprovalPassed.value;
  });
  const userStore = useUserStore();
@@ -891,6 +904,14 @@
  };
  const onSubmit = () => {
    // 审批通过的台账禁止再次修改
    if (isApprovalPassed.value) {
      uni.showToast({
        title: "已审批通过的台账不允许修改",
        icon: "none",
      });
      return;
    }
    const hasEmptyApprover = approverNodes.value.some(node => !node.userId);
    if (hasEmptyApprover) {
      uni.showToast({
@@ -1096,6 +1117,7 @@
  };
  const addApprover = stepIndex => {
    if (isReadOnly.value) return;
    // 跳转到联系人选择页面
    uni.setStorageSync("stepIndex", stepIndex);
    uni.navigateTo({
@@ -1104,18 +1126,21 @@
  };
  const addApprovalStep = () => {
    if (isReadOnly.value) return;
    // 添加新的审批步骤
    approverNodes.value.push({ userId: null, nickName: null });
    console.log(approverNodes.value, "approverNodes.value");
  };
  const removeApprover = stepIndex => {
    if (isReadOnly.value) return;
    // 移除审批人
    approverNodes.value[stepIndex].userId = null;
    approverNodes.value[stepIndex].nickName = null;
  };
  const removeApprovalStep = stepIndex => {
    if (isReadOnly.value) return;
    // 确保至少保留一个审批步骤
    if (approverNodes.value.length > 1) {
      approverNodes.value.splice(stepIndex, 1);