From 76a985e3d790e506eef36c4df7442a95db0b29a3 Mon Sep 17 00:00:00 2001 From: 曹睿 <360930172@qq.com> Date: 星期一, 23 六月 2025 16:48:00 +0800 Subject: [PATCH] feat: 完成设备台账 --- src/views/salesManagement/receiptPayment/index.vue | 32 +- src/api/monitor/job.js | 65 +++--- src/hooks/useModal.js | 42 ++++ src/views/inventoryManagement/issueManagement/index.vue | 2 src/views/procurementManagement/invoiceEntry/index.vue | 32 ++ src/views/procurementManagement/paymentEntry/index.vue | 1 src/views/salesManagement/invoiceRegistration/index.vue | 4 src/api/equipmentManagement/ledger.js | 37 +++ src/views/equipmentManagement/ledger/Form.vue | 137 +++++++++++++ src/views/salesManagement/invoiceLedger/index.vue | 2 src/views/inventoryManagement/receiptManagement/index.vue | 2 src/views/equipmentManagement/ledger/Modal.vue | 60 ++++++ src/views/inventoryManagement/stockManagement/index.vue | 2 src/views/equipmentManagement/ledger/index.vue | 129 +++++++++++- 14 files changed, 465 insertions(+), 82 deletions(-) diff --git a/src/api/equipmentManagement/ledger.js b/src/api/equipmentManagement/ledger.js new file mode 100644 index 0000000..1eac3e7 --- /dev/null +++ b/src/api/equipmentManagement/ledger.js @@ -0,0 +1,37 @@ +import request from "@/utils/request"; + +export const getLedgerPage = (params) => { + return request({ + url: "/device/ledger/page", + method: "get", + params, + }); +}; +export const getLedgerById = (id) => { + return request({ + url: `/device/ledger/${id}`, + method: "get", + }); +}; + +export const addLedger = (data) => { + return request({ + url: "/device/ledger", + method: "post", + data, + }); +}; +export const editLedger = (data) => { + return request({ + url: "/device/ledger", + method: "put", + data, + }); +}; + +export const delLedger = (id) => { + return request({ + url: `/device/ledger/${id}`, + method: "delete", + }); +}; diff --git a/src/api/monitor/job.js b/src/api/monitor/job.js index b33ad3d..84b7b5a 100644 --- a/src/api/monitor/job.js +++ b/src/api/monitor/job.js @@ -1,71 +1,70 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 鏌ヨ瀹氭椂浠诲姟璋冨害鍒楄〃 export function listJob(query) { return request({ - url: '/monitor/job/list', - method: 'get', - params: query - }) + url: "/monitor/job/list", + method: "get", + params: query, + }); } // 鏌ヨ瀹氭椂浠诲姟璋冨害璇︾粏 export function getJob(jobId) { return request({ - url: '/monitor/job/' + jobId, - method: 'get' - }) + url: "/monitor/job/" + jobId, + method: "get", + }); } // 鏂板瀹氭椂浠诲姟璋冨害 export function addJob(data) { return request({ - url: '/monitor/job', - method: 'post', - data: data - }) + url: "/monitor/job", + method: "post", + data: data, + }); } // 淇敼瀹氭椂浠诲姟璋冨害 export function updateJob(data) { return request({ - url: '/monitor/job', - method: 'put', - data: data - }) + url: "/monitor/job", + method: "put", + data: data, + }); } // 鍒犻櫎瀹氭椂浠诲姟璋冨害 export function delJob(jobId) { return request({ - url: '/monitor/job/' + jobId, - method: 'delete' - }) + url: "/monitor/job/" + jobId, + method: "delete", + }); } // 浠诲姟鐘舵�佷慨鏀� export function changeJobStatus(jobId, status) { const data = { jobId, - status - } + status, + }; return request({ - url: '/monitor/job/changeStatus', - method: 'put', - data: data - }) + url: "/monitor/job/changeStatus", + method: "put", + data: data, + }); } - // 瀹氭椂浠诲姟绔嬪嵆鎵ц涓�娆� export function runJob(jobId, jobGroup) { const data = { jobId, - jobGroup - } + jobGroup, + }; return request({ - url: '/monitor/job/run', - method: 'put', - data: data - }) -} \ No newline at end of file + url: "/monitor/job/run", + method: "put", + data: data, + }); +} diff --git a/src/hooks/useModal.js b/src/hooks/useModal.js new file mode 100644 index 0000000..12d945c --- /dev/null +++ b/src/hooks/useModal.js @@ -0,0 +1,42 @@ +import { ref } from "vue"; +export function useModal(options) { + const id = ref(); + const visible = ref(false); + const loading = ref(false); + const modalOptions = ref({}); + + const openModal = (e) => { + id.value = e; + modalOptions.value = { + title: e ? "缂栬緫璁惧鍙拌处" : "鏂板璁惧鍙拌处", + content: "纭畾鎵ц姝ゆ搷浣滃悧锛�", + confirmText: "纭畾", + cancelText: "鍙栨秷", + ...options, + }; + visible.value = true; + }; + + // 鍏抽棴妯℃�佹 + const closeModal = () => { + visible.value = false; + loading.value = false; + }; + + // 纭鎿嶄綔 + const handleConfirm = async (callback) => { + loading.value = true; + callback(); + closeModal(); + }; + + return { + id, + visible, + loading, + modalOptions, + openModal, + closeModal, + handleConfirm, + }; +} diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue new file mode 100644 index 0000000..f6cc2cb --- /dev/null +++ b/src/views/equipmentManagement/ledger/Form.vue @@ -0,0 +1,137 @@ +<template> + <el-form :model="form" label-width="100px"> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="璁惧鍚嶇О" prop="deviceName"> + <el-input v-model="form.deviceName" placeholder="璇疯緭鍏ヨ澶囧悕绉�" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="瑙勬牸鍨嬪彿" prop="deviceModel"> + <el-input v-model="form.deviceModel" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="渚涘簲鍟�" prop="supplierName"> + <el-input v-model="form.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍗曚綅" prop="unit"> + <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鏁伴噺" prop="number"> + <el-input + v-model="form.number" + placeholder="璇疯緭鍏ユ暟閲�" + type="number" + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍚◣鍗曚环" prop="taxIncludingPriceUnit"> + <el-input + v-model="form.taxIncludingPriceUnit" + placeholder="璇疯緭鍏ュ惈绋庡崟浠�" + type="number" + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍚◣鎬讳环" prop="taxIncludingPriceTotal"> + <el-input + v-model="form.taxIncludingPriceTotal" + placeholder="璇疯緭鍏ュ惈绋庢�讳环" + type="number" + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="绋庣巼" prop="taxRate"> + <el-input + v-model="form.taxRate" + placeholder="璇疯緭鍏ョ◣鐜�" + type="number" + > + <template #append> % </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="涓嶅惈绋庢�讳环" prop="unTaxIncludingPriceTotal"> + <el-input + v-model="form.unTaxIncludingPriceTotal" + placeholder="璇疯緭鍏ヤ笉鍚◣鎬讳环" + type="number" + /> + </el-form-item> + </el-col> + <!-- <el-col :span="12"> + <el-form-item label="褰曞叆浜�" prop="createUser"> + <el-input v-model="form.createUser" placeholder="璇疯緭鍏ュ綍鍏ヤ汉" /> + </el-form-item> + </el-col> --> + <el-col :span="12"> + <el-form-item label="褰曞叆鏃ユ湡" prop="createTime"> + <el-date-picker + style="width: 100%" + v-model="form.createTime" + format="YYYY-MM-DD" + value-format="YYYY-MM-DD HH:mm:ss" + type="date" + placeholder="璇烽�夋嫨褰曞叆鏃ユ湡" + clearable + /> + </el-form-item> + </el-col> + </el-row> + </el-form> +</template> + +<script setup> +import useFormData from "@/hooks/useFormData"; +// import useUserStore from "@/store/modules/user"; +import { getLedgerById } from "@/api/equipmentManagement/ledger"; +import dayjs from "dayjs"; + +defineOptions({ + name: "璁惧鍙拌处琛ㄥ崟", +}); + +const { form, resetForm } = useFormData({ + deviceName: undefined, // 璁惧鍚嶇О + deviceModel: undefined, // 瑙勬牸鍨嬪彿 + supplierName: undefined, // 渚涘簲鍟� + unit: undefined, // 鍗曚綅 + number: undefined, // 鏁伴噺 + taxIncludingPriceUnit: undefined, // 鍚◣鍗曚环 + taxIncludingPriceTotal: undefined, // 鍚◣鎬讳环 + taxRate: undefined, // 绋庣巼 + unTaxIncludingPriceTotal: undefined, // 涓嶅惈绋庢�讳环 + // createUser: useUserStore().nickName, // 褰曞叆浜� + createTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), // 褰曞叆鏃ユ湡 +}); + +const loadForm = async (id) => { + const { code, data } = await getLedgerById(id); + if (code == 200) { + form.deviceName = data.deviceName; + form.deviceModel = data.deviceModel; + form.supplierName = data.supplierName; + form.unit = data.unit; + form.number = data.number; + form.taxIncludingPriceUnit = data.taxIncludingPriceUnit; + form.taxIncludingPriceTotal = data.taxIncludingPriceTotal; + form.taxRate = data.taxRate; + form.unTaxIncludingPriceTotal = data.unTaxIncludingPriceTotal; + form.createTime = data.createTime; + } +}; + +defineExpose({ + form, + loadForm, +}); +</script> diff --git a/src/views/equipmentManagement/ledger/Modal.vue b/src/views/equipmentManagement/ledger/Modal.vue new file mode 100644 index 0000000..c5d34c5 --- /dev/null +++ b/src/views/equipmentManagement/ledger/Modal.vue @@ -0,0 +1,60 @@ +<template> + <el-dialog :title="modalOptions.title" v-model="visible"> + <Form ref="formRef"></Form> + <template #footer> + <el-button @click="closeModal">{{ modalOptions.cancelText }}</el-button> + <el-button type="primary" @click="sendForm" :loading="loading"> + {{ modalOptions.confirmText }} + </el-button> + </template> + </el-dialog> +</template> + +<script setup> +import { useModal } from "@/hooks/useModal"; +import { addLedger, editLedger } from "@/api/equipmentManagement/ledger"; +import Form from "./Form.vue"; +import { ElMessage } from "element-plus"; + +defineOptions({ + name: "璁惧鍙拌处鏂板缂栬緫", +}); + +const emits = defineEmits(["success"]); + +const formRef = ref(); +const { + id, + visible, + loading, + openModal, + modalOptions, + handleConfirm, + closeModal, +} = useModal(); + +const sendForm = async () => { + loading.value = true; + const { code } = id + ? await editLedger({ id: id.value, ...formRef.value.form }) + : await addLedger(formRef.value.form); + if (code == 200) { + emits("success"); + ElMessage({ message: "鎿嶄綔鎴愬姛", type: "success" }); + closeModal(); + } else { + loading.value = false; + } +}; + +const loadForm = async (id) => { + openModal(id); + await nextTick(); + formRef.value.loadForm(id); +}; + +defineExpose({ + openModal, + loadForm, +}); +</script> diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue index 4327e98..590bc01 100644 --- a/src/views/equipmentManagement/ledger/index.vue +++ b/src/views/equipmentManagement/ledger/index.vue @@ -1,6 +1,6 @@ <template> <div class="app-container"> - <el-form :model="filters" :inline="true"> + <!-- <el-form :model="filters" :inline="true"> <el-form-item label="鎼滅储"> <el-input v-model="filters.searchText" @@ -15,35 +15,59 @@ <el-button type="primary" @click="getTableData">鎼滅储</el-button> <el-button @click="resetFilters">閲嶇疆</el-button> </el-form-item> - </el-form> - <PIMTable - :column="columns" - :tableData="dataList" - :page="{ - current: pagination.currentPage, - size: pagination.pageSize, - total: pagination.total, - }" - > - <template #operation> - <el-button type="primary" text>缂栬緫</el-button> - <el-button type="danger" text>鍒犻櫎</el-button> - </template> - </PIMTable> + </el-form> --> + <div class="table_list"> + <div class="actions"> + <div></div> + <div> + <el-button type="primary" @click="add" icon="Plus"> 鏂板 </el-button> + <el-button @click="handleOut" icon="download">瀵煎嚭</el-button> + </div> + </div> + <PIMTable + :column="columns" + :tableData="dataList" + :page="{ + current: pagination.currentPage, + size: pagination.pageSize, + total: pagination.total, + }" + > + <template #operation="{ row }"> + <el-button type="primary" text @click="edit(row.id)" icon="editPen"> + 缂栬緫 + </el-button> + <el-button + type="danger" + text + icon="delete" + @click="deleteRow(row.id)" + > + 鍒犻櫎 + </el-button> + </template> + </PIMTable> + </div> + <Modal ref="modalRef" @success="getTableData"></Modal> </div> </template> <script setup> import { usePaginationApi } from "@/hooks/usePaginationApi"; import { Search } from "@element-plus/icons-vue"; +import { getLedgerPage, delLedger } from "@/api/equipmentManagement/ledger"; +import { onMounted } from "vue"; +import Modal from "./Modal.vue"; +import { ElMessageBox } from "element-plus"; defineOptions({ name: "璁惧鍙拌处", }); +const modalRef = ref(); const { filters, columns, dataList, pagination, getTableData, resetFilters } = usePaginationApi( - () => {}, + getLedgerPage, { searchText: undefined, }, @@ -51,54 +75,123 @@ { label: "璁惧鍚嶇О", align: "center", + prop: "deviceName", }, { label: "瑙勬牸鍨嬪彿", align: "center", + prop: "deviceModel", }, { label: "渚涘簲鍟�", align: "center", + prop: "supplierName", }, { label: "鍗曚綅", align: "center", + prop: "unit", }, { label: "鏁伴噺", align: "center", + prop: "number", }, { label: "鍚◣鍗曚环", align: "center", + prop: "taxIncludingPriceUnit", }, { label: "鍚◣鎬讳环", align: "center", + prop: "taxIncludingPriceTotal", }, { label: "绋庣巼", align: "center", + prop: "taxRate", }, { label: "涓嶅惈绋庢�讳环", align: "center", + prop: "unTaxIncludingPriceTotal", }, { label: "褰曞叆浜�", align: "center", + prop: "createUser", }, { label: "褰曞叆鏃ユ湡", align: "center", + prop: "createTime", }, { + fixed: "right", label: "鎿嶄綔", dataType: "slot", slot: "operation", align: "center", - width: "150px", + width: "200px", }, ] ); + +const add = () => { + modalRef.value.openModal(); +}; +const edit = (id) => { + modalRef.value.loadForm(id); +}; + +const deleteRow = (id) => { + ElMessageBox.confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(async () => { + const { code } = await delLedger(id); + if (code == 200) { + ElMessage({ + type: "success", + message: "鍒犻櫎鎴愬姛", + }); + getTableData(); + } + }); +}; + +const handleOut = () => { + ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", { + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + proxy.download( + `/device/ledger/export?ids=${ids}`, + {}, + "璁惧鍙拌处妗f.xlsx" + ); + }) + .catch(() => { + proxy.$modal.msg("宸插彇娑�"); + }); +}; + +onMounted(() => { + getTableData(); +}); </script> + +<style lang="scss" scoped> +.table_list { + margin-top: unset; +} +.actions { + display: flex; + justify-content: space-between; + margin-bottom: 10px; +} +</style> diff --git a/src/views/inventoryManagement/issueManagement/index.vue b/src/views/inventoryManagement/issueManagement/index.vue index 50b44fd..ef38d41 100644 --- a/src/views/inventoryManagement/issueManagement/index.vue +++ b/src/views/inventoryManagement/issueManagement/index.vue @@ -28,7 +28,7 @@ <el-table-column label="鍏ュ簱鏁伴噺" prop="entryPersonName" width="90" show-overflow-tooltip /> <el-table-column label="鍚◣鍗曚环" prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column label="鍚◣鎬讳环" prop="executionDate" width="100" show-overflow-tooltip /> - <el-table-column label="绋庣巼" prop="executionDate" width="80" show-overflow-tooltip /> + <el-table-column label="绋庣巼(%)" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="涓嶅惈绋庢�讳环" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="鍏ュ簱浜�" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center"> diff --git a/src/views/inventoryManagement/receiptManagement/index.vue b/src/views/inventoryManagement/receiptManagement/index.vue index bfe6200..7d5caec 100644 --- a/src/views/inventoryManagement/receiptManagement/index.vue +++ b/src/views/inventoryManagement/receiptManagement/index.vue @@ -28,7 +28,7 @@ <el-table-column label="鍏ュ簱鏁伴噺" prop="entryPersonName" width="90" show-overflow-tooltip /> <el-table-column label="鍚◣鍗曚环" prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column label="鍚◣鎬讳环" prop="executionDate" width="100" show-overflow-tooltip /> - <el-table-column label="绋庣巼" prop="executionDate" width="80" show-overflow-tooltip /> + <el-table-column label="绋庣巼(%)" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="涓嶅惈绋庢�讳环" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="鍏ュ簱浜�" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center"> diff --git a/src/views/inventoryManagement/stockManagement/index.vue b/src/views/inventoryManagement/stockManagement/index.vue index f128717..cc7df7d 100644 --- a/src/views/inventoryManagement/stockManagement/index.vue +++ b/src/views/inventoryManagement/stockManagement/index.vue @@ -28,7 +28,7 @@ <el-table-column label="鍑哄簱鏁伴噺" prop="entryPersonName" width="100" show-overflow-tooltip /> <el-table-column label="鍚◣鍗曚环" prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column label="鍚◣鎬讳环" prop="executionDate" width="100" show-overflow-tooltip /> - <el-table-column label="绋庣巼" prop="executionDate" width="100" show-overflow-tooltip /> + <el-table-column label="绋庣巼(%)" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="涓嶅惈绋庢�讳环" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="鍏ュ簱浜�" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center"> diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue index d30d2d0..d9c9231 100644 --- a/src/views/procurementManagement/invoiceEntry/index.vue +++ b/src/views/procurementManagement/invoiceEntry/index.vue @@ -11,9 +11,13 @@ clearable prefix-icon="Search" /> - <el-button type="primary" @click="handleQuery" style="margin-left: 10px" - >鎼滅储</el-button + <el-button + type="primary" + @click="handleQuery" + style="margin-left: 10px" > + 鎼滅储 + </el-button> </div> <div> <el-button type="primary" @click="handleAdd">鏂板鐧昏</el-button> @@ -108,6 +112,18 @@ <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" + show-overflow-tooltip + :formatter="formattedNumber" + /> + <el-table-column + label="宸插紑绁ㄩ噾棰�(鍏�)" + prop="receiptPaymentAmount" + show-overflow-tooltip + :formatter="formattedNumber" + /> + <el-table-column + label="寰呭紑绁ㄩ噾棰�(鍏�)" + prop="unReceiptPaymentAmount" show-overflow-tooltip :formatter="formattedNumber" /> @@ -472,10 +488,14 @@ }; // 涓昏〃鍚堣鏂规硶 const summarizeMainTable = (param) => { - return proxy.summarizeTable(param, ["contractAmount"], { - ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁� - futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁� - }); + return proxy.summarizeTable( + param, + ["contractAmount", "receiptPaymentAmount", "unReceiptPaymentAmount"], + { + ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁� + futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁� + } + ); }; // 瀛愯〃鍚堣鏂规硶 const summarizeChildrenTable = (param) => { diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue index 38a305e..59faa6d 100644 --- a/src/views/procurementManagement/paymentEntry/index.vue +++ b/src/views/procurementManagement/paymentEntry/index.vue @@ -184,7 +184,6 @@ <el-col :span="12"> <el-form-item label="浠樻鏃ユ湡锛�" prop="paymentDate"> <el-date-picker - disabled style="width: 100%" v-model="form.paymentDate" value-format="YYYY-MM-DD" diff --git a/src/views/salesManagement/invoiceLedger/index.vue b/src/views/salesManagement/invoiceLedger/index.vue index 98f28f3..7eae9dd 100644 --- a/src/views/salesManagement/invoiceLedger/index.vue +++ b/src/views/salesManagement/invoiceLedger/index.vue @@ -77,7 +77,7 @@ show-overflow-tooltip :formatter="formattedNumber" /> - <el-table-column label="绋庣巼%" prop="taxRate" show-overflow-tooltip /> + <el-table-column label="绋庣巼(%)" prop="taxRate" show-overflow-tooltip /> <el-table-column label="褰曞叆浜�" prop="invoicePerson" diff --git a/src/views/salesManagement/invoiceRegistration/index.vue b/src/views/salesManagement/invoiceRegistration/index.vue index a555b9d..402e93c 100644 --- a/src/views/salesManagement/invoiceRegistration/index.vue +++ b/src/views/salesManagement/invoiceRegistration/index.vue @@ -77,7 +77,7 @@ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" /> <el-table-column label="鍗曚綅" prop="unit" width="70" /> <el-table-column label="鏁伴噺" prop="quantity" width="70" /> - <el-table-column label="绋庣巼" prop="taxRate" width="70" /> + <el-table-column label="绋庣巼(%)" prop="taxRate" width="70" /> <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" @@ -275,7 +275,7 @@ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" /> <el-table-column label="鍗曚綅" prop="unit" /> <el-table-column label="鏁伴噺" prop="quantity" width="70" /> - <el-table-column label="绋庣巼" prop="taxRate" width="70" /> + <el-table-column label="绋庣巼(%)" prop="taxRate" width="70" /> <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" diff --git a/src/views/salesManagement/receiptPayment/index.vue b/src/views/salesManagement/receiptPayment/index.vue index 0ed5d22..f1e4531 100644 --- a/src/views/salesManagement/receiptPayment/index.vue +++ b/src/views/salesManagement/receiptPayment/index.vue @@ -4,22 +4,6 @@ <el-form :inline="true" :model="searchForm" style="width: 100%"> <el-row justify="space-between"> <el-col :span="24"> - <el-form-item label="鍥炴鐧昏"> - <el-input - v-model="searchForm.searchText" - placeholder="杈撳叆瀹㈡埛鍚嶇О/鍚堝悓鍙锋悳绱�" - clearable - prefix-icon="Search" - @change="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-checkbox - v-model="searchForm.status" - label="涓嶆樉绀哄緟鍥炴涓�0" - @change="handleQuery" - /> - </el-form-item> <el-form-item label="瀹㈡埛鍚嶇О"> <el-input v-model="searchForm.customerName" @@ -45,6 +29,13 @@ @change="handleQuery" clearable prefix-icon="Search" + /> + </el-form-item> + <el-form-item> + <el-checkbox + v-model="searchForm.status" + label="涓嶆樉绀哄緟鍥炴涓�0" + @change="handleQuery" /> </el-form-item> <el-form-item> @@ -186,7 +177,7 @@ show-overflow-tooltip :formatter="formattedNumber" /> - <el-table-column label="绋庣巼" prop="taxRate" show-overflow-tooltip /> + <el-table-column label="绋庣巼(%)" prop="taxRate" show-overflow-tooltip /> <el-table-column label="鍥炴閲戦(鍏�)" prop="receiptPaymentAmountTotal" @@ -582,7 +573,12 @@ type: "warning", }) .then(() => { - proxy.download("/receiptPayment/export", {}, "鍥炴鐧昏妗f.xlsx"); + const ids = selectedRows.value.map((item) => item.id); + proxy.download( + `/receiptPayment/export`, + { ids: `${ids}` }, + "鍥炴鐧昏妗f.xlsx" + ); }) .catch(() => { proxy.$modal.msg("宸插彇娑�"); -- Gitblit v1.9.3