已修改26个文件
495 ■■■■■ 文件已修改
src/api/procurementManagement/procurementInvoiceLedger.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Settings/index.vue 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/dispatchLog/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/issueManagement/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/components/Modal.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/indexOld.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/paymentEntry/index.vue 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementLedger/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/finalInspection/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/nonconformingManagement/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/processInspection/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/taxComparison/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceLedger/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceRegistration/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/receiptPayment/index.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/dept/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/procurementManagement/procurementInvoiceLedger.js
@@ -98,3 +98,28 @@
    data: data,
  });
}
// 查询付款登记子列表
export function registrationListPageGetById(query) {
  return request({
    url: "/purchase/registration/getById",
    method: "get",
    params: query,
  });
}
// 修改付款流水
export function updatePaymentRegistration(query) {
  return request({
    url: "/purchase/registration/updatePaymentRegistration",
    method: "put",
    data: query,
  });
}
// 删除付款流水
export function delPaymentRegistration(query) {
  return request({
    url: "/purchase/registration/delPaymentRegistration",
    method: "delete",
    data: query,
  });
}
src/layout/components/Settings/index.vue
@@ -1,66 +1,66 @@
<template>
  <el-drawer v-model="showSettings" direction="rtl" size="300px">
    <div class="setting-drawer-title">
      <h3 class="drawer-title">主题风格设置</h3>
    </div>
    <div class="setting-drawer-block-checbox">
      <div
        class="setting-drawer-block-checbox-item"
        @click="handleTheme('theme-dark')"
      >
        <img src="@/assets/images/dark.svg" alt="dark" />
        <div
          v-if="sideTheme === 'theme-dark'"
          class="setting-drawer-block-checbox-selectIcon"
          style="display: block"
        >
          <i aria-label="图标: check" class="anticon anticon-check">
            <svg
              viewBox="64 64 896 896"
              data-icon="check"
              width="1em"
              height="1em"
              :fill="theme"
              aria-hidden="true"
              focusable="false"
              class
            >
              <path
                d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"
              />
            </svg>
          </i>
        </div>
      </div>
      <div
        class="setting-drawer-block-checbox-item"
        @click="handleTheme('theme-light')"
      >
        <img src="@/assets/images/light.svg" alt="light" />
        <div
          v-if="sideTheme === 'theme-light'"
          class="setting-drawer-block-checbox-selectIcon"
          style="display: block"
        >
          <i aria-label="图标: check" class="anticon anticon-check">
            <svg
              viewBox="64 64 896 896"
              data-icon="check"
              width="1em"
              height="1em"
              :fill="theme"
              aria-hidden="true"
              focusable="false"
              class
            >
              <path
                d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"
              />
            </svg>
          </i>
        </div>
      </div>
    </div>
<!--    <div class="setting-drawer-title">-->
<!--      <h3 class="drawer-title">主题风格设置</h3>-->
<!--    </div>-->
<!--    <div class="setting-drawer-block-checbox">-->
<!--      <div-->
<!--        class="setting-drawer-block-checbox-item"-->
<!--        @click="handleTheme('theme-dark')"-->
<!--      >-->
<!--        <img src="@/assets/images/dark.svg" alt="dark" />-->
<!--        <div-->
<!--          v-if="sideTheme === 'theme-dark'"-->
<!--          class="setting-drawer-block-checbox-selectIcon"-->
<!--          style="display: block"-->
<!--        >-->
<!--          <i aria-label="图标: check" class="anticon anticon-check">-->
<!--            <svg-->
<!--              viewBox="64 64 896 896"-->
<!--              data-icon="check"-->
<!--              width="1em"-->
<!--              height="1em"-->
<!--              :fill="theme"-->
<!--              aria-hidden="true"-->
<!--              focusable="false"-->
<!--              class-->
<!--            >-->
<!--              <path-->
<!--                d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"-->
<!--              />-->
<!--            </svg>-->
<!--          </i>-->
<!--        </div>-->
<!--      </div>-->
<!--      <div-->
<!--        class="setting-drawer-block-checbox-item"-->
<!--        @click="handleTheme('theme-light')"-->
<!--      >-->
<!--        <img src="@/assets/images/light.svg" alt="light" />-->
<!--        <div-->
<!--          v-if="sideTheme === 'theme-light'"-->
<!--          class="setting-drawer-block-checbox-selectIcon"-->
<!--          style="display: block"-->
<!--        >-->
<!--          <i aria-label="图标: check" class="anticon anticon-check">-->
<!--            <svg-->
<!--              viewBox="64 64 896 896"-->
<!--              data-icon="check"-->
<!--              width="1em"-->
<!--              height="1em"-->
<!--              :fill="theme"-->
<!--              aria-hidden="true"-->
<!--              focusable="false"-->
<!--              class-->
<!--            >-->
<!--              <path-->
<!--                d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"-->
<!--              />-->
<!--            </svg>-->
<!--          </i>-->
<!--        </div>-->
<!--      </div>-->
<!--    </div>-->
    <div class="drawer-item">
      <span>主题颜色</span>
      <span class="comp-style">
