From c7b4b9a2f4c0f05aeb60a9e3f5fba5d9a3676f3f Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期一, 18 八月 2025 16:22:42 +0800 Subject: [PATCH] 中强恒兴设备管理页面添加 --- src/views/equipmentManagement/ledger/index.vue | 96 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 74 insertions(+), 22 deletions(-) diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue index ba17f7e..331cb37 100644 --- a/src/views/equipmentManagement/ledger/index.vue +++ b/src/views/equipmentManagement/ledger/index.vue @@ -79,22 +79,17 @@ @selection-change="handleSelectionChange" @pagination="changePage" > - <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> + <el-dialog v-model="qrDialogVisible" title="浜岀淮鐮�" width="300px"> + <div style="text-align:center;"> + <img :src="qrCodeUrl" alt="浜岀淮鐮�" style="width:200px;height:200px;" /> + <div style="margin:10px 0;"> + <el-button type="primary" @click="downloadQRCode">涓嬭浇浜岀淮鐮佸浘鐗�</el-button> + </div> + </div> + </el-dialog> </div> </template> @@ -106,6 +101,8 @@ import Modal from "./Modal.vue"; import { ElMessageBox, ElMessage } from "element-plus"; import dayjs from "dayjs"; +import QRCode from "qrcode"; +import { ref } from "vue"; defineOptions({ name: "璁惧鍙拌处", @@ -115,6 +112,10 @@ const multipleList = ref([]); const { proxy } = getCurrentInstance(); const modalRef = ref(); +const qrDialogVisible = ref(false); +const qrCodeUrl = ref(""); +const qrRowData = ref(null); + const { filters, columns, @@ -126,7 +127,12 @@ } = usePaginationApi( getLedgerPage, { - searchText: undefined, + deviceName: undefined, + deviceModel: undefined, + supplierName: undefined, + unit: undefined, + entryDateStart: undefined, + entryDateEnd: undefined, }, [ { @@ -140,6 +146,11 @@ prop: "deviceModel", }, { + label: "璁惧鍝佺墝", + align: "center", + prop: "deviceBrand", + }, + { label: "渚涘簲鍟�", align: "center", prop: "supplierName", @@ -148,6 +159,11 @@ label: "鍗曚綅", align: "center", prop: "unit", + }, + { + label: "瀛樻斁浣嶇疆", + align: "center", + prop: "storageLocation", }, { label: "鏁伴噺", @@ -175,6 +191,12 @@ prop: "unTaxIncludingPriceTotal", }, { + label: "鍚敤鎶樻棫", + align: "center", + prop: "enableDepreciation", + formatData: (v) => (v ? "鏄�" : "鍚�"), + }, + { label: "褰曞叆浜�", align: "center", prop: "createUser", @@ -184,14 +206,29 @@ align: "center", prop: "createTime", }, - { - fixed: "right", - label: "鎿嶄綔", - dataType: "slot", - slot: "operation", - align: "center", - width: "200px", - }, + { + dataType: "action", + label: "鎿嶄綔", + align: "center", + fixed: 'right', + width: 140, + operation: [ + { + name: "缂栬緫", + type: "text", + clickFun: (row) => { + edit(row.id) + }, + }, + { + name: "鐢熸垚浜岀淮鐮�", + type: "text", + clickFun: (row) => { + showQRCode(row) + }, + }, + ], + }, ] ); @@ -253,6 +290,21 @@ }); }; +const showQRCode = async (row) => { + // 浣犲彲浠ヨ嚜瀹氫箟浜岀淮鐮佸唴瀹癸紝姣斿 row.id 鎴� row.deviceName + const qrContent = JSON.stringify(row); // 鎴� `${row.id}` + qrCodeUrl.value = await QRCode.toDataURL(qrContent); + qrRowData.value = row; + qrDialogVisible.value = true; +}; + +const downloadQRCode = () => { + const a = document.createElement("a"); + a.href = qrCodeUrl.value; + a.download = `${qrRowData.value.deviceName || "浜岀淮鐮�"}.png`; + a.click(); +}; + onMounted(() => { filters.entryDate = [ dayjs().format("YYYY-MM-DD"), -- Gitblit v1.9.3