From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 14 二月 2025 10:08:32 +0800 Subject: [PATCH] # --- zy-asrs-admin/src/views/base/loc/index.vue | 238 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 144 insertions(+), 94 deletions(-) diff --git a/zy-asrs-admin/src/views/base/loc/index.vue b/zy-asrs-admin/src/views/base/loc/index.vue index 436defd..e3cb67b 100644 --- a/zy-asrs-admin/src/views/base/loc/index.vue +++ b/zy-asrs-admin/src/views/base/loc/index.vue @@ -6,6 +6,7 @@ import { logout } from '@/config.js'; import EditView from './edit.vue' import { formatMessage } from '@/utils/localeUtils.js'; +import useTableSearch from '@/utils/tableUtils.jsx'; const context = getCurrentInstance()?.appContext.config.globalProperties; const router = useRouter(); @@ -14,96 +15,127 @@ let currentPage = 1; let pageSize = 10; const searchInput = ref("") +const searchParam = ref({ + locNo: null, + row1: null, + bay1: null, + lev1: null, + barcode: null, +}) const editChild = ref(null) + +const state = reactive({ + selectedRowKeys: [], + loading: false, +}); let tableData = ref([]); getPage(); +const { + getColumnSearchProps, + handleResizeColumn, +} = useTableSearch(); + const columns = [ - { - title: formatMessage('db.man_loc.loc_no', '搴撲綅鍙�'), - dataIndex: 'locNo', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.loc_sts_id', '搴撲綅鐘舵��'), - dataIndex: 'locStsId$', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.row1', '鎺�'), - dataIndex: 'row1', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.bay1', '鍒�'), - dataIndex: 'bay1', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.lev1', '灞�'), - dataIndex: 'lev1', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.barcode', '鏉$爜'), - dataIndex: 'barcode', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.uuid', '缂栧彿'), - dataIndex: 'uuid', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.flag', '鏍囪瘑'), - dataIndex: 'flag', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.status', '鐘舵��'), - dataIndex: 'status$', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.create_time', '娣诲姞鏃堕棿'), - dataIndex: 'createTime$', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.create_by', '娣诲姞浜哄憳'), - dataIndex: 'createBy$', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.update_time', '淇敼鏃堕棿'), - dataIndex: 'updateTime$', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.update_by', '淇敼浜哄憳'), - dataIndex: 'updateBy$', - width: 140, - ellipsis: true, - }, - { - title: formatMessage('db.man_loc.memo', '澶囨敞'), - dataIndex: 'memo', - width: 140, - ellipsis: true, - }, + { + title: formatMessage('db.man_loc.loc_no', '搴撲綅鍙�'), + dataIndex: 'locNo', + width: 140, + ellipsis: true, + ...getColumnSearchProps('locNo'), + }, + { + title: formatMessage('db.man_loc.loc_sts_id', '搴撲綅鐘舵��'), + dataIndex: 'locStsId$', + width: 140, + ellipsis: true, + ...getColumnSearchProps('locStsId$'), + }, + { + title: formatMessage('db.man_loc.row1', '鎺�'), + dataIndex: 'row1', + width: 140, + ellipsis: true, + ...getColumnSearchProps('row1'), + }, + { + title: formatMessage('db.man_loc.bay1', '鍒�'), + dataIndex: 'bay1', + width: 140, + ellipsis: true, + ...getColumnSearchProps('bay1'), + }, + { + title: formatMessage('db.man_loc.lev1', '灞�'), + dataIndex: 'lev1', + width: 140, + ellipsis: true, + ...getColumnSearchProps('lev1'), + }, + { + title: formatMessage('db.man_loc.barcode', '鏉$爜'), + dataIndex: 'barcode', + width: 140, + ellipsis: true, + ...getColumnSearchProps('barcode'), + }, + { + title: formatMessage('db.man_loc.uuid', '缂栧彿'), + dataIndex: 'uuid', + width: 140, + ellipsis: true, + ...getColumnSearchProps('uuid'), + }, + { + title: formatMessage('db.man_loc.flag', '鏍囪瘑'), + dataIndex: 'flag', + width: 140, + ellipsis: true, + ...getColumnSearchProps('flag'), + }, + { + title: formatMessage('db.man_loc.status', '鐘舵��'), + dataIndex: 'status$', + width: 140, + ellipsis: true, + ...getColumnSearchProps('status$'), + }, + { + title: formatMessage('db.man_loc.create_time', '娣诲姞鏃堕棿'), + dataIndex: 'createTime$', + width: 140, + ellipsis: true, + ...getColumnSearchProps('createTime$'), + }, + { + title: formatMessage('db.man_loc.create_by', '娣诲姞浜哄憳'), + dataIndex: 'createBy$', + width: 140, + ellipsis: true, + ...getColumnSearchProps('createBy$'), + }, + { + title: formatMessage('db.man_loc.update_time', '淇敼鏃堕棿'), + dataIndex: 'updateTime$', + width: 140, + ellipsis: true, + ...getColumnSearchProps('updateTime$'), + }, + { + title: formatMessage('db.man_loc.update_by', '淇敼浜哄憳'), + dataIndex: 'updateBy$', + width: 140, + ellipsis: true, + ...getColumnSearchProps('updateBy$'), + }, + { + title: formatMessage('db.man_loc.memo', '澶囨敞'), + dataIndex: 'memo', + width: 140, + ellipsis: true, + ...getColumnSearchProps('memo'), + }, { title: formatMessage('common.operation', '鎿嶄綔'), @@ -114,10 +146,7 @@ }, ]; -const state = reactive({ - selectedRowKeys: [], - loading: false, -}); + const hasSelected = computed(() => state.selectedRowKeys.length > 0); const start = () => { state.loading = true; @@ -133,15 +162,19 @@ }; function getPage() { + state.loading = true; post('/api/loc/page', { current: currentPage, pageSize: pageSize, - condition: searchInput.value + condition: searchInput.value, + _param: searchParam.value, }).then((resp) => { let result = resp.data; if (result.code == 200) { let data = result.data; tableData.value = data; + + state.loading = false; } else if (result.code === 401) { message.error(result.msg); logout() @@ -183,7 +216,10 @@ } const handleExport = async (intl) => { - postBlob('/api/loc/export', {}).then(result => { + postBlob('/api/loc/export', { + condition: searchInput.value, + _param: searchParam.value, + }).then(result => { const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' }); window.location.href = window.URL.createObjectURL(blob); return true; @@ -209,7 +245,7 @@ <script> export default { - name: '搴撲綅' + name: '搴撲綅绠$悊' } </script> @@ -217,8 +253,21 @@ <div> <EditView ref="editChild" @tableReload="handleTableReload" /> <div class="table-header"> - <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')" - style="width: 200px;" @search="onSearch" /> + <div> + <a-input v-model:value="searchParam.locNo" :placeholder="formatMessage('page.loc.locNo.input', '璇疯緭鍏ュ簱浣嶅彿')" + style="width: 140px;margin-right: 10px;" /> + <a-input v-model:value="searchParam.row1" :placeholder="formatMessage('page.loc.row1.input', '璇疯緭鍏ユ帓')" + style="width: 140px;margin-right: 10px;" /> + <a-input v-model:value="searchParam.bay1" :placeholder="formatMessage('page.loc.bay1.input', '璇疯緭鍏ュ垪')" + style="width: 140px;margin-right: 10px;" /> + <a-input v-model:value="searchParam.lev1" :placeholder="formatMessage('page.loc.lev1.input', '璇疯緭鍏ュ眰')" + style="width: 140px;margin-right: 10px;" /> + <a-input v-model:value="searchParam.barcode" :placeholder="formatMessage('page.loc.barcode.input', '璇疯緭鍏ユ潯鐮�')" + style="width: 140px;margin-right: 10px;" /> + + <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')" + style="width: 200px;" @search="onSearch" /> + </div> <div class="table-header-right"> <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button> <a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button> @@ -227,7 +276,8 @@ <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }" :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id" :pagination="{ total: tableData.total, onChange: onPageChange }" - :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns"> + :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" + :loading="state.loading"> <template #bodyCell="{ column, text, record }"> <template v-if="column.dataIndex === 'oper'"> <div style="display: flex;justify-content: space-evenly;"> -- Gitblit v1.9.1