| | |
| | | {{ scope.row.perimeter ?? "" }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="总面积(cm²)" |
| | | <el-table-column label="总面积(m²)" |
| | | prop="actualTotalArea" |
| | | min-width="100"> |
| | | <template #default="scope"> |
| | |
| | | show-overflow-tooltip /> |
| | | <el-table-column label="备注" |
| | | prop="remarks" |
| | | width="200" |
| | | show-overflow-tooltip /> |
| | | <el-table-column label="客户备注" |
| | | prop="customerRemarks" |
| | | width="200" |
| | | show-overflow-tooltip /> |
| | | <el-table-column fixed="right" |
| | |
| | | type="primary" |
| | | size="small" |
| | | @click="openOtherAmountInline(scope.row)"> |
| | | 其他金额({{ (scope.row.salesProductProcessList || []).length || 0 }}) |
| | | 额外加工({{ (scope.row.salesProductProcessList || []).length || 0 }}) |
| | | </el-button> |
| | | </template> |
| | | <div style="display:flex; align-items:center; justify-content:space-between; gap: 10px; margin-bottom: 8px;"> |
| | | <div style="font-weight: 600; color:#303133;"> |
| | | 其他金额 |
| | | 额外加工 |
| | | </div> |
| | | <el-button type="primary" |
| | | plain |
| | |
| | | <el-select v-model="scope.row.__inlineOtherAmountAddId" |
| | | filterable |
| | | clearable |
| | | placeholder="请选择其他金额项目" |
| | | placeholder="请选择额外加工项目" |
| | | style="width: 100%;"> |
| | | <el-option v-for="item in otherAmountSelectOptions" |
| | | :key="item.id" |
| | |
| | | </div> |
| | | <div v-else |
| | | style="color:#909399; font-size: 13px;"> |
| | | 暂无其他金额 |
| | | 暂无额外加工 |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | |
| | | size="small" |
| | | :disabled="isProductShipped(scope.row)" |
| | | @click="openOtherAmountInline(scope.row)"> |
| | | 其他金额({{ (scope.row.salesProductProcessList || []).length || 0 }}) |
| | | 额外加工({{ (scope.row.salesProductProcessList || []).length || 0 }}) |
| | | </el-button> |
| | | </template> |
| | | <div style="display:flex; align-items:center; justify-content:space-between; gap: 10px; margin-bottom: 8px;"> |
| | | <div style="font-weight: 600; color:#303133;"> |
| | | 其他金额 |
| | | 额外加工 |
| | | </div> |
| | | <el-button type="primary" |
| | | plain |
| | |
| | | <el-select v-model="scope.row.__inlineOtherAmountAddId" |
| | | filterable |
| | | clearable |
| | | placeholder="请选择其他金额项目" |
| | | placeholder="请选择额外加工项目" |
| | | style="width: 100%;" |
| | | :disabled="isProductShipped(scope.row)"> |
| | | <el-option v-for="item in otherAmountSelectOptions" |
| | |
| | | </div> |
| | | <div v-else |
| | | style="color:#909399; font-size: 13px;"> |
| | | 暂无其他金额 |
| | | 暂无额外加工 |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | |
| | | if (!row) return false; |
| | | if (!row.productCategory) { |
| | | proxy.$modal.msgWarning("请选择产品大类"); |
| | | return false; |
| | | } |
| | | if (row.width <= 0) { |
| | | proxy.$modal.msgWarning("宽必须大于0"); |
| | | return false; |
| | | } |
| | | if (row.height <= 0) { |
| | | proxy.$modal.msgWarning("高必须大于0"); |
| | | return false; |
| | | } |
| | | if (row.settlePieceArea <= 0) { |
| | | proxy.$modal.msgWarning("结算单片面积必须大于0"); |
| | | return false; |
| | | } |
| | | if (row.quantity <= 0) { |
| | | proxy.$modal.msgWarning("数量必须大于0"); |
| | | return false; |
| | | } |
| | | if (row.actualTotalArea <= 0) { |
| | | proxy.$modal.msgWarning("面积必须大于0"); |
| | | return false; |
| | | } |
| | | if (row.taxInclusiveUnitPrice <= 0) { |
| | | proxy.$modal.msgWarning("含税单价必须大于0"); |
| | | return false; |
| | | } |
| | | if (!row.productModelId) { |
| | |
| | | } |
| | | |
| | | // 只允许【未发货/审批失败】进入发货流程 |
| | | const canDeliveryLedgers = selectedRows.value.filter(r => { |
| | | const status = Number(r.deliveryStatus); |
| | | return status === 1 || status === 3; |
| | | const statusItem = selectedRows.value[0].deliveryStatus; |
| | | const isTrue = true; |
| | | selectedRows.value.forEach(row => { |
| | | if (row.deliveryStatus != 1 && row.deliveryStatus != 3) { |
| | | proxy.$modal.msgWarning("仅未发货或审批失败的台账可以合并发货"); |
| | | isTrue = false; |
| | | return; |
| | | } |
| | | if (row.deliveryStatus !== statusItem) { |
| | | proxy.$modal.msgWarning("请选择相同状态的销售台账"); |
| | | isTrue = false; |
| | | return; |
| | | } |
| | | }); |
| | | if (canDeliveryLedgers.length === 0) { |
| | | proxy.$modal.msgWarning("仅未发货或审批失败的台账可以发货"); |
| | | if (!isTrue) { |
| | | return; |
| | | } |
| | | |