@@ -146,7 +146,6 @@
  "#81D8D0",
  "#E85827",
  "#008C8C",
  "#002FA7",
  "#F9DC24",
  "#B05923",
  "#003153",
src/layout/components/Sidebar/index.vue
@@ -37,7 +37,8 @@
  if (settingsStore.isDark) {
    return 'var(--sidebar-bg)'
  }
  return sideTheme.value === 'theme-dark' ? variables.menuBg : variables.menuLightBg
  // 浅色主题时,直接用主题色
  return sideTheme.value === 'theme-dark' ? variables.menuBg : settingsStore.theme
})
// 获取菜单文字颜色
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -158,7 +158,6 @@
const { form } = toRefs(data);
// 节点标题
const getNodeTitle = (index, len) => {
  if (index === 0) return '发起';
  if (index === len - 1) return '结束';
  return '审批';
};
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -54,8 +54,7 @@
                  style="margin-right: 30px; text-align: center; margin-bottom: 10px;"
                >
                  <div>
                    <span v-if="index === 0">发起</span>
                    <span v-else>审批</span>
                    <span>审批人</span>
                    →
                  </div>
                  <el-select
@@ -179,7 +178,6 @@
const openDialog = (type, row) => {
  operationType.value = type;
  dialogFormVisible.value = true;
    currentApproveStatus.value = row.approveStatus
    userListNoPageByTenantId().then((res) => {
    userList.value = res.data;
  });
@@ -194,6 +192,7 @@
  // 获取当前用户信息并设置部门ID
  form.value.approveDeptId = userStore.currentDeptId
  if (operationType.value === 'edit') {
        currentApproveStatus.value = row.approveStatus
    approveProcessGetInfo({id: row.approveId,approveReason: '1'}).then(res => {
            form.value = {...res.data}
      // 反显审批人
src/views/collaborativeApproval/approvalProcess/index.vue
@@ -69,6 +69,8 @@
        return "审核中";
      } else if (params == 2) {
        return "审核完成";
      } else if (params == 4) {
        return "已重新提交";
      } else {
        return '不通过';
      }
@@ -78,8 +80,10 @@
        return "warning";
      } else if (params == 1) {
        return "primary";
      }  else if (params == 2) {
      } else if (params == 2) {
        return "success";
      } else if (params == 4) {
        return "";
      } else {
        return 'danger';
      }
@@ -132,7 +136,7 @@
        clickFun: (row) => {
          openForm("edit", row);
        },
                disabled: (row) => row.approveStatus == 2 || row.approveStatus == 1
                disabled: (row) => row.approveStatus == 2 || row.approveStatus == 1 || row.approveStatus == 4
      },
      {
        name: "审核",
@@ -140,7 +144,7 @@
        clickFun: (row) => {
          openApprovalDia("approval", row);
        },
                disabled: (row) => row.approveUserCurrentId == null || row.approveStatus == 2 || row.approveStatus == 3 || row.approveUserCurrentId !== userStore.id
                disabled: (row) => row.approveUserCurrentId == null || row.approveStatus == 2 || row.approveStatus == 3 || row.approveStatus == 4 || row.approveUsercurrentId !== userStore.id
      },
      {
        name: "详情",
src/views/inventoryManagement/dispatchLog/index.vue
@@ -205,7 +205,7 @@
      tableData.value.map((item) => {
        item.children = [];
      });
      total.value = res.total;
      total.value = res.data.total;
    })
    .catch(() => {
      tableLoading.value = false;
src/views/inventoryManagement/issueManagement/index.vue
@@ -131,6 +131,7 @@
  getStockInPage({ ...searchForm.value, ...page }).then(res => {
    tableLoading.value = false
    tableData.value = res.data.records
    total.value = res.data.total
    console.log('res', res.data.records)
  }).catch(() => {
    tableLoading.value = false
src/views/inventoryManagement/stockManagement/index.vue
@@ -232,7 +232,7 @@
    // tableData.value.map(item => {
    //   item.children = []
    // })
    // total.value = res.total
    total.value = res.data.total
  }).catch(() => {
    tableLoading.value = false
  })
src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -123,6 +123,7 @@
            placeholder="请输入"
            :min="0"
            :step="0.1"
                        :precision="2"
            clearable
            style="width: 100%"
            @change="invoiceNumBlur(row)"
@@ -133,6 +134,7 @@
            v-model="row.ticketsAmount"
            placeholder="请输入"
            :min="0"
                        :precision="2"
            :step="0.1"
            clearable
            style="width: 100%"
src/views/procurementManagement/invoiceEntry/indexOld.vue
@@ -318,6 +318,7 @@
                v-model="scope.row.ticketsNum"
                placeholder="请选择"
                :min="0"
                                :precision="2"
                :step="0.1"
                clearable
                style="width: 100%"
@@ -338,6 +339,7 @@
                v-model="scope.row.ticketsAmount"
                placeholder="请选择"
                :min="0"
                                :precision="2"
                :step="0.1"
                clearable
                style="width: 100%"
src/views/procurementManagement/paymentEntry/index.vue
@@ -37,28 +37,6 @@
          </el-col>
        </el-row>
      </el-form>
      <!-- <div>
        <span class="search_title">供应商名称/合同号:</span>
        <el-input
          v-model="searchForm.supplierNameOrContractNo"
          style="width: 240px"
          placeholder="输入供应商名称/合同号搜索"
          @change="handleQuery"
          clearable
          :prefix-icon="Search"
        />
        <el-button
          type="primary"
          @click="handleQuery"
          style="margin-left: 10px"
        >
          搜索
        </el-button>
      </div>
      <div>
        <el-button type="primary" @click="openForm('add')">新增付款</el-button>
        <el-button type="danger" plain @click="handleDelete">删除</el-button>
      </div> -->
    </div>
    <div class="table_list">
      <PIMTable
@@ -66,14 +44,90 @@
        :column="tableColumn"
        :tableData="tableData"
        :page="page"
        :expandRowKeys="expandedRowKeys"
        :isSelection="true"
        :isShowSummary="isShowSummarySon"
        :summaryMethod="summarizeMainTable1"
        @selection-change="handleSelectionChange"
        @expand-change="expandChange"
        :tableLoading="tableLoading"
        @pagination="pagination"
        :total="page.total"
      ></PIMTable>
      >
                <template #expand="{ row }">
                    <el-table
                        :data="expandData"
                        border
                        show-summary
                        v-loading="childrenLoading"
                        :summary-method="summarizeMainTable2"
                    >
                        <el-table-column
                            align="center"
                            label="序号"
                            type="index"
                            width="60"
                        />
                        <el-table-column label="付款日期" prop="paymentDate" />
                        <el-table-column label="付款金额" prop="currentPaymentAmount">
                            <template #default="scope">
                                <el-input-number :step="0.01" :min="0" style="width: 100%"
                                                                 v-model="scope.row.currentPaymentAmount"
                                                                 :disabled="!scope.row.editType"
                                                                 :precision="2"
                                                                 placeholder="请输入"
                                                                 clearable
                                />
                            </template>
                        </el-table-column>
                        <el-table-column label="付款方式" prop="paymentMethod">
                            <template #default="scope">
                                <el-select
                                    :disabled="!scope.row.editType"
                                    v-model="scope.row.paymentMethod"
                                    placeholder="请选择"
                                    clearable
                                >
                                    <el-option label="电汇" value="电汇" />
                                    <el-option label="承兑" value="承兑" />
                                </el-select>
                            </template>
                        </el-table-column>
                        <el-table-column label="登记人" prop="registrant" />
                        <el-table-column label="登记日期" prop="registrationtDate" />
                        <el-table-column label="操作" width="150">
                            <template #default="scope">
                                <el-button
                                    link
                                    type="primary"
                                    size="small"
                                    @click="changeEditType(scope.row)"
                                    v-if="!scope.row.editType"
                                    :disabled="scope.row.registrant !== userStore.nickName"
                                >编辑</el-button
                                >
                                <el-button
                                    link
                                    type="primary"
                                    size="small"
                                    @click="saveReceiptPayment(scope.row)"
                                    v-if="scope.row.editType"
                                    :disabled="scope.row.registrant !== userStore.nickName"
                                >保存</el-button
                                >
                                <el-button
                                    link
                                    type="primary"
                                    size="small"
                                    @click="handleDelete(scope.row)"
                                    :disabled="scope.row.registrant !== userStore.nickName"
                                >删除</el-button
                                >
                            </template>
                        </el-table-column>
                    </el-table>
                </template>
            </PIMTable>
    </div>
    <el-dialog
      v-model="dialogFormVisible"
@@ -146,6 +200,7 @@
          <el-col :span="12">
            <el-form-item label="本次付款金额:" prop="currentPaymentAmount">
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                                                             :precision="2"
                v-model="form.currentPaymentAmount"
                placeholder="请输入"
                clearable
@@ -225,11 +280,21 @@
  paymentRegistrationEdit,
  getTicketNo,
} from "@/api/procurementManagement/paymentEntry.js";
import { invoiceListPage } from "@/api/procurementManagement/procurementInvoiceLedger.js";
import {
    delPaymentRegistration,
    invoiceListPage,
    registrationListPageGetById,
    updatePaymentRegistration
} from "@/api/procurementManagement/procurementInvoiceLedger.js";
import useFormData from "@/hooks/useFormData";
const { proxy } = getCurrentInstance();
const tableColumn = ref([
    {
        type: "expand",
        dataType: "slot",
        slot: "expand",
    },
  {
    label: "采购合同号",
    prop: "purchaseContractNumber",
@@ -275,9 +340,10 @@
  },
]);
const tableData = ref([]);
const expandData = ref([]);
const selectedRows = ref([]);
const tableLoading = ref(false);
const invoiceNumberList = ref([]);
const childrenLoading = ref(false);
const userStore = useUserStore();
const page = reactive({
  current: 1,
@@ -324,6 +390,8 @@
const { form, rules } = toRefs(data);
const { form: searchForm, resetForm } = useFormData(data.searchForm);
const isShowSummarySon = ref(true);
const expandedRowKeys = ref([]);
// 子表合计方法
const summarizeMainTable1 = (param) => {
@@ -335,6 +403,13 @@
      futureTickets: { noDecimal: true }, // 不保留小数
    }
  );
};
// 子表合计方法
const summarizeMainTable2 = (param) => {
    return proxy.summarizeTable(param, ["currentPaymentAmount"], {
        ticketsNum: { noDecimal: true }, // 不保留小数
        futureTickets: { noDecimal: true }, // 不保留小数
    });
};
// 查询列表
/** 搜索按钮操作 */
@@ -353,7 +428,56 @@
    tableLoading.value = false;
    tableData.value = res.records;
        page.total = res.total;
        if (expandedRowKeys.value.length > 0) {
            const arr = []
            const index = tableData.value.findIndex(item => item.id === expandedRowKeys.value[0]);
            if (index > -1) {
                arr.push(tableData.value[index]);
                expandChange(tableData.value[index], arr)
            }
        }
  });
};
// 展开行
const expandChange = (row, expandedRows) => {
    if (expandedRows.length > 0) {
        nextTick(() => {
            expandedRowKeys.value = [];
            try {
                childrenLoading.value = true;
                registrationListPageGetById({ id: row.id }).then((res) => {
                    childrenLoading.value = false;
                    const index = tableData.value.findIndex((item) => item.id === row.id);
                    if (index > -1) {
                        expandData.value = res;
                    }
                    expandedRowKeys.value.push(row.id);
                });
            } catch (error) {
                childrenLoading.value = false;
                console.log(error);
            }
        })
    } else {
        expandedRowKeys.value = [];
    }
};
// 编辑修改状态
const changeEditType = (row) => {
    row.editType = !row.editType;
};
// 保存回款记录
const saveReceiptPayment = (row) => {
    let updateData = {
        id: row.id,
        currentPaymentAmount: row.currentPaymentAmount,
        paymentMethod: row.paymentMethod,
    };
    updatePaymentRegistration(updateData).then((res) => {
        row.editType = !row.editType;
        getList();
        proxy.$modal.msgSuccess("提交成功");
    });
};
// 表格选择数据
const handleSelectionChange = (selection) => {
@@ -365,6 +489,10 @@
    proxy.$message.error("请选择一条发票数据");
    return;
  }
    if (selectedRows.value[0].unPaymentAmountTotal == 0) {
        proxy.$message.warning("无需再付款");
        return;
    }
  operationType.value = type;
  form.value = {};
  form.value = { ...selectedRows.value[0] };
