| | |
| | | <div class="search-item"> |
| | | <span class="search-label">组货单号:</span> |
| | | <el-input |
| | | v-model="searchForm.uuid" |
| | | v-model="searchForm.itemName" |
| | | placeholder="请输入组货单号" |
| | | clearable |
| | | style="width: 150px;" |
| | |
| | | style="width: 150px;" |
| | | > |
| | | <el-option label="全部" value=""></el-option> |
| | | <el-option label="待处理" value="1"></el-option> |
| | | <el-option label="作业中" value="2"></el-option> |
| | | <el-option label="已取消" value="3"></el-option> |
| | | <el-option label="已完成" value="4"></el-option> |
| | | <el-option label="准备取消" value="5"></el-option> |
| | | <el-option label="已完成" value="6"></el-option> |
| | | <el-option label="上报完成" value="7"></el-option> |
| | | <el-option label="待判查询中" value="9"></el-option> |
| | | <el-option label="就绪" value="10"></el-option> |
| | | <el-option label="生成实际组货单中。请等待..." value="11"></el-option> |
| | | <el-option label="生成实际组货单成功" value="12"></el-option> |
| | | <el-option label="生成实际组货单失败" value="13"></el-option> |
| | | <el-option label="异常" value="99"></el-option> |
| | | <el-option label="待处理" value="10"></el-option> |
| | | <el-option label="检验中" value="11"></el-option> |
| | | <el-option label="出库中" value="12"></el-option> |
| | | <el-option label="存在不合格" value="13"></el-option> |
| | | <el-option label="待上报" value="15"></el-option> |
| | | <el-option label="上报完成" value="16"></el-option> |
| | | <el-option label="上报失败" value="17"></el-option> |
| | | <el-option label="异常" value="98"></el-option> |
| | | <el-option label="废弃" value="99"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search-actions"> |
| | |
| | | style="width: 100%" |
| | | v-loading="loading" |
| | | @sort-change="handleSortChange"> |
| | | <el-table-column prop="uuid" label="组货单号" width="120" align="center" sortable="custom"></el-table-column> |
| | | <el-table-column prop="orderNo" label="订单编号" min-width="140" align="center"></el-table-column> |
| | | <el-table-column prop="itemName" label="组货单号" width="120" align="center" sortable="custom"></el-table-column> |
| | | <!-- <el-table-column prop="orderNo" label="订单编号" min-width="140" align="center"></el-table-column>--> |
| | | <!-- <el-table-column prop="memo" label="备注" min-width="120" align="center"></el-table-column>--> |
| | | <el-table-column prop="cstmrName" label="客户名称" min-width="120" align="center"></el-table-column> |
| | | <el-table-column prop="settle" label="状态" min-width="100" align="center" :formatter="formatStatus"></el-table-column> |
| | | <!-- <el-table-column prop="totalFee" label="合计金额" min-width="100" align="center" :formatter="formatCurrency"></el-table-column>--> |
| | |
| | | class="detail-dialog" |
| | | @close="closeDetailDialog"> |
| | | <div v-if="currentRow"> |
| | | <h3>组货单主表 (组货单号: {{ currentRow.uuid }})</h3> |
| | | <h3>组货单主表 (组货单号: {{ currentRow.itemName }})</h3> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="订单编号">{{ currentRow.orderNo }}</el-descriptions-item> |
| | | <!-- <el-descriptions-item label="订单编号">{{ currentRow.orderNo }}</el-descriptions-item>--> |
| | | <el-descriptions-item label="客户名称">{{ currentRow.cstmrName }}</el-descriptions-item> |
| | | <el-descriptions-item label="状态">{{ currentRow.settle$ }}</el-descriptions-item> |
| | | <el-descriptions-item label="合计金额">{{ formatCurrency(currentRow) }}</el-descriptions-item> |
| | | <el-descriptions-item label="状态">{{ formatStatus(currentRow)}}</el-descriptions-item> |
| | | <el-descriptions-item label="创建时间">{{ formatDate(currentRow.createTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="备注">{{ currentRow.memo || '无' }}</el-descriptions-item> |
| | | </el-descriptions> |
| | |
| | | <el-table-column prop="matnr" label="规格" min-width="120" align="center"></el-table-column> |
| | | <el-table-column prop="batch" label="箱号" min-width="80" align="center"></el-table-column> |
| | | <el-table-column prop="model" label="卷号" min-width="100" align="center" ></el-table-column> |
| | | <!-- <el-table-column prop="totalPrice" label="金额" min-width="100" align="center" :formatter="formatCurrency"></el-table-column>--> |
| | | <el-table-column prop="origin" label="位置" min-width="100" align="center"></el-table-column> |
| | | <el-table-column prop="danger" label="待判" min-width="100" align="center"></el-table-column> |
| | | <el-table-column prop="memo" label="备注" min-width="100" align="center"></el-table-column> |
| | | <el-table-column prop="status" label="状态" min-width="100" align="center" :formatter="formatStatusB"></el-table-column> |
| | | <!-- 可根据实际需求添加更多子表列 --> |
| | | </el-table> |
| | | |
| | |
| | | data: { |
| | | // 搜索表单 |
| | | searchForm: { |
| | | uuid: '', |
| | | item_name: '', |
| | | cstmr_name: '', |
| | | settle: '', |
| | | order_no: '' |
| | |
| | | if (that.searchForm[key] !== '') { |
| | | if (key === 'orderNo'){ |
| | | params['order_no'] = that.searchForm[key]; |
| | | } else if (key === 'itemName'){ |
| | | params['item_name'] = that.searchForm[key]; |
| | | } else if (key === 'cstmrName'){ |
| | | params['cstmr_name'] = that.searchForm[key]; |
| | | } else if (key === 'settle$'){ |
| | | params['settle'] = that.searchForm[key]; |
| | | } else { |
| | | params[key] = that.searchForm[key]; |
| | | } |
| | |
| | | }); |
| | | |
| | | $.ajax({ |
| | | // url: baseUrl + "/order/pakout/order/cargo/grouping/auth/v1", |
| | | url: baseUrl + "/order/head/page/auth", |
| | | url: baseUrl + "/order/pakout/order/cargo/grouping/auth/v1", |
| | | // url: baseUrl + "/order/head/page/auth", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | |
| | | |
| | | // 模拟API调用 - 根据实际业务调整API地址 |
| | | $.ajax({ |
| | | // url: baseUrl + "/order/pakout/orderDetl/cargo/grouping/auth", |
| | | url: baseUrl + "/orderDetl/list/auth", |
| | | url: baseUrl + "/order/pakout/orderDetl/cargo/grouping/auth", |
| | | // url: baseUrl + "/orderDetl/list/auth", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | |
| | | error: function() { |
| | | that.detailLoading = false; |
| | | // 实际项目中应使用真实API,这里使用模拟数据 |
| | | that.mockTableBData(uuid); |
| | | that.mockTableBData(itemName); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | return; |
| | | } |
| | | |
| | | const groupOrderNo = this.currentRow.uuid; |
| | | const groupOrderNo = this.currentRow.itemName; |
| | | |
| | | this.$confirm( |
| | | `是否确认开始上报组货单号 <strong style="color: #F56C6C; font-size: 16px;">${groupOrderNo}</strong>?<br/><br/>将生成实际组货单,单一组货单号只能操作一次!!!`, |
| | |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: JSON.stringify({ |
| | | uuid: groupOrderNo // 传递组货单号 |
| | | item_name: groupOrderNo // 传递组货单号 |
| | | }), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | |
| | | // 重置搜索条件 |
| | | handleReset() { |
| | | this.searchForm = { |
| | | uuid: '', |
| | | item_name: '', |
| | | cstmr_name: '', |
| | | settle: '', |
| | | order_no: '' |
| | |
| | | |
| | | // 格式化状态显示 |
| | | formatStatus(row) { |
| | | if (row.settle === 1) { |
| | | return '正常'; |
| | | } else if (row.settle === 0) { |
| | | return '禁用'; |
| | | } else if (row.settle === 0) { |
| | | return '禁用'; |
| | | } else if (row.settle === 0) { |
| | | return '禁用'; |
| | | } else if (row.settle === 0) { |
| | | return '禁用'; |
| | | if (row.settle === 10) { |
| | | return '待处理'; |
| | | } else if (row.settle === 11) { |
| | | return '检验中'; |
| | | } else if (row.settle === 12) { |
| | | return '出库中'; |
| | | } else if (row.settle === 13) { |
| | | return '存在不合格'; |
| | | } else if (row.settle === 15) { |
| | | return '待上报'; |
| | | } else if (row.settle === 16) { |
| | | return '上报完成'; |
| | | } else if (row.settle === 17) { |
| | | return '上报失败'; |
| | | } else if (row.settle === 98) { |
| | | return '异常'; |
| | | } else if (row.settle === 99) { |
| | | return '废弃'; |
| | | } else { |
| | | return row.settle || '未知'; |
| | | } |
| | | }, |
| | | |
| | | // 格式化状态显示 |
| | | formatStatusB(row) { |
| | | if (row.status === 0) { |
| | | return '异常'; |
| | | } else if (row.status === 1) { |
| | | return '正常'; |
| | | } else if (row.status === 2) { |
| | | return '待上报'; |
| | | } else if (row.status === 3) { |
| | | return '已上报'; |
| | | } else { |
| | | return row.status || '未知'; |
| | | } |
| | | }, |
| | | |
| | |
| | | mockTableAData() { |
| | | this.tableDataA = [ |
| | | { |
| | | uuid: 'ZH1001', |
| | | itemName: 'ZH1001', |
| | | orderNo: 'ORDER2024001', |
| | | cstmrName: '示例客户A', |
| | | settle: 1, |
| | |
| | | memo: '测试数据' |
| | | }, |
| | | { |
| | | uuid: 'ZH1002', |
| | | itemName: 'ZH1002', |
| | | orderNo: 'ORDER2024002', |
| | | cstmrName: '示例客户B', |
| | | settle: 1, |
| | |
| | | }, |
| | | |
| | | // 模拟子表数据 - 实际项目中应删除 |
| | | mockTableBData(uuid) { |
| | | mockTableBData(itemName) { |
| | | this.tableDataB = [ |
| | | { productName: `产品A-${uuid}`, quantity: 2, price: 500.00, totalPrice: 1000.00 }, |
| | | { productName: `产品B-${uuid}`, quantity: 1, price: 300.50, totalPrice: 300.50 } |
| | | { productName: `产品A-${itemName}`, quantity: 2, price: 500.00, totalPrice: 1000.00 }, |
| | | { productName: `产品B-${itemName}`, quantity: 1, price: 300.50, totalPrice: 300.50 } |
| | | ]; |
| | | this.detailTotal = 2; |
| | | this.detailLoading = false; |