skyouc
2025-08-09 1e65e680519a32480219e1866baa245df1a8fd17
zy-asrs-admin/src/components/order/order/orderOut.vue
@@ -1,5 +1,5 @@
<script setup>
import { getCurrentInstance, ref, computed, reactive, defineProps } 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';
@@ -8,6 +8,7 @@
import { formatMessage } from '@/utils/localeUtils.js';
import useTableSearch from '@/utils/tableUtils.jsx';
import ShowOrderDetlComponent from '@/components/orderDetl/show.vue';
import OrderPrint from '@/components/print/orderPrint/index.vue'
import {
    DownOutlined,
    UploadOutlined,
@@ -52,16 +53,16 @@
    {
        title: formatMessage('db.man_order.order_no', '订单编号'),
        dataIndex: 'orderNo',
        width: 140,
        width: 160,
        ellipsis: true,
        ...getColumnSearchProps('orderNo'),
    },
    {
        title: formatMessage('db.man_order.order_time', '单据日期'),
        dataIndex: 'orderTime',
        width: 140,
        title: formatMessage('db.man_order.wave_no', '波次编号'),
        dataIndex: 'waveNo',
        width: 160,
        ellipsis: true,
        ...getColumnSearchProps('orderTime'),
        ...getColumnSearchProps('waveNo'),
    },
    {
        title: formatMessage('db.man_order.order_type', '单据类型'),
@@ -78,25 +79,46 @@
        ...getColumnSearchProps('orderSettle$'),
    },
    {
        title: formatMessage('db.man_order.order_settle', '客户名称'),
        dataIndex: 'customer',
        width: 140,
        ellipsis: true,
        ...getColumnSearchProps('customer'),
    },
    {
        title: formatMessage('db.man_order.order_settle', '电话'),
        dataIndex: 'phone',
        width: 140,
        ellipsis: true,
        ...getColumnSearchProps('phone'),
    },
    {
        title: formatMessage('db.man_order.order_settle', '地址'),
        dataIndex: 'address',
        width: 140,
        ellipsis: true,
        ...getColumnSearchProps('address'),
    },
    {
        title: formatMessage('db.man_order.ioPri', '优先级'),
        dataIndex: 'ioPri',
        width: 140,
        width: 100,
        ellipsis: true,
        ...getColumnSearchProps('ioPri'),
    },
    {
        title: formatMessage('db.man_order.wave_no', '波次编号'),
        dataIndex: 'waveNo',
        width: 140,
        ellipsis: true,
        ...getColumnSearchProps('waveNo'),
    },
    {
        title: formatMessage('db.man_order.status', '状态'),
        dataIndex: 'status$',
        width: 140,
        width: 80,
        ellipsis: true,
        ...getColumnSearchProps('status$'),
    },
    {
        title: formatMessage('db.man_order.order_time', '单据日期'),
        dataIndex: 'orderTime',
        width: 160,
        ellipsis: true,
        ...getColumnSearchProps('orderTime'),
    },
    {
        title: formatMessage('db.man_order.create_time', '添加时间'),
@@ -133,13 +155,12 @@
        ellipsis: true,
        ...getColumnSearchProps('memo'),
    },
    {
        title: formatMessage('common.operation', '操作'),
        name: 'oper',
        dataIndex: 'oper',
        key: 'oper',
        width: 240,
        width: 350,
        fixed: 'right',
    },
];
@@ -160,7 +181,6 @@
function getPage() {
    state.loading = true;
    let apiUrl = '/api/order/page';
    if (props.ioModel == 'in') {
        apiUrl = '/api/order/in/page';
@@ -194,6 +214,31 @@
    editChild.value.formData = item == null ? editChild.value.initFormData : JSON.parse(JSON.stringify(item));
    editChild.value.isSave = item == null;
}
// const handleDone = (item) => {
//         Modal.confirm({
//         title: formatMessage('page.delete', '完结'),
//         content: formatMessage('page.delete.confirm', '确定完成该项吗?'),
//         maskClosable: true,
//         onOk: async () => {
//             const hide = message.loading(formatMessage('common.loading', '请求中'));
//             try {
//                 post('/api/order/done/' + rows.map((row) => row.id).join(','), {}).then(resp => {
//                     let result = resp.data;
//                     if (result.code === 200) {
//                         message.success(result.msg);
//                     } else {
//                         message.error(result.msg);
//                     }
//                     getPage()
//                     hide()
//                 })
//             } catch (error) {
//                 message.error(formatMessage('common.fail', '请求失败'));
//             }
//         },
//     });
// }
const handleDel = (rows) => {
    Modal.confirm({
@@ -237,8 +282,31 @@
    })
};
const printChild = ref(null);
// 打印订单
const handlePrint = async (record) => {
    let printData = [];
    const resp = await get("/api/orderDetl/orderId/" + record.__v_raw.id, {});
    const result = resp.data;
    result.data.forEach((item) => {
        let newItem = {};
        newItem.matnr = item.mat$.matnr
        newItem.maktx = item.mat$.maktx
        newItem.specs = item.mat$.specs
        newItem.batch = item.batch
        newItem.anfme = item.anfme
        newItem.wareType$ = item.wareType$
        printData.push(newItem)
    })
    printChild.value.printData = printData;
    printChild.value.data = record.__v_raw;
    printChild.value.orderNo = record.__v_raw.orderNo
    printChild.value.open = true;
}
const onSearch = () => {
    // console.log('search');
    currentPage = 1;
    getPage()
}
@@ -389,7 +457,6 @@
                        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>
@@ -440,19 +507,24 @@
                    <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 type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '编辑')
                            }}</a-button>
                        <!-- <a-button type="link" primary @click="handleDone(record)">{{ formatMessage('page.edit', '完结')
                            }}</a-button> -->
                        <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '删除')
                            }}</a-button>
                    </div>
                </template>
            </template>
        </a-table>
        <ShowOrderDetlComponent ref="showOrderDetlChild" />
    </div>
    <OrderPrint ref="printChild" />
</template>
<style></style>