From 9bb2e38751eda3271844d6b2b27231d0d98ebd6c Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 09 八月 2025 16:18:21 +0800
Subject: [PATCH] 8月8号问题修复
---
zy-asrs-admin/src/components/print/orderPrint/template/template1.vue | 6 +
zy-asrs-admin/src/components/order/order/orderIn.vue | 48 +++++++++++-----
zy-asrs-admin/src/components/order/order/orderOut.vue | 38 +++++++++++-
zy-asrs-admin/src/views/loc/locDetl/index.vue | 38 ++++++++++--
4 files changed, 100 insertions(+), 30 deletions(-)
diff --git a/zy-asrs-admin/src/components/order/order/orderIn.vue b/zy-asrs-admin/src/components/order/order/orderIn.vue
index c8fd6d6..d93b74e 100644
--- a/zy-asrs-admin/src/components/order/order/orderIn.vue
+++ b/zy-asrs-admin/src/components/order/order/orderIn.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';
@@ -14,10 +14,12 @@
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
})
@@ -60,6 +62,7 @@
dataIndex: 'orderTime',
width: 180,
ellipsis: true,
+ sorter: true,
...getColumnSearchProps('orderTime'),
},
{
@@ -145,14 +148,26 @@
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';
@@ -161,6 +176,7 @@
}
post(apiUrl, {
+ orderBy: orderBy?.__v_raw,
current: currentPage,
pageSize: pageSize,
condition: searchInput.value,
@@ -254,7 +270,7 @@
};
const onSearch = () => {
- currentPage = 1;
+ currentPage = 1;
getPage()
}
@@ -343,13 +359,15 @@
<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', '璇疯緭鍏�')"
@@ -386,20 +404,20 @@
</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>
diff --git a/zy-asrs-admin/src/components/order/order/orderOut.vue b/zy-asrs-admin/src/components/order/order/orderOut.vue
index 2551e97..da6dec3 100644
--- a/zy-asrs-admin/src/components/order/order/orderOut.vue
+++ b/zy-asrs-admin/src/components/order/order/orderOut.vue
@@ -215,6 +215,31 @@
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({
title: formatMessage('page.delete', '鍒犻櫎'),
@@ -270,6 +295,7 @@
newItem.specs = item.mat$.specs
newItem.batch = item.batch
newItem.anfme = item.anfme
+ newItem.wareType$ = item.wareType$
printData.push(newItem)
})
printChild.value.printData = printData;
@@ -438,7 +464,7 @@
<a-select v-model:value="channel" :options="channelList" mode="multiple"
style="width: 100px;"></a-select>
<a-button @click="handleGenerateWave()">{{ formatMessage('common.generateWave', '鐢熸垚娉㈡')
- }}</a-button>
+ }}</a-button>
</div>
</div>
@@ -481,15 +507,17 @@
<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>
+ <!-- <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>
+ }}</a-button>
</div>
</template>
</template>
diff --git a/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue b/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
index b788655..720b004 100644
--- a/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
+++ b/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
@@ -62,18 +62,20 @@
<td align="center" colspan="1">搴忓彿</td>
<td align="center" colspan="2">鍟嗗搧缂栧彿</td>
<td align="center" colspan="3">鍟嗗搧鍚嶇О</td>
- <td align="center" colspan="2">鎵规</td>
+ <td align="center" :colspan="inModel == 'in' ? '2' : '1'">鎵规</td>
<td align="center" colspan="2">瑙勬牸</td>
<td align="center" colspan="1">鏁伴噺 </td>
+ <td align="center" colspan="1" v-if="inModel != 'in'">浠撳簱绫诲瀷 </td>
</tr>
<template v-for="(item, index) in list" :key="index">
<tr style="height: 40px">
<td align="center" colspan="1">{{ index + 1 }}</td>
<td align="center" colspan="2">{{ item.matnr }}</td>
<td align="center" colspan="3">{{ item.maktx }}</td>
- <td align="center" colspan="2">{{ item.batch }}</td>
+ <td align="center" :colspan="inModel == 'in' ? '2' : '1'">{{ item.batch }}</td>
<td align="center" colspan="2">{{ item.specs }}</td>
<td align="center" colspan="1">{{ item.anfme }}</td>
+ <td align="center" colspan="1" v-if="inModel != 'in'">{{ item.wareType$ }}</td>
</tr>
</template>
</table>
diff --git a/zy-asrs-admin/src/views/loc/locDetl/index.vue b/zy-asrs-admin/src/views/loc/locDetl/index.vue
index 66a2c7c..2afcbdc 100644
--- a/zy-asrs-admin/src/views/loc/locDetl/index.vue
+++ b/zy-asrs-admin/src/views/loc/locDetl/index.vue
@@ -14,6 +14,7 @@
let currentPage = 1;
let pageSize = 10;
const searchInput = ref("")
+const orderBy = ref({});
const searchParam = ref({
locNo: null,
matnr: null,
@@ -52,6 +53,19 @@
// 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: "createTime" }
+ } else if (sorter?.order == "descend") {
+ orderBy.__v_raw = { order: "desc", field: "createTime" }
+ }
+ }
+
+ getPage()
+}
state.columns = [
// {
@@ -136,6 +150,7 @@
dataIndex: 'dewell$',
width: 140,
ellipsis: true,
+ sorter: true,
...getColumnSearchProps('dewell$'),
},
{
@@ -236,6 +251,7 @@
function getPage() {
state.loading = true;
post('/api/locDetl/page', {
+ orderBy: orderBy.__v_raw,
current: currentPage,
pageSize: pageSize,
condition: searchInput.value,
@@ -245,7 +261,6 @@
if (result.code == 200) {
let data = result.data;
tableData.value = data;
-
state.loading = false;
} else if (result.code === 401) {
message.error(result.msg);
@@ -277,7 +292,6 @@
post('/api/out/locs/stock', params).then(resp => {
let result = resp.data;
if (result.code === 200) {
- console.log(result);
message.success(result.msg);
} else {
message.error(result.msg);
@@ -333,7 +347,6 @@
};
const onSearch = () => {
- // console.log('search');
currentPage = 1;
getPage()
}
@@ -348,12 +361,15 @@
getPage()
}
+const total = computed(() => tableData.value?.records?.reduce((sum, item) => sum + item.anfme, 0))
+
</script>
<script>
export default {
- name: '搴撳瓨鏄庣粏'
+ name: '搴撳瓨鏄庣粏',
}
+
</script>
<template>
@@ -372,9 +388,10 @@
style="width: 140px;margin-right: 10px;" />
<a-input v-model:value="searchParam.batch" :placeholder="formatMessage('page.locDetl.batch.input', '璇疯緭鍏ユ壒鍙�')"
style="width: 140px;margin-right: 10px;" />
- <a-select v-model:value="searchParam.orderType" :placeholder="formatMessage('page.locDetl.orderNo.input', '浠撳簱绫诲瀷')"
- :options="[
- { label: '鍏ㄩ儴', value: null }, { label: '绔嬪簱', value: 1 }, { label: '骞冲簱', value: 2 }]" style="width: 140px;margin-right: 10px;">
+ <a-select v-model:value="searchParam.orderType"
+ :placeholder="formatMessage('page.locDetl.orderNo.input', '浠撳簱绫诲瀷')" :options="[
+ { label: '鍏ㄩ儴', value: null }, { label: '绔嬪簱', value: 1 }, { label: '骞冲簱', value: 2 }]"
+ style="width: 140px;margin-right: 10px;">
</a-select>
<a-select v-model:value="searchParam.tagId" :placeholder="formatMessage('page.locDetl.orderNo.input', '璇烽�夋嫨鍝佺被')"
:options="[
@@ -394,7 +411,7 @@
</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 }"
+ :pagination="{ total: tableData.total, onChange: onPageChange }" @change="handleTableChange"
:scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn"
:loading="state.loading">
<template #bodyCell="{ column, text, record }">
@@ -406,6 +423,11 @@
</div>
</template>
</template>
+ <template #footer>
+ <div>
+ <span>褰撳墠椤垫�婚噺锛歿{ total }}</span>
+ </div>
+ </template>
</a-table>
</div>
</template>
--
Gitblit v1.9.1