From 70ecfcddb4a414e58cdde6dcb8246b7b80ed9ed8 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期三, 23 七月 2025 14:14:09 +0800 Subject: [PATCH] yys 人事,质量,设备增加时间筛选 --- src/views/equipmentManagement/ledger/index.vue | 236 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 159 insertions(+), 77 deletions(-) diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue index 1582f96..ba17f7e 100644 --- a/src/views/equipmentManagement/ledger/index.vue +++ b/src/views/equipmentManagement/ledger/index.vue @@ -1,30 +1,74 @@ <template> <div class="app-container"> - <!-- <el-form :model="filters" :inline="true"> - <el-form-item label="鎼滅储"> + <el-form :model="filters" :inline="true"> + <el-form-item label="璁惧鍚嶇О"> <el-input - v-model="filters.searchText" + v-model="filters.deviceName" style="width: 240px" - placeholder="璇疯緭鍏�" + placeholder="璇疯緭鍏ヨ澶囧悕绉�" clearable :prefix-icon="Search" @change="getTableData" /> </el-form-item> + <el-form-item label="瑙勬牸鍨嬪彿"> + <el-input + v-model="filters.deviceModel" + style="width: 240px" + placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" + clearable + :prefix-icon="Search" + @change="getTableData" + /> + </el-form-item> + <el-form-item label="渚涘簲鍟�"> + <el-input + v-model="filters.supplierName" + style="width: 240px" + placeholder="璇疯緭鍏ヤ緵搴斿晢" + clearable + :prefix-icon="Search" + @change="getTableData" + /> + </el-form-item> + <el-form-item label="鍗曚綅"> + <el-input + v-model="filters.unit" + style="width: 240px" + placeholder="璇疯緭鍏ュ崟浣�" + clearable + :prefix-icon="Search" + @change="getTableData" + /> + </el-form-item> + <el-form-item label="褰曞叆鏃ユ湡:"> + <el-date-picker v-model="filters.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange" + placeholder="璇烽�夋嫨" clearable @change="changeDaterange" /> + </el-form-item> <el-form-item> <el-button type="primary" @click="getTableData">鎼滅储</el-button> <el-button @click="resetFilters">閲嶇疆</el-button> </el-form-item> - </el-form> --> + </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> + <el-button + type="danger" + icon="Delete" + :disabled="multipleList.length <= 0" + @click="deleteRow(multipleList.map((item) => item.id))" + > + 鎵归噺鍒犻櫎 + </el-button> </div> </div> <PIMTable + rowKey="id" + isSelection :column="columns" :tableData="dataList" :page="{ @@ -32,6 +76,8 @@ size: pagination.pageSize, total: pagination.total, }" + @selection-change="handleSelectionChange" + @pagination="changePage" > <template #operation="{ row }"> <el-button type="primary" text @click="edit(row.id)" icon="editPen"> @@ -54,90 +100,105 @@ <script setup> import { usePaginationApi } from "@/hooks/usePaginationApi"; -import { Search } from "@element-plus/icons-vue"; +// import { Search } from "@element-plus/icons-vue"; import { getLedgerPage, delLedger } from "@/api/equipmentManagement/ledger"; import { onMounted, getCurrentInstance } from "vue"; import Modal from "./Modal.vue"; import { ElMessageBox, ElMessage } from "element-plus"; +import dayjs from "dayjs"; defineOptions({ name: "璁惧鍙拌处", }); +// 琛ㄦ牸澶氶�夋閫変腑椤� +const multipleList = ref([]); const { proxy } = getCurrentInstance(); const modalRef = ref(); -const { filters, columns, dataList, pagination, getTableData, resetFilters } = - usePaginationApi( - getLedgerPage, +const { + filters, + columns, + dataList, + pagination, + getTableData, + resetFilters, + onCurrentChange, +} = usePaginationApi( + getLedgerPage, + { + searchText: undefined, + }, + [ { - searchText: undefined, + label: "璁惧鍚嶇О", + align: "center", + prop: "deviceName", }, - [ - { - 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: "200px", - }, - ] - ); + { + 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: "200px", + }, + ] +); + +// 澶氶�夊悗鍋氫粈涔� +const handleSelectionChange = (selectionList) => { + multipleList.value = selectionList; +}; const add = () => { modalRef.value.openModal(); @@ -145,7 +206,11 @@ const edit = (id) => { modalRef.value.loadForm(id); }; - +const changePage = ({ page, limit }) => { + pagination.currentPage = page; + pagination.pageSize = limit; + onCurrentChange(page); +}; const deleteRow = (id) => { ElMessageBox.confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", { confirmButtonText: "纭畾", @@ -163,6 +228,17 @@ }); }; +const changeDaterange = (value) => { + if (value) { + filters.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD"); + filters.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD"); + } else { + filters.entryDateStart = undefined; + filters.entryDateEnd = undefined; + } + getTableData(); +}; + const handleOut = () => { ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", { confirmButtonText: "纭", @@ -178,6 +254,12 @@ }; onMounted(() => { + filters.entryDate = [ + dayjs().format("YYYY-MM-DD"), + dayjs().add(1, "day").format("YYYY-MM-DD"), + ] + filters.entryDateStart = dayjs().format("YYYY-MM-DD") + filters.entryDateEnd = dayjs().add(1, "day").format("YYYY-MM-DD") getTableData(); }); </script> -- Gitblit v1.9.3