gaoluyang
2026-06-08 e2c0f5a29c43f2fe01686b9f1afc22c34eb72448
src/views/financialManagement/voucher/index.vue
@@ -108,7 +108,8 @@
              <thead>
                <tr>
                  <th class="col-summary" rowspan="2">摘要</th>
                  <th class="col-subject" rowspan="2">会计科目</th>
                  <th class="col-subject" rowspan="2">总账科目</th>
                  <th class="col-detail-subject" rowspan="2">明细科目</th>
                  <th class="col-debit-header" colspan="11">借方</th>
                  <th class="col-credit-header" colspan="11">贷方</th>
                  <th class="col-action" rowspan="2">操作</th>
@@ -159,6 +160,9 @@
                    />
                    <!-- <div class="subject-name">{{ entry.subjectName }}</div> -->
                  </td>
                  <td class="col-detail-subject">
                    <el-input v-model="entry.subjectDetail" :disabled="isViewMode" placeholder="请输入明细科目" @focus="selectRow(rowIndex)" />
                  </td>
                  <!-- 借方11列 -->
                  <template v-if="editingCell.row === rowIndex && editingCell.type === 'debit'">
                    <td colspan="11" class="debit-input-cell">
@@ -186,7 +190,7 @@
                  </td>
                </tr>
                <tr class="total-row">
                  <td class="col-summary" colspan="2" style="text-align: center; font-weight: bold;">合计:</td>
                  <td class="col-summary" colspan="3" style="text-align: center; font-weight: bold;">合计:</td>
                  <td v-for="(digit, index) in getAmountDigits(totalDebitEntry, 11)" :key="'total-debit-'+index" class="amount-cell total-debit-cell">
                    <span :class="{ 'text-primary': digit !== '' }">{{ digit }}</span>
                  </td>
@@ -365,6 +369,7 @@
  subjectCode: "",
  subjectName: "",
  balanceDirection: "",
  subjectDetail: "",
  summary: "",
  debit: undefined,
  credit: undefined,
@@ -585,7 +590,7 @@
    return new Array(length).fill('');
  }
  const amountStr = Number(amount).toFixed(4);
  const amountStr = Number(amount).toFixed(2);
  const [intPart, decPart] = amountStr.split('.');
  const fullAmount = intPart + decPart;
@@ -669,6 +674,7 @@
          subjectCode: item.subjectCode || "",
          subjectName: item.subjectName || "",
          balanceDirection: item.balanceDirection || "",
          subjectDetail: item.subjectDetail || "",
          summary: item.summary || "",
          debit: Number(item.debit || 0),
          credit: Number(item.credit || 0),
@@ -771,6 +777,7 @@
        entries: validEntries.map(entry => ({
          subjectCode: entry.subjectCode,
          subjectName: entry.subjectName,
          subjectDetail: entry.subjectDetail || "",
          summary: entry.summary,
          debit: Number(entry.debit || 0),
          credit: Number(entry.credit || 0),
@@ -953,6 +960,11 @@
    min-width: 180px;
  }
  .col-detail-subject {
    width: 140px;
    min-width: 140px;
  }
  .col-action {
    width: 60px;
    min-width: 60px;