| | |
| | | <script setup>
|
| | | import {getCurrentInstance, ref, computed, reactive, defineProps, nextTick} from 'vue';
|
| | | import { getCurrentInstance, ref, computed, reactive, defineProps, nextTick } from 'vue';
|
| | | import { useRouter } from "vue-router";
|
| | | import { get, post, postBlob, postForm } from '@/utils/request.js'
|
| | | import { message, Modal } from 'ant-design-vue';
|
| | |
| | | UploadOutlined,
|
| | | DownloadOutlined,
|
| | | } from "@ant-design/icons-vue";
|
| | | import { filters } from 'pixi.js';
|
| | | const context = getCurrentInstance()?.appContext.config.globalProperties;
|
| | |
|
| | | const router = useRouter();
|
| | |
|
| | | const orderBy = ref({});
|
| | | const order = ref("")
|
| | | const props = defineProps({
|
| | | ioModel: null
|
| | | })
|
| | |
| | | dataIndex: 'orderTime',
|
| | | width: 180,
|
| | | ellipsis: true,
|
| | | sorter: true,
|
| | | ...getColumnSearchProps('orderTime'),
|
| | | },
|
| | | {
|
| | |
| | | state.selectedRowKeys = [];
|
| | | }, 1000);
|
| | | };
|
| | |
|
| | | const onSelectChange = selectedRowKeys => {
|
| | | // console.log('selectedRowKeys changed: ', selectedRowKeys);
|
| | | state.selectedRowKeys = selectedRowKeys;
|
| | | };
|
| | |
|
| | | const handleTableChange = (pagination, filters, sorter) => {
|
| | | if (sorter != null) {
|
| | | if (sorter?.order == "ascend") {
|
| | | orderBy.__v_raw = { order: "asc", field: sorter.field }
|
| | | } else if (sorter?.order == "descend") {
|
| | | orderBy.__v_raw = { order: "desc", field: sorter.field }
|
| | | }
|
| | | }
|
| | |
|
| | | getPage()
|
| | | }
|
| | |
|
| | | function getPage() {
|
| | | state.loading = true;
|
| | |
|
| | | let apiUrl = '/api/order/page';
|
| | | if (props.ioModel == 'in') {
|
| | | apiUrl = '/api/order/in/page';
|
| | |
| | | }
|
| | |
|
| | | post(apiUrl, {
|
| | | orderBy: orderBy?.__v_raw,
|
| | | current: currentPage,
|
| | | pageSize: pageSize,
|
| | | condition: searchInput.value,
|
| | |
| | | };
|
| | |
|
| | | const onSearch = () => {
|
| | | currentPage = 1;
|
| | | currentPage = 1;
|
| | |
|
| | | getPage()
|
| | | }
|
| | |
| | | <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 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 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', '请输入')"
|
| | |
| | | </div>
|
| | | <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 }"
|
| | | @change="handleTableChange" :pagination="{ total: tableData.total, onChange: onPageChange }"
|
| | | :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;">
|
| | | <a-button type="link" primary @click="showDetl(record)">{{ formatMessage('page.order.orderDetl', '订单明细')
|
| | | }}</a-button>
|
| | | }}</a-button>
|
| | | <a-button type="link" primary @click="handlePrint(record)">{{ formatMessage('page.order.orderDetl',
|
| | | '打印订单')
|
| | | }}</a-button>
|
| | | '打印订单')
|
| | | }}</a-button>
|
| | | <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '编辑') }}</a-button>
|
| | | <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '删除')
|
| | | }}</a-button>
|
| | | }}</a-button>
|
| | | </div>
|
| | | </template>
|
| | | </template>
|