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/components/orderLog/index.vue | 67 +++++++++++++++++++++++++++++---- 1 files changed, 58 insertions(+), 9 deletions(-) diff --git a/zy-asrs-admin/src/components/orderLog/index.vue b/zy-asrs-admin/src/components/orderLog/index.vue index a19313f..8bd0a0e 100644 --- a/zy-asrs-admin/src/components/orderLog/index.vue +++ b/zy-asrs-admin/src/components/orderLog/index.vue @@ -1,7 +1,7 @@ <script setup> import { getCurrentInstance, ref, computed, reactive, defineProps } from 'vue'; import { useRouter } from "vue-router"; -import { get, post, postBlob } from '@/utils/request.js' +import { get, post, postBlob, postForm } from '@/utils/request.js' import { message, Modal } from 'ant-design-vue'; import { logout } from '@/config.js'; import EditView from './edit.vue' @@ -20,8 +20,18 @@ let currentPage = 1; let pageSize = 10; const searchInput = ref("") +const searchParam = ref({ + orderNo: null, + orderType: null, + orderSettle: null, +}) const editChild = ref(null) const showOrderDetlChild = ref(null) + +const state = reactive({ + selectedRowKeys: [], + loading: false, +}); let tableData = ref([]); getPage(); @@ -112,10 +122,7 @@ }, ]; -const state = reactive({ - selectedRowKeys: [], - loading: false, -}); + const hasSelected = computed(() => state.selectedRowKeys.length > 0); const start = () => { state.loading = true; @@ -131,15 +138,20 @@ }; function getPage() { + state.loading = true; + post(props.ioModel == 'in' ? '/api/orderLog/in/page' : '/api/orderLog/out/page', { current: currentPage, pageSize: pageSize, 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() @@ -187,7 +199,9 @@ const handleExport = async (intl) => { postBlob('/api/orderLog/export', { - ioModel: props.ioModel + ioModel: props.ioModel, + 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); @@ -210,6 +224,25 @@ getPage() } +const orderTypeQueryList = ref(null); +orderTypeQuery(); +function orderTypeQuery() { + postForm('/api/orderType/query', { + type: 1 + }).then(resp => { + let result = resp.data; + orderTypeQueryList.value = result.data; + }) +} +const orderSettleQueryList = ref(null); +orderSettleQuery(); +function orderSettleQuery() { + postForm('/api/orderSettle/query', {}).then(resp => { + let result = resp.data; + orderSettleQueryList.value = result.data; + }) +} + </script> <script> @@ -222,8 +255,23 @@ <div> <EditView ref="editChild" @tableReload="handleTableReload" :ioModel="ioModel == 'in' ? 1 : 2" /> <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.orderNo" :placeholder="formatMessage('page.order.orderNo.input', '璇疯緭鍏ヨ鍗曠紪鍙�')" + style="width: 140px;margin-right: 10px;" /> + <a-select v-model:value="searchParam.orderSettle" + :placeholder="formatMessage('page.order.orderSettle.select', '璇烽�夋嫨鍗曟嵁鐘舵��')" + style="width: 140px;margin-right: 10px;" show-search allowClear :options="orderSettleQueryList" + optionFilterProp="label" optionLabelProp="label"> + </a-select> + <a-select v-model:value="searchParam.orderType" + :placeholder="formatMessage('page.order.orderType.select', '璇烽�夋嫨鍗曟嵁绫诲瀷')" + style="width: 140px;margin-right: 10px;" show-search allowClear :options="orderTypeQueryList" + optionFilterProp="label" optionLabelProp="label"> + </a-select> + + <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> @@ -232,7 +280,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" @resizeColumn="handleResizeColumn"> + :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