From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #
---
zy-asrs-admin/src/views/out/wave/index.vue | 113 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 65 insertions(+), 48 deletions(-)
diff --git a/zy-asrs-admin/src/views/out/wave/index.vue b/zy-asrs-admin/src/views/out/wave/index.vue
index 63c3092..e467f3c 100644
--- a/zy-asrs-admin/src/views/out/wave/index.vue
+++ b/zy-asrs-admin/src/views/out/wave/index.vue
@@ -1,5 +1,5 @@
<script setup>
-import { getCurrentInstance, ref, computed, reactive } from 'vue';
+import { getCurrentInstance, ref, computed, reactive, watch } from 'vue';
import { useRouter } from "vue-router";
import { get, post, postBlob } from '@/utils/request.js'
import { message, Modal } from 'ant-design-vue';
@@ -7,7 +7,7 @@
import EditView from './edit.vue'
import { formatMessage } from '@/utils/localeUtils.js';
import useTableSearch from '@/utils/tableUtils.jsx';
-import OrderOutMergePreviewView from '@/components/orderOut/orderOutMergePreview/index.vue';
+import OrderOutWavePreviewView from '@/components/orderOut/orderOutWavePreview/index.vue';
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
@@ -16,8 +16,19 @@
let currentPage = 1;
let pageSize = 10;
const searchInput = ref("")
+const searchParam = ref({
+ waveNo: null,
+ matnr: null,
+ batch: null,
+})
const editChild = ref(null)
-const orderOutMergePreviewChild = ref(null);
+const orderOutWavePreviewChild = ref(null);
+
+const state = reactive({
+ selectedRowKeys: [],
+ loading: false,
+ columns: [],
+});
let tableData = ref([]);
getPage();
@@ -37,12 +48,6 @@
rowSpan: count,
};
}
-
-const state = reactive({
- selectedRowKeys: [],
- loading: false,
- columns: [],
-});
state.columns = [
{
@@ -66,11 +71,14 @@
},
},
{
- title: formatMessage('db.man_wave.orderNo', '璁㈠崟鍙�'),
- dataIndex: ['orderNo'],
+ title: formatMessage('db.man_wave.waveStatus$', '鐘舵��'),
+ dataIndex: 'waveStatus$',
width: 140,
ellipsis: true,
- ...getColumnSearchProps('waveType$'),
+ ...getColumnSearchProps('waveStatus$'),
+ customCell: (_, index) => {
+ return customColSpanProps(index)
+ },
},
{
title: formatMessage('db.man_wave.matnr', '鍟嗗搧缂栧彿'),
@@ -88,7 +96,7 @@
},
{
title: formatMessage('db.man_wave.batch', '鎵瑰彿'),
- dataIndex: ['mat$', 'batch'],
+ dataIndex: ['batch'],
width: 140,
ellipsis: true,
...getColumnSearchProps('batch'),
@@ -99,6 +107,13 @@
width: 140,
ellipsis: true,
...getColumnSearchProps('anfme'),
+ },
+ {
+ title: formatMessage('db.man_wave.work_qty', '宸ヤ綔鏁伴噺'),
+ dataIndex: ['workQty'],
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('workQty'),
},
];
@@ -118,10 +133,13 @@
};
function getPage() {
+ state.loading = true;
+
post('/api/wave/page', {
current: currentPage,
pageSize: pageSize,
- condition: searchInput.value
+ condition: searchInput.value,
+ _param: searchParam.value,
}).then((resp) => {
let result = resp.data;
if (result.code == 200) {
@@ -133,16 +151,14 @@
data.forEach((item) => {
let count = 0;
- item.waveDetlList.forEach((val) => {
- count += val.orderDetl$.length;
- val.orderDetl$.forEach((detl) => {
- detl.key = idx;
- detl.waveNo = item.waveNo;
- detl.waveId = item.id;
- detl.waveType = item.waveType;
- detl.waveType$ = item.waveType$;
- tmp.push(detl)
- })
+ item.waveDetlList.forEach((detl) => {
+ detl.waveStatus = item.waveStatus;
+ detl.waveStatus$ = item.waveStatus$;
+ detl.waveType = item.waveType;
+ detl.waveType$ = item.waveType$;
+
+ count++;
+ tmp.push(detl)
})
colSpan[idx] = count;
@@ -152,7 +168,7 @@
tableDataColSpan = colSpan;
tableData.value = tmp;
- console.log(tmp);
+ state.loading = false;
} else if (result.code === 401) {
message.error(result.msg);
@@ -216,26 +232,15 @@
// editChild.value.isSave = item == null;
// }
-const handleGenerateOut = (item) => {
- console.log(item);
-
- get('/api/wave/list/' + item.waveId, {}).then(resp => {
- let result = resp.data;
- let data = result.data;
- let orderIds = []
- data.forEach((item) => {
- orderIds.push(item.orderId)
- })
-
- orderOutMergePreviewChild.value.open = true;
- orderOutMergePreviewChild.value.records = orderIds;
- })
+const handleGenerateOut = (waveId) => {
+ orderOutWavePreviewChild.value.open = true;
+ orderOutWavePreviewChild.value.waveId = waveId;
}
const handleDel = (rows) => {
Modal.confirm({
- title: formatMessage('page.delete', '鍒犻櫎'),
- content: formatMessage('page.delete.confirm', '纭畾鍒犻櫎璇ラ」鍚楋紵'),
+ title: formatMessage('page.cancel', '鍙栨秷'),
+ content: formatMessage('page.cancel.confirm', '纭畾鍙栨秷璇ラ」鍚楋紵'),
maskClosable: true,
onOk: async () => {
const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
@@ -301,29 +306,41 @@
<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>
+ <a-input v-model:value="searchParam.waveNo" :placeholder="formatMessage('page.wave.waveNo.input', '璇疯緭鍏ユ尝娆″彿')"
+ style="width: 140px;margin-right: 10px;" />
+ <a-input v-model:value="searchParam.matnr" :placeholder="formatMessage('page.wave.matnr.input', '璇疯緭鍏ュ晢鍝佺紪鍙�')"
+ style="width: 140px;margin-right: 10px;" />
+ <a-input v-model:value="searchParam.batch" :placeholder="formatMessage('page.wave.batch.input', '璇疯緭鍏ユ壒鍙�')"
+ style="width: 140px;margin-right: 10px;" />
+
+ <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
+ style="width: 200px;" @search="onSearch" />
+ </div>
<!-- <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 :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="index"
- :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn">
+ :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="handleGenerateOut(record)">{{ formatMessage('page.generateOut',
- '鐢熸垚鍑哄簱浠诲姟')
+ <a-button type="link" primary :disabled="record.waveStatus != 0"
+ @click="handleGenerateOut(record.waveId)">{{
+ formatMessage('page.generateOut',
+ '鐢熸垚鍑哄簱浠诲姟')
}}</a-button>
- <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
+ <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.cancel', '鍙栨秷')
}}</a-button>
</div>
</template>
</template>
</a-table>
- <OrderOutMergePreviewView ref="orderOutMergePreviewChild" @reload="handleChildReload" />
+ <OrderOutWavePreviewView ref="orderOutWavePreviewChild" @reload="handleChildReload" />
</div>
</template>
--
Gitblit v1.9.1