gongchunyi
2 天以前 6ed28fe4e3536519ed5c59dcdb06264eb5c9866e
src/views/salesManagement/salesLedger/index.vue
@@ -181,13 +181,14 @@
        <el-table-column label="合同金额(元)" prop="contractAmount" width="220" show-overflow-tooltip
          :formatter="formattedNumber" />
        <el-table-column label="发货状态" width="140" align="center">
         <template #default="scope">
            <el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="info">未发货</el-tag>
            <el-tag v-else-if="Number(scope.row.deliveryStatus) === 2" type="warning">审批中</el-tag>
            <el-tag v-else-if="Number(scope.row.deliveryStatus) === 3" type="danger">审批失败</el-tag>
            <el-tag v-else-if="Number(scope.row.deliveryStatus) === 4" type="success">已发货</el-tag>
            <el-tag v-else type="info">-</el-tag>
         </template>
            <template #default="scope">
                  <el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="info">未发货</el-tag>
                  <el-tag v-else-if="Number(scope.row.deliveryStatus) === 2" type="warning">审批中</el-tag>
                  <el-tag v-else-if="Number(scope.row.deliveryStatus) === 3" type="danger">审批不通过</el-tag>
                  <el-tag v-else-if="Number(scope.row.deliveryStatus) === 4" type="primary">审批通过</el-tag>
                  <el-tag v-else-if="Number(scope.row.deliveryStatus) === 5" type="success">已发货</el-tag>
                  <el-tag v-else type="info">-</el-tag>
               </template>
        </el-table-column>
        <el-table-column label="录入人" prop="entryPersonName" width="100" show-overflow-tooltip />
        <el-table-column label="录入日期" prop="entryDate" width="120" show-overflow-tooltip />
@@ -2729,19 +2730,18 @@
        return;
      }
      // 依次发货(避免并发下库存扣减/状态更新互相影响)
      const run = async () => {
        for (const item of targets) {
          const salesLedgerId = item.salesLedgerId;
          if (!salesLedgerId) continue;
          await addShippingInfo({
            salesLedgerId,
            salesLedgerProductId: item.id,
            type: deliveryForm.value.type,
            approveUserIds,
          });
        }
      };
      // 按台账维度去重,每个 salesLedgerId 只调用一次发货接口
      const uniqueLedgerIds = [...new Set(targets.map((item) => item.salesLedgerId).filter(Boolean))];
      const run = async () => {
         for (const salesLedgerId of uniqueLedgerIds) {
            await addShippingInfo({
               salesLedgerId,
               type: deliveryForm.value.type,
               approveUserIds,
            });
         }
      };
      run()
        .then(() => {