@@ -375,38 +503,6 @@
  form.value.paymentDate = getCurrentDate();
  form.value.registrant = userStore.name;
  dialogFormVisible.value = true;
};
// 选择发票号以后给发票金额赋值
const setInvoiceAmount = (value) => {
  if (value) {
    invoiceNumberList.value.forEach((item) => {
      if (item.invoiceNumber === value) {
        form.value.invoiceAmount = item.invoiceAmount;
        form.value.ticketRegistrationId = item.id;
      }
    });
  } else {
    form.value.invoiceAmount = "";
  }
};
// 选择采购合同号赋值
const setInfo = (value) => {
  getTicketNo({ id: value }).then((res) => {
    invoiceNumberList.value = res.data;
  });
  if (value) {
    byPurchaseId(value).then((res) => {
      form.value.salesContractNo = res.data.salesContractNo;
      form.value.supplierName = res.data.supplierName;
      form.value.taxRate = res.data.taxRate;
      form.value.supplierId = res.data.supplierId;
    });
  } else {
    form.value.salesContractNo = "";
    form.value.supplierName = "";
    form.value.taxRate = "";
    form.value.supplierId = "";
  }
};
// 提交表单
const submitForm = () => {
@@ -442,20 +538,7 @@
  dialogFormVisible.value = false;
};
// 删除
const handleDelete = () => {
  let ids = [];
  if (selectedRows.value.length > 0) {
        // 检查是否有他人维护的数据
        const unauthorizedData = selectedRows.value.filter(item => item.issUer !== userStore.nickName);
        if (unauthorizedData.length > 0) {
            proxy.$modal.msgWarning("不可删除他人维护的数据");
            return;
        }
    ids = selectedRows.value.map((item) => item.id);
  } else {
    proxy.$modal.msgWarning("请选择数据");
    return;
  }
const handleDelete = (row) => {
  ElMessageBox.confirm("选中的内容将被删除,是否确认删除?", "删除提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
@@ -463,7 +546,7 @@
  })
    .then(() => {
      tableLoading.value = true;
      paymentRegistrationDel(ids)
            delPaymentRegistration(row.id)
        .then((res) => {
          proxy.$modal.msgSuccess("删除成功");
          getList();
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -23,17 +23,17 @@
      </el-col>
      <el-col :span="12">
        <el-form-item label="发票号:">
          <el-input v-model="form.invoiceNumber" />
          <el-input disabled v-model="form.invoiceNumber" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="来票数:">
          <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsNum" @change="inputTicketsNum" />
          <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsNum" @change="inputTicketsNum" :precision="2"/>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="本次来票金额(元):">
                    <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsAmount" @change="inputTicketsAmount" />
                    <el-input-number :step="0.1" :min="0" style="width: 100%" v-model="form.ticketsAmount" @change="inputTicketsAmount" :precision="2"/>
        </el-form-item>
      </el-col>
      <el-col :span="12">
@@ -95,6 +95,8 @@
    
    // 确保所有数值都转换为数字类型进行计算
    const ticketsAmount = Number(val) * Number(form.taxInclusiveUnitPrice);
    const futureTickets = Number(form.futureTickets) - Number(val);
    form.futureTickets = Number(futureTickets.toFixed(2));
    form.ticketsAmount = Number(ticketsAmount.toFixed(2));
};
const inputTicketsAmount = (val) => {
src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
@@ -21,6 +21,7 @@
});
const emits = defineEmits(["success"]);
const saleLedgerProjectId = ref('')
const editFormRef = ref();
const {
  id,
@@ -32,10 +33,11 @@
  closeModal,
} = useModal({ title: "来票台账" });
const open = async (id) => {
  openModal(id);
const open = async (row) => {
  openModal(row.id);
    saleLedgerProjectId.value = row.saleLedgerProjectId;
  await nextTick();
  editFormRef.value.load(id);
  editFormRef.value.load(row.id);
};
const close = () => {
@@ -45,6 +47,7 @@
const sendForm = async () => {
  const form = editFormRef.value.form;
    form.saleLedgerProjectId = saleLedgerProjectId.value;
  const { code } = await updateRegistration(form);
  if (code === 200) {
    emits("success");
src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -81,7 +81,7 @@
          <el-button
            type="primary"
            text
            @click="openEdit(row.id)"
            @click="openEdit(row)"
                        :disabled="row.issUerId !== userStore.id"
          >
            编辑
@@ -310,8 +310,8 @@
  modalRef.value.handleImport(id);
};
const openEdit = (id) => {
  editmodalRef.value.open(id);
const openEdit = (row) => {
  editmodalRef.value.open(row);
};
// 上传成功后做什么
src/views/procurementManagement/procurementLedger/index.vue
@@ -463,6 +463,7 @@
                            <el-input-number
                                :step="0.1"
                                clearable
                                :precision="2"
                                style="width: 100%"
                                v-model="productForm.quantity"
                                placeholder="请输入"
src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -36,7 +36,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2"/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/qualityManagement/nonconformingManagement/components/formDia.vue
@@ -55,7 +55,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2"/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/qualityManagement/processInspection/components/formDia.vue
@@ -43,7 +43,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2"/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -54,7 +54,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2"/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/reportAnalysis/taxComparison/index.vue
@@ -4,7 +4,7 @@
      <el-form-item label="日期">
        <el-date-picker
          style="width: 240px"
          v-model="filters.dateRange"
          v-model="filters.month"
          value-format="YYYY-MM"
          format="YYYY-MM"
          type="month"
@@ -55,7 +55,7 @@
} = usePaginationApi(
  getTaxList,
  {
    dateRange: [], // 来票日期
    month: [], // 来票日期
  },
  [
    {
src/views/salesManagement/invoiceLedger/index.vue
@@ -85,8 +85,8 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="发票金额(元):" prop="invoiceTotal">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.invoiceTotal" placeholder="请输入" clearable />
            <el-form-item :label="`发票金额(元): 合同总额(${form.taxInclusiveTotalPrice}元)`" prop="invoiceTotal">
              <el-input-number :step="0.01" :min="0" :max="form.taxInclusiveTotalPrice" style="width: 100%" v-model="form.invoiceTotal" placeholder="请输入" clearable :precision="2"/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/salesManagement/invoiceRegistration/index.vue
@@ -319,6 +319,7 @@
          <el-table-column label="本次开票数" prop="currentInvoiceNum" width="180">
            <template #default="scope">
              <el-input-number :step="0.1" :min="0" style="width: 100%"
                                                             :precision="2"
                v-model="scope.row.currentInvoiceNum"
                @change="invoiceNumBlur(scope.row)"
              ></el-input-number>
@@ -331,6 +332,7 @@
          >
            <template #default="scope">
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                                                             :precision="2"
                v-model="scope.row.currentInvoiceAmount"
                @change="invoiceAmountBlur(scope.row)"
              ></el-input-number>
src/views/salesManagement/receiptPayment/index.vue
@@ -49,7 +49,7 @@
      <div class="actions">
        <div></div>
        <div>
          <el-button type="primary" icon="Plus" @click="openForm('add')">
          <el-button type="primary" @click="openForm('add')">
            新增回款
          </el-button>
          <el-button icon="Download" @click="handleOut"> 导出 </el-button>
@@ -86,10 +86,13 @@
              <el-table-column label="回款日期" prop="receiptPaymentDate" />
              <el-table-column label="回款金额" prop="receiptPaymentAmount">
                <template #default="scope">
                  <el-input
                    v-model="scope.row.receiptPaymentAmount"
                    :disabled="!scope.row.editType"
                  ></el-input>
                                    <el-input-number :step="0.01" :min="0" style="width: 100%"
                                                                     v-model="scope.row.receiptPaymentAmount"
                                                                     :disabled="!scope.row.editType"
                                                                     :precision="2"
                                                                     placeholder="请输入"
                                                                     clearable
                                    />
                </template>
              </el-table-column>
              <el-table-column label="回款方式" prop="receiptPaymentType">
@@ -288,7 +291,8 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="本次回款金额:" prop="receiptPaymentAmount">
              <el-input-number :step="0.01" :min="0" style="width: 100%"
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                                                             :precision="2"
                v-model="form.receiptPaymentAmount"
                placeholder="请输入"
                clearable
@@ -434,13 +438,20 @@
  getList();
};
const getList = () => {
  expandedRowKeys.value = [];
  tableLoading.value = true;
  bindInvoiceNoRegPage({ ...searchForm, ...page })
    .then((res) => {
      tableLoading.value = false;
      tableData.value = res.data.records;
      total.value = res.data.total;
            if (expandedRowKeys.value.length > 0) {
                const arr = []
                const index = tableData.value.findIndex(item => item.id === expandedRowKeys.value[0]);
                if (index > -1) {
                    arr.push(tableData.value[index]);
                    expandChange(tableData.value[index], arr)
                }
            }
    })
    .catch(() => {
      tableLoading.value = false;
@@ -502,10 +513,8 @@
    proxy.$modal.msgError("请选择一条数据");
    return;
  }
  //
  console.log("(selectedRows.value", selectedRows.value);
  if (selectedRows.value[0].noReceiptAmount === 0) {
    proxy.$modal.msgError("待回款金额为0元");
  if (selectedRows.value[0].noReceiptAmount == 0) {
    proxy.$modal.warning("无需再回款");
    return;
  }
  invoiceInfo({ id: selectedRows.value[0].id }).then((res) => {
@@ -573,6 +582,8 @@
  };
  receiptPaymentSaveOrUpdate(updateData).then((res) => {
    row.editType = !row.editType;
        getList();
        proxy.$modal.msgSuccess("提交成功");
  });
};
src/views/salesManagement/salesLedger/index.vue
@@ -171,7 +171,7 @@
          <el-table-column label="不含税总价(元)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
          <el-table-column fixed="right" label="操作" min-width="60" align="center" v-if="operationType !== 'view'">
            <template #default="scope">
              <el-button link type="primary" size="small" @click="openProductForm('edit', scope.row)">编辑</el-button>
              <el-button link type="primary" size="small" @click="openProductForm('edit', scope.row,scope.$index)">编辑</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -250,12 +250,14 @@
          <el-col :span="12">
            <el-form-item label="含税单价(元):" prop="taxInclusiveUnitPrice">
              <el-input-number :step="0.01" :min="0" v-model="productForm.taxInclusiveUnitPrice" style="width: 100%"
                                                             :precision="2"
                                                             placeholder="请输入" clearable @change="calculateFromUnitPrice" />
            </el-form-item>
          </el-col>
                    <el-col :span="12">
                        <el-form-item label="数量:" prop="quantity">
                            <el-input-number  :step="0.1" :min="0" v-model="productForm.quantity" placeholder="请输入" clearable
                                                                :precision="2"
                                                                @change="calculateFromQuantity" style="width: 100%" />
                        </el-form-item>
                    </el-col>
@@ -661,13 +663,16 @@
  proxy.resetForm("formRef");
  dialogFormVisible.value = false;
};
const productIndex = ref(0);
// 打开产品弹框
const openProductForm = (type, row) => {
const openProductForm = (type, row,index) => {
  productOperationType.value = type;
  productForm.value = {};
  proxy.resetForm("productFormRef");
  if (type === "edit") {
    productForm.value = { ...row };
    productIndex.value = index;
  }
  productFormVisible.value = true;
  getProductOptions();
@@ -679,7 +684,11 @@
      if (operationType.value === "edit") {
        submitProductEdit();
      } else {
        productData.value.push({ ...productForm.value });
        if(productOperationType.value === "add"){
          productData.value.push({ ...productForm.value });
        }else{
          productData.value[productIndex.value] = { ...productForm.value }
        }
        closeProductDia();
      }
    }
src/views/system/dept/index.vue
@@ -99,7 +99,7 @@
               </el-col>
               <el-col :span="12">
                  <el-form-item label="显示排序" prop="orderNum">
                     <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
                     <el-input-number v-model="form.orderNum" controls-position="right" :min="0"/>
                  </el-form-item>
               </el-col>
               <el-col :span="12">