This commit is contained in:
jhd
2026-07-10 09:13:26 +08:00
19 changed files with 566 additions and 165 deletions

View File

@@ -132,6 +132,35 @@
</div>
<div class="detail-card-body" style="padding: 12px;">
<div v-loading="productCoilLoading">
<el-form :inline="true" size="small" class="coil-filter-bar" style="margin-bottom: 8px;">
<el-form-item label="钢卷号">
<el-input v-model="productCoilBo.currentCoilNo" placeholder="当前钢卷号" clearable @keyup.enter.native="handleProductFilter" style="width: 160px;" />
</el-form-item>
<el-form-item label="材料类型">
<el-select v-model="productCoilBo.materialType" placeholder="全部" clearable style="width: 100px;">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
</el-select>
</el-form-item>
<el-form-item label="质量状态">
<el-select v-model="productCoilBo.qualityStatus" placeholder="全部" clearable style="width: 100px;">
<el-option label="正常" value="0" />
<el-option label="待检" value="1" />
<el-option label="不合格" value="2" />
</el-select>
</el-form-item>
<el-form-item label="发货状态">
<el-select v-model="productCoilBo.status" placeholder="全部" clearable style="width: 100px;">
<el-option label="在库" :value="0" />
<el-option label="在途" :value="1" />
<el-option label="已发货" :value="2" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" size="mini" @click="handleProductFilter">查询</el-button>
<el-button size="mini" @click="resetProductFilter">重置</el-button>
</el-form-item>
</el-form>
<CoilTable ref="productCoilTable" :data="productCoilList || []" :showSelection="true"
:pagination="productPagination" :total-statistics="productTotalStatistics"
@selection-change="handleProductSelectionChange" @page-change="handleProductPageChange">
@@ -221,6 +250,7 @@ export default {
productCoilStatistics: {},
productPagination: { total: 0, currentPage: 1, pageSize: 20 },
productCoilLoading: false,
productCoilBo: {},
batchTransferDialogVisible: false,
batchTargetContractId: '',
batchTransferCoilIds: [],
@@ -387,9 +417,11 @@ export default {
fetchProductCoils() {
if (!this.currentOrder || !this.currentOrder.orderId) return
this.productCoilLoading = true
listProductCoilsByContract(this.currentOrder.orderId, {
listProductCoilsByContract({
contractId: this.currentOrder.orderId,
pageNum: this.productPagination.currentPage,
pageSize: this.productPagination.pageSize
pageSize: this.productPagination.pageSize,
coilBo: this.productCoilBo
}).then(res => {
this.productCoilList = res.rows || []
this.productPagination.total = res.total || 0
@@ -399,10 +431,19 @@ export default {
},
fetchProductCoilStatistics() {
if (!this.currentOrder || !this.currentOrder.orderId) return
getProductCoilsStatisticsByContract(this.currentOrder.orderId).then(res => {
getProductCoilsStatisticsByContract({ contractId: this.currentOrder.orderId, coilBo: this.productCoilBo }).then(res => {
this.productCoilStatistics = res.data || {}
})
},
handleProductFilter() {
this.productPagination.currentPage = 1
this.fetchProductCoils()
this.fetchProductCoilStatistics()
},
resetProductFilter() {
this.productCoilBo = {}
this.handleProductFilter()
},
handleProductSelectionChange(selection) {
this.selectedProductRows = selection
},

View File

@@ -35,7 +35,10 @@
statusMap[item.scheduleStatus] || '未知' }}</span>
</div>
<div class="item-sub">
生产日期{{ item.prodDate || '-' }} 客户{{ item.customerName || '-' }} 业务员{{ item.businessUser || '-' }}
生产日期{{ item.prodDate || '-' }}
</div>
<div class="item-sub">
客户{{ item.customerName || '-' }} 业务员{{ item.businessUser || '-' }}
</div>
<div class="item-actions">
<button class="link-btn" @click.stop="handleDelete(item)">删除</button>

View File

@@ -682,7 +682,6 @@ import draggable from 'vuedraggable'
export default {
name: 'ApsSchedule',
components: { ProcessSelect, draggable },
components: { ProcessSelect },
props: {
// 由 flow.vue 通过 switchApsPage 传入的参数
apsParams: {
@@ -775,9 +774,7 @@ export default {
watch: {
scheduledStepTab() {
this.refreshScheduledStepItems()
}
},
watch: {
},
// 接收 flow.vue 传入的参数:设置日期并自动查询
apsParams: {
handler(val) {