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, 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';
@@ -79,6 +79,27 @@
        ...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: 100,
@@ -134,13 +155,12 @@
        ellipsis: true,
        ...getColumnSearchProps('memo'),
    },
    {
        title: formatMessage('common.operation', '操作'),
        name: 'oper',
        dataIndex: 'oper',
        key: 'oper',
        width: 240,
        width: 350,
        fixed: 'right',
    },
];
@@ -161,7 +181,6 @@
function getPage() {
    state.loading = true;
    let apiUrl = '/api/order/page';
    if (props.ioModel == 'in') {
        apiUrl = '/api/order/in/page';
@@ -195,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({
@@ -241,25 +285,28 @@
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
    printData.push(newItem)
  })
  printChild.value.printData = printData;
  printChild.value.orderNo = record.__v_raw.orderNo
  printChild.value.open = true;
    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()
}
@@ -458,14 +505,17 @@
            <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 type="link" primary @click="showDetl(record)">{{ formatMessage('page.order.orderDetl',
                            '订单明细')
                        }}</a-button>
                      <a-button type="link" primary @click="handlePrint(record)">{{ formatMessage('page.order.orderDetl',
                          '打印订单')
                        <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>
@@ -474,7 +524,7 @@
        </a-table>
        <ShowOrderDetlComponent ref="showOrderDetlChild" />
    </div>
  <OrderPrint ref="printChild" />
    <OrderPrint ref="printChild" />
</template>
<style></style>