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">