gongchunyi
23 小时以前 cc4ba693a3aba5d8dcd7442345bad58090dddc6d
src/views/salesManagement/salesLedger/index.vue
@@ -225,9 +225,9 @@
                  <el-tag v-else-if="scope.row.productStockStatus == 2"
                          type="success">已入库</el-tag>
                  <el-tag v-else-if="scope.row.productStockStatus == 0"
                          type="info">未出库</el-tag>
                          type="info">未入库</el-tag>
                  <el-tag v-else
                          type="danger">不足</el-tag>
                          type="danger">未入库</el-tag>
                </template>
              </el-table-column>
              <!-- <el-table-column label="发货状态" width="140" align="center">
@@ -666,12 +666,12 @@
                               v-model="scope.row.settlePieceArea"
                               :min="0"
                               :step="1"
                               :precision="10"
                               :precision="4"
                               style="width: 100%"
                               placeholder="请输入"
                               clearable
                               @change="() => handleInlineSettleAreaChange(scope.row)" />
              <span v-else>{{ scope.row.settlePieceArea ?? "" }}</span>
              <span v-else>{{ scope.row.settlePieceArea ? Number(scope.row.settlePieceArea).toFixed(4) : "" }}</span>
            </template>
          </el-table-column>
          <el-table-column label="数量"
@@ -701,10 +701,10 @@
                               v-model="scope.row.actualTotalArea"
                               :min="0"
                               :step="1"
                               :precision="10"
                               :precision="4"
                               style="width: 100%"
                               placeholder="自动计算" />
              <span v-else>{{ scope.row.actualTotalArea ?? "" }}</span>
              <span v-else>{{ scope.row.actualTotalArea ? Number(scope.row.actualTotalArea).toFixed(4) : "" }}</span>
            </template>
          </el-table-column>
          <el-table-column label="含税单价(元)"
@@ -1341,8 +1341,8 @@
                          prop="actualPieceArea">
              <el-input-number v-model="productForm.actualPieceArea"
                               :min="0"
                               :step="0.00001"
                               :precision="5"
                               :step="0.0001"
                               :precision="4"
                               style="width: 100%"
                               placeholder="请输入"
                               clearable
@@ -1354,8 +1354,8 @@
                          prop="actualTotalArea">
              <el-input-number v-model="productForm.actualTotalArea"
                               :min="0"
                               :step="0.00001"
                               :precision="5"
                               :step="0.0001"
                               :precision="4"
                               style="width: 100%"
                               placeholder="请输入"
                               clearable />
@@ -1366,8 +1366,8 @@
                          prop="settlePieceArea">
              <el-input-number v-model="productForm.settlePieceArea"
                               :min="0"
                               :step="0.00001"
                               :precision="5"
                               :step="0.0001"
                               :precision="4"
                               style="width: 100%"
                               placeholder="请输入"
                               clearable
@@ -1379,8 +1379,8 @@
                          prop="settleTotalArea">
              <el-input-number v-model="productForm.settleTotalArea"
                               :min="0"
                               :step="0.00001"
                               :precision="5"
                               :step="0.0001"
                               :precision="4"
                               style="width: 100%"
                               placeholder="请输入"
                               clearable />
@@ -1391,8 +1391,8 @@
                          prop="settleTotalArea">
              <el-input-number v-model="productForm.settleTotalArea"
                               :min="0"
                               :step="0.00001"
                               :precision="5"
                               :step="0.0001"
                               :precision="4"
                               style="width: 100%"
                               placeholder="请输入"
                               clearable />
@@ -1815,7 +1815,11 @@
  const buildLedgerQrCompositeDataUrl = row =>
    new Promise((resolve, reject) => {
      const payload = JSON.stringify({ id: row.id });
      const payload = JSON.stringify({
        id: row.id,
        salesContractNo: (row.salesContractNo ?? "").trim(),
        type: "XS",
      });
      QRCode.toDataURL(payload, { width: 220, margin: 2 })
        .then(qrDataUrl => {
          const contract = (row.salesContractNo ?? "").trim() || "—";
@@ -1885,7 +1889,7 @@
    if (!ledgerQrCompositeUrl.value) return;
    const a = document.createElement("a");
    a.href = ledgerQrCompositeUrl.value;
    a.download = `销售销售订单二维码-${ledgerQrDownloadBaseName.value}.png`;
    a.download = `销售台账二维码-${ledgerQrDownloadBaseName.value}.png`;
    a.click();
  };
@@ -2837,7 +2841,7 @@
      const res = await productList({ salesLedgerId: id, type: 1 });
      stockProductList.value = [];
      stockProductList.value =
        res.data.filter(item => item.productStockStatus == 0) || [];
        res.data.filter(item => item.productStockStatus == 0 || item.productStockStatus == 1) || [];
    } catch (e) {
      proxy?.$modal?.msgError?.("获取产品列表失败");
    } finally {
@@ -3776,6 +3780,13 @@
      } else {
        const res = await getProcessCard(selectedId);
        const processCardData = res?.data ?? {};
        // 补齐二维码所需的台账标识(后端数据有时不带 id)
        if (processCardData && typeof processCardData === "object") {
          processCardData.salesLedgerId = processCardData.salesLedgerId ?? selectedId;
          processCardData.salesContractNo =
            (processCardData.salesContractNo ?? "").trim() ||
            String(selectedRow?.salesContractNo ?? "").trim();
        }
        const routeNodes = processCardData?.routeNodes;
        const isProcessRouteEmpty =
          !Array.isArray(routeNodes) || routeNodes.length === 0;
@@ -3794,9 +3805,9 @@
          } catch {
            return;
          }
          printFinishedProcessCard(processCardData);
          await printFinishedProcessCard(processCardData);
        } else {
          printFinishedProcessCard(processCardData);
          await printFinishedProcessCard(processCardData);
        }
      }
    } catch (error) {