| | |
| | | <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange" |
| | | placeholder="请选择" clearable @change="changeDaterange" /> |
| | | </el-form-item> |
| | | <el-form-item label="发货状态:"> |
| | | <el-select v-model="searchForm.deliveryStatus" placeholder="请选择" clearable style="width: 140px"> |
| | | <el-option label="未发货" :value="1" /> |
| | | <el-option label="审批中" :value="2" /> |
| | | <el-option label="审批失败" :value="3" /> |
| | | <el-option label="已发货" :value="4" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="handleQuery"> 搜索 </el-button> |
| | | </el-form-item> |
| | |
| | | :formatter="formattedNumber" /> |
| | | <el-table-column label="发货状态" width="140" align="center"> |
| | | <template #default="scope"> |
| | | <el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="success">未发货</el-tag> |
| | | <el-tag v-if="Number(scope.row.deliveryStatus) === 2" type="success">审批中</el-tag> |
| | | <el-tag v-if="Number(scope.row.deliveryStatus) === 3" type="success">审批不通过</el-tag> |
| | | <el-tag v-if="Number(scope.row.deliveryStatus) === 4" type="success">已发货</el-tag> |
| | | <el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="info">未发货</el-tag> |
| | | <el-tag v-else-if="Number(scope.row.deliveryStatus) === 2" type="warning">审批中</el-tag> |
| | | <el-tag v-else-if="Number(scope.row.deliveryStatus) === 3" type="danger">审批失败</el-tag> |
| | | <el-tag v-else-if="Number(scope.row.deliveryStatus) === 4" type="success">已发货</el-tag> |
| | | <el-tag v-else type="info">-</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="录入人" prop="entryPersonName" width="100" show-overflow-tooltip /> |
| | |
| | | entryDate: null, // 录入日期 |
| | | entryDateStart: undefined, |
| | | entryDateEnd: undefined, |
| | | deliveryStatus: undefined, // 发货状态:1未发货 2审批中 3审批失败 4已发货 |
| | | }, |
| | | form: { |
| | | salesContractNo: "", |
| | |
| | | return; |
| | | } |
| | | |
| | | // 已发货台账:弹窗提醒,不能再次发货 |
| | | const shippedLedgers = selectedRows.value.filter((r) => Number(r.deliveryStatus) === 1); |
| | | // 只允许【未发货/审批失败】进入发货流程 |
| | | const canDeliveryLedgers = selectedRows.value.filter((r) => { |
| | | const status = Number(r.deliveryStatus); |
| | | return status === 1 || status === 3; |
| | | }); |
| | | if (canDeliveryLedgers.length === 0) { |
| | | proxy.$modal.msgWarning("仅未发货或审批失败的台账可以发货"); |
| | | return; |
| | | } |
| | | |
| | | // 已发货台账:弹窗提醒,不能再次发货(4 视为已发货) |
| | | const shippedLedgers = selectedRows.value.filter((r) => Number(r.deliveryStatus) === 4); |
| | | if (shippedLedgers.length === selectedRows.value.length) { |
| | | try { |
| | | await ElMessageBox.alert("所选销售台账均已发货,不能再次发货。", "提示", { |
| | |
| | | }); |
| | | } |
| | | |
| | | // 打开发货弹框 |
| | | // 打开发货弹框(单条) |
| | | const openDeliveryForm = (row) => { |
| | | // 如果该行已经发货(deliveryStatus=1),禁止再次发货 |
| | | if (Number(row.deliveryStatus) === 1) { |
| | | ElMessageBox.alert("该记录已发货,不能再次发货。", "提示", { |
| | | type: "warning", |
| | | confirmButtonText: "知道了", |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 检查是否可以发货 |
| | | if (!canShip(row)) { |
| | | proxy.$modal.msgWarning("只有在产品状态是充足,发货状态是待发货或审核拒绝的时候才可以发货"); |
| | | // 只允许【未发货/审批失败】发货;已发货/审批中不允许 |
| | | const status = Number(row.deliveryStatus); |
| | | if (status !== 1 && status !== 3) { |
| | | proxy.$modal.msgWarning("只有发货状态为未发货或审批失败的记录才可以发货"); |
| | | return; |
| | | } |
| | | |