From c2b88a03f3d0d5ebe92949e64d17ee4d0ac3f6b7 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 09 九月 2025 15:14:00 +0800
Subject: [PATCH] 发货清空缓存站点
---
zy-asrs-admin/src/views/loc/locDetl/index.vue | 171 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 138 insertions(+), 33 deletions(-)
diff --git a/zy-asrs-admin/src/views/loc/locDetl/index.vue b/zy-asrs-admin/src/views/loc/locDetl/index.vue
index 2b2d2fd..2857c42 100644
--- a/zy-asrs-admin/src/views/loc/locDetl/index.vue
+++ b/zy-asrs-admin/src/views/loc/locDetl/index.vue
@@ -8,22 +8,23 @@
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 currentPage = 1;
let pageSize = 10;
+let allQty = 0;
const searchInput = ref("")
+const orderBy = ref({});
const searchParam = ref({
locNo: null,
matnr: null,
orderNo: null,
batch: null,
tagId: null,
+ orderType: null,
})
const editChild = ref(null)
-
const state = reactive({
selectedRowKeys: [],
loading: false,
@@ -33,7 +34,7 @@
let tableData = ref([]);
getColumns();
getPage();
-
+getTotalQty();
const {
getColumnSearchProps,
handleResizeColumn,
@@ -54,6 +55,19 @@
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 = [
// {
// title: formatMessage('db.man_loc_detl.loc_id', '搴撲綅'),
@@ -68,6 +82,13 @@
width: 140,
ellipsis: true,
...getColumnSearchProps('locNo'),
+ },
+ {
+ title: formatMessage('db.man_loc_detl.loc_type', '搴撲綅绫诲瀷'),
+ dataIndex: 'type$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('type$'),
},
{
title: formatMessage('db.man_loc_detl.matnr', '鍟嗗搧缂栧彿'),
@@ -98,17 +119,39 @@
...getColumnSearchProps('model'),
},
{
- title: formatMessage('db.man_loc_detl.model', '鍝佺被'),
+ title: formatMessage('db.man_loc_detl.matnr', '鍝佺被'),
dataIndex: 'tagId$',
width: 140,
ellipsis: true,
...getColumnSearchProps('tagId$'),
},
{
+ title: formatMessage('db.man_loc_detl.maktx', '棰滆壊'),
+ dataIndex: 'color',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('color'),
+ },
+ {
+ title: formatMessage('db.man_loc_detl.model', '鍝佺墝'),
+ dataIndex: 'brand',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('brand'),
+ },
+ {
+ title: formatMessage('db.man_loc_detl.model', '浜у湴'),
+ dataIndex: 'origin',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('origin'),
+ },
+ {
title: formatMessage('db.man_loc_detl.dewell', '鍏ュ簱鏃堕棿'),
dataIndex: 'dewell$',
width: 140,
ellipsis: true,
+ sorter: true,
...getColumnSearchProps('dewell$'),
},
{
@@ -146,20 +189,6 @@
ellipsis: true,
...getColumnSearchProps('status$'),
},
- // {
- // title: formatMessage('db.man_loc_detl.create_time', '娣诲姞鏃堕棿'),
- // dataIndex: 'createTime$',
- // width: 140,
- // ellipsis: true,
- // ...getColumnSearchProps('createTime$'),
- // },
- // {
- // title: formatMessage('db.man_loc_detl.create_by', '娣诲姞浜哄憳'),
- // dataIndex: 'createBy$',
- // width: 140,
- // ellipsis: true,
- // ...getColumnSearchProps('createBy$'),
- // },
{
title: formatMessage('db.man_loc_detl.update_time', '淇敼鏃堕棿'),
dataIndex: 'updateTime$',
@@ -180,6 +209,14 @@
width: 140,
ellipsis: true,
...getColumnSearchProps('memo'),
+ },
+ {
+ title: formatMessage('common.operation', '鎿嶄綔'),
+ name: 'oper',
+ dataIndex: 'oper',
+ key: 'oper',
+ width: 140,
+ fixed: 'right',
},
];
@@ -212,9 +249,30 @@
}
}
+
+function getTotalQty() {
+ state.loading = true;
+ post('/api/locDetl/all/Qty').then((resp) => {
+ let result = resp.data;
+ if (result.code == 200) {
+ let {data} = result;
+ console.log("------------=======>");
+ allQty = data?.allQty;
+ state.loading = false;
+ } else if (result.code === 401) {
+ message.error(result.msg);
+ logout()
+ } else {
+ message.error(result.msg);
+ }
+ })
+}
+
+
function getPage() {
state.loading = true;
post('/api/locDetl/page', {
+ orderBy: orderBy.__v_raw,
current: currentPage,
pageSize: pageSize,
condition: searchInput.value,
@@ -224,7 +282,6 @@
if (result.code == 200) {
let data = result.data;
tableData.value = data;
-
state.loading = false;
} else if (result.code === 401) {
message.error(result.msg);
@@ -236,9 +293,42 @@
}
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;
+ let content = "鏄惁纭鐢熸垚-->鍑哄簱浠诲姟锛侊紒"
+ let type = 2
+ if (item?.locNo.indexOf("B") >= 0 || item?.locNo.indexOf("C") >= 0) {
+ content = "鏄惁纭鐢熸垚-->鎷h揣鍗曪紒锛�"
+ type = 1
+ }
+ Modal.confirm({
+ title: formatMessage('page.delete', '鍑哄簱'),
+ content: formatMessage('page.delete.confirm', content),
+ maskClosable: true,
+ onOk: async () => {
+ const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
+ try {
+ let params = {
+ outType: type,
+ locDetls: [item]
+ }
+ post('/api/out/locs/stock', params).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', '璇锋眰澶辫触'));
+ }
+ },
+ });
+
+ // 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) => {
@@ -278,7 +368,7 @@
};
const onSearch = () => {
- // console.log('search');
+ currentPage = 1;
getPage()
}
@@ -292,12 +382,15 @@
getPage()
}
+const total = computed(() => tableData.value?.records?.reduce((sum, item) => sum + item.anfme, 0))
+
</script>
<script>
export default {
- name: '搴撳瓨鏄庣粏'
+ name: '搴撳瓨鏄庣粏',
}
+
</script>
<template>
@@ -316,12 +409,18 @@
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.tagId" :placeholder="formatMessage('page.locDetl.orderNo.input', '璇烽�夋嫨鍝佺被')" :options="[
- { label: '榛樿鍒嗙被', value: 10 },{ label: '鏈烘补', value: 11 }, { label: '鍙橀�熺娌�', value: 17 }, { label: '鐏姳濉�', value: 18 },
- { label: '鍏绘姢鍝�', value: 25 },{ label: '娌规紗鑰楁潗', value: 26 }, { label: '鐞冨ご鎽嗚噦', value: 27 }, { label: '鐮傜焊绫�', value: 31 },
- { label: '鑿滅摐甯�', value: 32 }, { label: '閬斀绫�', value: 33 }, { label: '鎶涘厜绫�', value: 34 }, { label: '闄ゅ皹绫�', value: 35 },
- { label: '婕忔枟绫�', value: 36 }, { label: '闃叉姢绫�', value: 37 }, { label: '鐑ゆ埧淇濆吇绫�', value: 38 }, { label: '璋冩紗缃�', value: 39 },
- { label: '鍠锋灙', value: 40 }, { label: '璐规柉鎵樼郴鍒�', value: 41 },]" 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="[
+ { label: '榛樿鍒嗙被', value: 10 }, { label: '鏈烘补', value: 11 }, { label: '鍙橀�熺娌�', value: 17 }, { label: '鐏姳濉�', value: 18 },
+ { label: '鍏绘姢鍝�', value: 25 }, { label: '娌规紗鑰楁潗', value: 26 }, { label: '鐞冨ご鎽嗚噦', value: 27 }, { label: '鐮傜焊绫�', value: 31 },
+ { label: '鑿滅摐甯�', value: 32 }, { label: '閬斀绫�', value: 33 }, { label: '鎶涘厜绫�', value: 34 }, { label: '闄ゅ皹绫�', value: 35 },
+ { label: '婕忔枟绫�', value: 36 }, { label: '闃叉姢绫�', value: 37 }, { label: '鐑ゆ埧淇濆吇绫�', value: 38 }, { label: '璋冩紗缃�', value: 39 },
+ { label: '鍠锋灙', value: 40 }, { label: '璐规柉鎵樼郴鍒�', value: 41 },]" style="width: 140px;margin-right: 10px;">
</a-select>
<a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
style="width: 200px;" @search="onSearch" />
@@ -333,18 +432,24 @@
</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 }">
<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 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>
+ <template #footer>
+ <div style="display: 'flex';">
+ <span>鎬诲簱瀛橈細{{ allQty }} </span>
+ <span>锛� 褰撳墠椤垫�婚噺锛歿{ total }}</span>
+ </div>
+ </template>
</a-table>
</div>
</template>
--
Gitblit v1.9.1