From 13909c99e368788a94a48753dc9f76e40a992cd6 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 29 七月 2024 15:21:06 +0800
Subject: [PATCH] #
---
zy-asrs-admin/src/components/order/index.vue | 251 +++++++++++++++++++
zy-asrs-admin/src/components/orderDetl/edit.vue | 25 +
zy-asrs-admin/src/components/orderDetl/show.vue | 184 ++++++++++++++
zy-asrs-admin/src/views/in/order/index.vue | 222 ----------------
zy-asrs-admin/src/components/order/edit.vue | 22
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java | 54 ++++
7 files changed, 522 insertions(+), 240 deletions(-)
diff --git a/zy-asrs-admin/src/views/in/order/edit.vue b/zy-asrs-admin/src/components/order/edit.vue
similarity index 94%
rename from zy-asrs-admin/src/views/in/order/edit.vue
rename to zy-asrs-admin/src/components/order/edit.vue
index 1a135c2..2cb8a71 100644
--- a/zy-asrs-admin/src/views/in/order/edit.vue
+++ b/zy-asrs-admin/src/components/order/edit.vue
@@ -1,5 +1,5 @@
<script setup>
-import { ref, nextTick, watch } from 'vue';
+import { ref, nextTick, watch, defineProps } from 'vue';
import { get, post, postBlob, postForm } from '@/utils/request.js'
import { formatMessage } from '@/utils/localeUtils.js';
import { message } from 'ant-design-vue';
@@ -13,16 +13,16 @@
let formData = ref(initFormData);
const orderDetlChild = ref(null);
+const props = defineProps({
+ ioModel: 1
+})
+
const emit = defineEmits(['tableReload'])
-watch(open, (newVal, oldVal) => {
- if(newVal) {
- get("/api/orderDetl/orderId/" + formData.value.id,{}).then((resp) => {
- let result = resp.data;
- orderDetlChild.value.editTableData = result.data;
- })
- }else {
- orderDetlChild.value.editTableData = [];
+watch(open, async (newVal, oldVal) => {
+ if (newVal) {
+ await nextTick();// await dom update
+ orderDetlChild.value.orderId = formData.value.id;
}
})
@@ -45,7 +45,7 @@
list: orderDetlChild.value.tableData
}
- if(!isSave.value) {
+ if (!isSave.value) {
param.deleteDetlId = orderDetlChild.value.deleteDetlId;
}
@@ -70,7 +70,7 @@
orderTypeQuery();
function orderTypeQuery() {
postForm('/api/orderType/query', {
- type: 1
+ type: props.ioModel
}).then(resp => {
let result = resp.data;
orderTypeQueryList.value = result.data;
diff --git a/zy-asrs-admin/src/components/order/index.vue b/zy-asrs-admin/src/components/order/index.vue
new file mode 100644
index 0000000..35f7132
--- /dev/null
+++ b/zy-asrs-admin/src/components/order/index.vue
@@ -0,0 +1,251 @@
+<script setup>
+import { getCurrentInstance, ref, computed, reactive, defineProps } from 'vue';
+import { useRouter } from "vue-router";
+import { get, post, postBlob } from '@/utils/request.js'
+import { message, Modal } from 'ant-design-vue';
+import { logout } from '@/config.js';
+import EditView from './edit.vue'
+import { formatMessage } from '@/utils/localeUtils.js';
+import useTableSearch from '@/utils/tableUtils.jsx';
+import ShowOrderDetlComponent from '@/components/orderDetl/show.vue';
+const context = getCurrentInstance()?.appContext.config.globalProperties;
+
+const router = useRouter();
+
+const props = defineProps({
+ ioModel: null
+})
+
+const TABLE_KEY = 'table-order';
+let currentPage = 1;
+let pageSize = 10;
+const searchInput = ref("")
+const editChild = ref(null)
+const showOrderDetlChild = ref(null)
+
+let tableData = ref([]);
+getPage();
+
+const {
+ getColumnSearchProps,
+} = useTableSearch();
+
+const columns = [
+ {
+ title: formatMessage('db.man_order.order_no', '璁㈠崟缂栧彿'),
+ dataIndex: 'orderNo',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('orderNo'),
+ },
+ {
+ title: formatMessage('db.man_order.order_time', '鍗曟嵁鏃ユ湡'),
+ dataIndex: 'orderTime',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('orderTime'),
+ },
+ {
+ title: formatMessage('db.man_order.order_type', '鍗曟嵁绫诲瀷'),
+ dataIndex: 'orderType$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('orderType$'),
+ },
+ {
+ title: formatMessage('db.man_order.order_settle', '鍗曟嵁鐘舵��'),
+ dataIndex: 'orderSettle$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('orderSettle$'),
+ },
+ {
+ title: formatMessage('db.man_order.status', '鐘舵��'),
+ dataIndex: 'status$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('status$'),
+ },
+ {
+ title: formatMessage('db.man_order.create_time', '娣诲姞鏃堕棿'),
+ dataIndex: 'createTime$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('createTime$'),
+ },
+ {
+ title: formatMessage('db.man_order.create_by', '娣诲姞浜哄憳'),
+ dataIndex: 'createBy$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('createBy$'),
+ },
+ {
+ title: formatMessage('db.man_order.update_time', '淇敼鏃堕棿'),
+ dataIndex: 'updateTime$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('updateTime$'),
+ },
+ {
+ title: formatMessage('db.man_order.update_by', '淇敼浜哄憳'),
+ dataIndex: 'updateBy$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('updateBy$'),
+ },
+ {
+ title: formatMessage('db.man_order.memo', '澶囨敞'),
+ dataIndex: 'memo',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('memo'),
+ },
+
+ {
+ title: formatMessage('common.operation', '鎿嶄綔'),
+ name: 'oper',
+ dataIndex: 'oper',
+ key: 'oper',
+ width: 240,
+ },
+];
+
+const state = reactive({
+ selectedRowKeys: [],
+ loading: false,
+});
+const hasSelected = computed(() => state.selectedRowKeys.length > 0);
+const start = () => {
+ state.loading = true;
+ // ajax request after empty completing
+ setTimeout(() => {
+ state.loading = false;
+ state.selectedRowKeys = [];
+ }, 1000);
+};
+const onSelectChange = selectedRowKeys => {
+ // console.log('selectedRowKeys changed: ', selectedRowKeys);
+ state.selectedRowKeys = selectedRowKeys;
+};
+
+function getPage() {
+ post(props.ioModel == 'in' ? '/api/order/in/page' : '/api/order/out/page', {
+ current: currentPage,
+ pageSize: pageSize,
+ condition: searchInput.value,
+ }).then((resp) => {
+ let result = resp.data;
+ if (result.code == 200) {
+ let data = result.data;
+ tableData.value = data;
+ } else if (result.code === 401) {
+ message.error(result.msg);
+ logout()
+ } else {
+ message.error(result.msg);
+ }
+ })
+}
+
+const handleEdit = (item) => {
+ editChild.value.open = true;
+ editChild.value.formData = item == null ? editChild.value.initFormData : JSON.parse(JSON.stringify(item));
+ editChild.value.isSave = item == null;
+}
+
+const handleDel = (rows) => {
+ 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/remove/' + 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 showDetl = (item) => {
+ showOrderDetlChild.value.openDetl = true;
+ showOrderDetlChild.value.orderId = item.id;
+}
+
+const handleExport = async (intl) => {
+ postBlob('/api/order/export', {}).then(result => {
+ const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
+ window.location.href = window.URL.createObjectURL(blob);
+ return true;
+ })
+};
+
+const onSearch = () => {
+ // console.log('search');
+ getPage()
+}
+
+const onPageChange = (page, size) => {
+ currentPage = page;
+ pageSize = size;
+ getPage();
+}
+
+function handleTableReload(value) {
+ getPage()
+}
+
+</script>
+
+<script>
+export default {
+ name: '璁㈠崟'
+}
+</script>
+
+<template>
+ <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 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>
+ </div>
+ </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 }"
+ :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+ <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 type="link" primary @click="handleEdit(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>
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/components/orderDetl/edit.vue b/zy-asrs-admin/src/components/orderDetl/edit.vue
index 8f55e6e..3e458f4 100644
--- a/zy-asrs-admin/src/components/orderDetl/edit.vue
+++ b/zy-asrs-admin/src/components/orderDetl/edit.vue
@@ -13,8 +13,8 @@
const TABLE_KEY = 'table-locDetl';
let tableData = ref([]);
-let editTableData = ref([]);
let deleteDetlId = ref([]);
+let orderId = ref(null);
getColumns();
const {
@@ -216,11 +216,17 @@
tableData.value = tmp;
}
-watch(editTableData, (newVal, oldVal) => {
- let index = 1;
- let tmp = [];
- if (newVal.length > 0) {
- newVal.forEach((item) => {
+watch(orderId, (newVal, oldVal) => {
+ if(newVal == undefined || newVal == null) {
+ tableData.value = [];
+ return;
+ }
+
+ get("/api/orderDetl/orderId/" + newVal, {}).then((resp) => {
+ let result = resp.data;
+ let index = 1;
+ let tmp = [];
+ result.data.forEach((item) => {
let data = {
_id: index++,
detlId: item.id,
@@ -235,13 +241,14 @@
})
tmp.push(data)
})
- }
- tableData.value = tmp;
+ tableData.value = tmp;
+ })
+
})
defineExpose({
tableData,
- editTableData,
+ orderId,
deleteDetlId,
})
diff --git a/zy-asrs-admin/src/components/orderDetl/show.vue b/zy-asrs-admin/src/components/orderDetl/show.vue
new file mode 100644
index 0000000..b9aac26
--- /dev/null
+++ b/zy-asrs-admin/src/components/orderDetl/show.vue
@@ -0,0 +1,184 @@
+<script setup>
+import { getCurrentInstance, ref, watch, reactive } from 'vue';
+import { useRouter } from "vue-router";
+import { get, post, postForm } from '@/utils/request.js'
+import { message, Modal } from 'ant-design-vue';
+import { logout } from '@/config.js';
+import { formatMessage } from '@/utils/localeUtils.js';
+import useTableSearch from '@/utils/tableUtils.jsx';
+const context = getCurrentInstance()?.appContext.config.globalProperties;
+
+const router = useRouter();
+
+const TABLE_KEY = 'table-locDetl';
+
+let tableData = ref([]);
+let openDetl = ref(false);
+const orderId = ref(null);
+const orderInfo = ref({
+ orderInfo: '',
+ orderType$: '',
+ orderSettle$: '',
+});
+getColumns();
+
+const {
+ getColumnSearchProps,
+} = useTableSearch();
+
+const state = reactive({
+ selectedRowKeys: [],
+ loading: false,
+ columns: [],
+});
+
+state.columns = [
+ {
+ title: '#',
+ dataIndex: '_id',
+ width: 60,
+ ellipsis: true,
+ },
+ {
+ title: formatMessage('db.man_loc_detl.matnr', '鐗╂枡鍙�'),
+ dataIndex: 'matnr',
+ width: 140,
+ ellipsis: true,
+ },
+ {
+ title: formatMessage('db.man_loc_detl.maktx', '鐗╂枡鍚�'),
+ dataIndex: 'maktx',
+ width: 140,
+ ellipsis: true,
+ },
+ {
+ title: formatMessage('db.man_loc_detl.batch', '鎵瑰彿'),
+ dataIndex: 'batch',
+ width: 140,
+ ellipsis: true,
+ editable: true,
+ },
+ {
+ title: formatMessage('db.man_loc_detl.anfme', '鏁伴噺'),
+ dataIndex: 'anfme',
+ width: 140,
+ ellipsis: true,
+ editable: true,
+ },
+ {
+ title: formatMessage('db.man_loc_detl.memo', '澶囨敞'),
+ dataIndex: 'memo',
+ width: 140,
+ ellipsis: true,
+ editable: true,
+ },
+];
+
+const fieldList = [];
+//鍔犺浇鎵╁睍瀛楁
+async function getColumns() {
+ let fieldResp = await post('/api/matField/list', {
+ fieldType: 1
+ })
+ let fieldResult = fieldResp.data;
+ let tmp = state.columns;
+ if (fieldResult.code == 200) {
+ let data = fieldResult.data;
+
+ data.forEach((item) => {
+ tmp.push({
+ title: formatMessage(item.language, item.describe),
+ name: item.name,
+ dataIndex: item.name,
+ key: item.name,
+ width: 140,
+ editable: true,
+ })
+
+ fieldList.push(item.name);
+ })
+
+ // tmp.push({
+ // title: formatMessage('common.operation', '鎿嶄綔'),
+ // name: 'oper',
+ // dataIndex: 'oper',
+ // key: 'oper',
+ // width: 140,
+ // })
+
+ state.columns = tmp;
+ } else if (result.code === 401) {
+ message.error(result.msg);
+ logout()
+ } else {
+ message.error(result.msg);
+ }
+}
+
+const handleOk = () => {
+ openDetl.value = false;
+}
+
+watch(orderId, (newVal, oldVal) => {
+ get("/api/orderDetl/orderId/" + newVal, {}).then((resp) => {
+ let result = resp.data;
+ let index = 1;
+ let tmp = [];
+ result.data.forEach((item) => {
+ let data = {
+ _id: index++,
+ detlId: item.id,
+ matnr: item.mat$.matnr,
+ maktx: item.mat$.maktx,
+ batch: item.batch,
+ anfme: item.anfme,
+ memo: item.memo
+ };
+ fieldList.forEach((field) => {
+ data[field] = item[field];
+ })
+ tmp.push(data)
+ })
+ tableData.value = tmp;
+ })
+
+ get("/api/order/" + newVal, {}).then((resp) => {
+ let result = resp.data;
+ orderInfo.value = result.data;
+ })
+})
+
+defineExpose({
+ tableData,
+ orderId,
+ openDetl,
+})
+
+</script>
+
+<script>
+export default {
+ name: 'showOrderDetlComponent'
+}
+</script>
+
+<template>
+ <div>
+ <a-modal v-model:open="openDetl" width="60%" @ok="handleOk">
+ <h3>
+ 璁㈠崟鍙凤細{{ orderInfo.orderNo }}
+ </h3>
+ <h3>
+ 鍗曟嵁绫诲瀷锛歿{ orderInfo.orderType$ }}
+ </h3>
+ <h3>
+ 鍗曟嵁鐘舵�侊細{{ orderInfo.orderSettle$ }}
+ </h3>
+ <a-table :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
+ :scroll="{ y: 768 }" :columns="state.columns">
+ </a-table>
+ </a-modal>
+ </div>
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/views/in/order/index.vue b/zy-asrs-admin/src/views/in/order/index.vue
index b7afd82..0430a4f 100644
--- a/zy-asrs-admin/src/views/in/order/index.vue
+++ b/zy-asrs-admin/src/views/in/order/index.vue
@@ -1,201 +1,5 @@
<script setup>
-import { getCurrentInstance, ref, computed, reactive } from 'vue';
-import { useRouter } from "vue-router";
-import { get, post, postBlob } from '@/utils/request.js'
-import { message, Modal } from 'ant-design-vue';
-import { logout } from '@/config.js';
-import EditView from './edit.vue'
-import { formatMessage } from '@/utils/localeUtils.js';
-import useTableSearch from '@/utils/tableUtils.jsx';
-const context = getCurrentInstance()?.appContext.config.globalProperties;
-
-const router = useRouter();
-
-const TABLE_KEY = 'table-order';
-let currentPage = 1;
-let pageSize = 10;
-const searchInput = ref("")
-const editChild = ref(null)
-
-let tableData = ref([]);
-getPage();
-
-const {
- getColumnSearchProps,
-} = useTableSearch();
-
-const columns = [
- {
- title: formatMessage('db.man_order.order_no', '璁㈠崟缂栧彿'),
- dataIndex: 'orderNo',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('orderNo'),
- },
- {
- title: formatMessage('db.man_order.order_time', '鍗曟嵁鏃ユ湡'),
- dataIndex: 'orderTime',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('orderTime'),
- },
- {
- title: formatMessage('db.man_order.order_type', '鍗曟嵁绫诲瀷'),
- dataIndex: 'orderType$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('orderType$'),
- },
- {
- title: formatMessage('db.man_order.order_settle', '鍗曟嵁鐘舵��'),
- dataIndex: 'orderSettle$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('orderSettle$'),
- },
- {
- title: formatMessage('db.man_order.status', '鐘舵��'),
- dataIndex: 'status$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('status$'),
- },
- {
- title: formatMessage('db.man_order.create_time', '娣诲姞鏃堕棿'),
- dataIndex: 'createTime$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('createTime$'),
- },
- {
- title: formatMessage('db.man_order.create_by', '娣诲姞浜哄憳'),
- dataIndex: 'createBy$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('createBy$'),
- },
- {
- title: formatMessage('db.man_order.update_time', '淇敼鏃堕棿'),
- dataIndex: 'updateTime$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('updateTime$'),
- },
- {
- title: formatMessage('db.man_order.update_by', '淇敼浜哄憳'),
- dataIndex: 'updateBy$',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('updateBy$'),
- },
- {
- title: formatMessage('db.man_order.memo', '澶囨敞'),
- dataIndex: 'memo',
- width: 140,
- ellipsis: true,
- ...getColumnSearchProps('memo'),
- },
-
- {
- title: formatMessage('common.operation', '鎿嶄綔'),
- name: 'oper',
- dataIndex: 'oper',
- key: 'oper',
- width: 140,
- },
-];
-
-const state = reactive({
- selectedRowKeys: [],
- loading: false,
-});
-const hasSelected = computed(() => state.selectedRowKeys.length > 0);
-const start = () => {
- state.loading = true;
- // ajax request after empty completing
- setTimeout(() => {
- state.loading = false;
- state.selectedRowKeys = [];
- }, 1000);
-};
-const onSelectChange = selectedRowKeys => {
- // console.log('selectedRowKeys changed: ', selectedRowKeys);
- state.selectedRowKeys = selectedRowKeys;
-};
-
-function getPage() {
- post('/api/order/page', {
- current: currentPage,
- pageSize: pageSize,
- condition: searchInput.value
- }).then((resp) => {
- let result = resp.data;
- if (result.code == 200) {
- let data = result.data;
- tableData.value = data;
- } else if (result.code === 401) {
- message.error(result.msg);
- logout()
- } else {
- message.error(result.msg);
- }
- })
-}
-
-const handleEdit = (item) => {
- editChild.value.open = true;
- editChild.value.formData = item == null ? editChild.value.initFormData : JSON.parse(JSON.stringify(item));
- editChild.value.isSave = item == null;
-}
-
-const handleDel = (rows) => {
- 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/remove/' + 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 handleExport = async (intl) => {
- postBlob('/api/order/export', {}).then(result => {
- const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
- window.location.href = window.URL.createObjectURL(blob);
- return true;
- })
-};
-
-const onSearch = () => {
- // console.log('search');
- getPage()
-}
-
-const onPageChange = (page, size) => {
- currentPage = page;
- pageSize = size;
- getPage();
-}
-
-function handleTableReload(value) {
- getPage()
-}
-
+import OrderView from '@/components/order/index.vue';
</script>
<script>
@@ -206,29 +10,7 @@
<template>
<div>
- <EditView ref="editChild" @tableReload="handleTableReload" />
- <div class="table-header">
- <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
- style="width: 200px;" @search="onSearch" />
- <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>
- </div>
- </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 }"
- :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
- <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="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button>
- <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
- }}</a-button>
- </div>
- </template>
- </template>
- </a-table>
+ <OrderView ioModel="in" />
</div>
</template>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
index 2802eed..bd67231 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
@@ -5,8 +5,10 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.asrs.entity.OrderType;
import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
+import com.zy.asrs.wms.asrs.service.OrderTypeService;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -29,6 +31,8 @@
@Autowired
private OrderService orderService;
+ @Autowired
+ private OrderTypeService orderTypeService;
@PreAuthorize("hasAuthority('asrs:order:list')")
@PostMapping("/order/page")
@@ -39,6 +43,56 @@
}
@PreAuthorize("hasAuthority('asrs:order:list')")
+ @PostMapping("/order/in/page")
+ public R pageIn(@RequestBody Map<String, Object> map) {
+ String condition = map.getOrDefault("condition", "").toString();
+ BaseParam baseParam = buildParam(map, BaseParam.class);
+ PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
+// QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
+ LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
+
+ ArrayList<Long> types = new ArrayList<>();
+ for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 1))) {
+ types.add(orderType.getId());
+ }
+
+ wrapper.in(Order::getOrderType, types);
+
+ if (!Cools.isEmpty(condition)) {
+ wrapper.and(wrapper1 -> {
+ wrapper1.or().like(Order::getOrderNo, condition);
+ wrapper1.or().like(Order::getMemo, condition);
+ });
+ }
+ return R.ok().add(orderService.page(pageParam, wrapper));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:order:list')")
+ @PostMapping("/order/out/page")
+ public R pageOut(@RequestBody Map<String, Object> map) {
+ String condition = map.getOrDefault("condition", "").toString();
+ BaseParam baseParam = buildParam(map, BaseParam.class);
+ PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
+// QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
+ LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
+
+ ArrayList<Long> types = new ArrayList<>();
+ for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 2))) {
+ types.add(orderType.getId());
+ }
+
+ wrapper.in(Order::getOrderType, types);
+
+ if (!Cools.isEmpty(condition)) {
+ wrapper.and(wrapper1 -> {
+ wrapper1.or().like(Order::getOrderNo, condition);
+ wrapper1.or().like(Order::getMemo, condition);
+ });
+ }
+ return R.ok().add(orderService.page(pageParam, wrapper));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:order:list')")
@PostMapping("/order/list")
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderService.list());
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
index 45d002c..d00cda0 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -31,10 +32,13 @@
@Override
@Transactional
public boolean createOrder(CreateOrderParam param) {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
Order order = new Order();
order.setOrderNo(param.getOrderNo());
order.setOrderType(param.getOrderType());
order.setOrderSettle(param.getOrderSettle());
+ order.setOrderTime(format.format(new Date()));
order.setCreateTime(new Date());
order.setCreateBy(9527L);
boolean result = this.save(order);
--
Gitblit v1.9.1