新疆马铃薯
1.销售合同号都改成订单号
2.页面有订单号的关联带出总合同号
| | |
| | | | 字段 | 类型 | 说明 | |
| | | |------|------|------| |
| | | | salesLedgerId | Long | 销售台账ID | |
| | | | salesContractNo | String | 销售合同号 | |
| | | | salesContractNo | String | 订单号 | |
| | | | productId | Long | 产品ID | |
| | | | productName | String | 产品名称 | |
| | | | model | String | 规格型号 | |
| | |
| | | | 字段 | 类型 | 说明 | |
| | | |------|------|------| |
| | | | salesLedgerId | Long | 销售台账ID | |
| | | | salesContractNo | String | 销售合同号 | |
| | | | salesContractNo | String | 订单号 | |
| | | | shippingId | Long | 发货单ID | |
| | | | shippingNo | String | 发货单号 | |
| | | | productName | String | 产品名称 | |
| | |
| | | |------|------|------| |
| | | | shippingId | Long | 发货单ID | |
| | | | shippingNo | String | 发货单号 | |
| | | | salesContractNo | String | 销售合同号 | |
| | | | salesContractNo | String | 订单号 | |
| | | | customerName | String | 客户名称 | |
| | | | productName | String | 产品名称 | |
| | | | model | String | 规格型号 | |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="销售合同号"> |
| | | <el-form-item label="订单号"> |
| | | <el-input v-model="form.salesContractNo" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | }) |
| | | } |
| | | |
| | | // 根据客户查询销售订单号 |
| | | // 根据客户查询订单号号 |
| | | // afterSalesService/listSalesLedger |
| | | export function getSalesLedger(query) { |
| | | return request({ |
| | |
| | | }) |
| | | } |
| | | |
| | | // 根据销售订单号查询销售订单详情 |
| | | // 根据订单号号查询订单号详情 |
| | | // afterSalesService/count |
| | | export function getSalesLedgerDetail(query) { |
| | | return request({ |
| | |
| | | }); |
| | | } |
| | | |
| | | // 销售退货-根据出库单查询销售订单以及产品信息 |
| | | // 销售退货-根据出库单查询订单号以及产品信息 |
| | | // /returnManagement/getByShippingId |
| | | export function returnManagementGetByShippingId(query) { |
| | | return request({ |
| | |
| | | }); |
| | | } |
| | | |
| | | // 根据销售合同号查产品信息 |
| | | // 根据订单号查产品信息 |
| | | export function getProductInfoByContractNo(query) { |
| | | return request({ |
| | | url: "/purchase/ledger/getProductBySalesNo", |
| | |
| | | collectionStrategy: '回款策略', |
| | | quotationStrategy: '报价策略', |
| | | nextAction: '下一步动作', |
| | | salesContractNo: '销售合同号', |
| | | salesContractNo: '订单号', |
| | | revenue: '收入', |
| | | materialCost: '材料成本', |
| | | laborCost: '人工成本', |
| | |
| | | purchaseContractNumber: '采购合同号', |
| | | purchaseContractNo: '采购合同号', |
| | | purchaseOrderNumber: '采购合同号', |
| | | salesContractNo: '销售合同号', |
| | | salesContractNumber: '销售合同号', |
| | | salesOrderNumber: '销售合同号', |
| | | salesContractNo: '订单号', |
| | | salesContractNumber: '订单号', |
| | | salesOrderNumber: '订单号', |
| | | salesContractNoId: '销售合同ID', |
| | | approveUserIds: '审批用户ID列表', |
| | | entryDateStart: '录入开始日期', |
| | |
| | | 采购合同号: 'purchaseContractNumber', |
| | | 采购单号: 'purchaseContractNumber', |
| | | 采购订单号: 'purchaseContractNumber', |
| | | 销售合同号: 'salesContractNo', |
| | | 销售单号: 'salesContractNo', |
| | | 销售订单号: 'salesContractNo', |
| | | 订单号: 'salesContractNo', |
| | | 订单号: 'salesContractNo', |
| | | 订单号号: 'salesContractNo', |
| | | 销售合同ID: 'salesContractNoId', |
| | | 审批用户ID列表: 'approveUserIds', |
| | | 录入开始日期: 'entryDateStart', |
| | |
| | | <el-descriptions-item label="采购合同号">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item> |
| | | <el-descriptions-item label="供应商名称">{{ currentPurchase.supplierName }}</el-descriptions-item> |
| | | <el-descriptions-item label="项目名称">{{ currentPurchase.projectName }}</el-descriptions-item> |
| | | <el-descriptions-item label="销售合同号">{{ currentPurchase.salesContractNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单号">{{ currentPurchase.salesContractNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="签订日期">{{ currentPurchase.executionDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="录入日期">{{ currentPurchase.entryDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="付款方式">{{ currentPurchase.paymentMethod }}</el-descriptions-item> |
| | |
| | | <template v-else> |
| | | <el-descriptions :column="2" |
| | | border> |
| | | <el-descriptions-item label="销售订单">{{ currentDelivery.shippingInfo.salesContractNo || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单号">{{ currentDelivery.shippingInfo.salesContractNo || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货订单号">{{ currentDelivery.shippingInfo.shippingNo || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ currentDelivery.shippingInfo.customerName || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货类型">{{ currentDelivery.shippingInfo.type || '--' }}</el-descriptions-item> |
| | |
| | | clearable |
| | | :prefix-icon="Search" /> |
| | | </el-form-item> |
| | | <el-form-item label="销售合同号:"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | prop="purchaseContractNumber" |
| | | width="200" |
| | | show-overflow-tooltip /> |
| | | <el-table-column label="销售合同号" |
| | | <el-table-column label="订单号" |
| | | prop="salesContractNo" |
| | | width="200" |
| | | show-overflow-tooltip /> |
| | |
| | | <div class="app-container"> |
| | | <div class="search_form"> |
| | | <div> |
| | | <span class="search_title">销售合同号:</span> |
| | | <span class="search_title">订单号:</span> |
| | | <el-input |
| | | v-model="searchForm.salesContractNo" |
| | | style="width: 240px" |
| | | placeholder="请输入销售合同号搜索" |
| | | placeholder="请输入订单号搜索" |
| | | @change="handleQuery" |
| | | clearable |
| | | :prefix-icon="Search" |
| | |
| | | }, |
| | | }, |
| | | { |
| | | label: "销售合同号", |
| | | label: "订单号", |
| | | prop: "salesContractNo", |
| | | width: 170 |
| | | }, |
| | |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="searchForm.orderNo" |
| | | placeholder="请输入销售单号" |
| | | placeholder="请输入订单号" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "销售单号", |
| | | label: "订单号", |
| | | prop:"salesContractNo", |
| | | width: 150, |
| | | align: "center" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="关联销售单号:" |
| | | <el-form-item label="关联订单号:" |
| | | prop="salesContractNo"> |
| | | <el-select v-model="form.salesContractNo" |
| | | @change="associatedSalesOrderNumberChange" |
| | |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-input v-model="searchForm.orderNo" |
| | | placeholder="请输入销售单号" |
| | | placeholder="请输入订单号" |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | align: "center", |
| | | }, |
| | | { |
| | | label: "销售单号", |
| | | label: "订单号", |
| | | prop: "salesContractNo", |
| | | width: 150, |
| | | align: "center", |
| | |
| | | <el-table-column prop="customerName" label="客户名称" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="productName" label="产品名称" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="specificationModel" label="规格型号" min-width="140" show-overflow-tooltip /> |
| | | <el-table-column prop="salesContractNo" label="销售合同号" min-width="140" show-overflow-tooltip /> |
| | | <el-table-column prop="salesContractNo" label="订单号" min-width="140" show-overflow-tooltip /> |
| | | <el-table-column prop="shippingNo" label="发货单号" min-width="130" show-overflow-tooltip /> |
| | | <el-table-column prop="shippingDate" label="发货日期" width="110" align="center" /> |
| | | <el-table-column prop="outboundAmount" label="出库金额" width="110" align="right"> |
| | |
| | | min-width="140" |
| | | show-overflow-tooltip /> |
| | | <el-table-column prop="salesContractNo" |
| | | label="销售合同号" |
| | | label="订单号" |
| | | min-width="140" |
| | | show-overflow-tooltip /> |
| | | <el-table-column prop="shippingNo" |
| | |
| | | }), |
| | | }, |
| | | { label: "发货编号", prop: "shippingNo", minWidth: "140" }, |
| | | { label: "销售订单号", prop: "salesContractNo", minWidth: "150" }, |
| | | { label: "订单号号", prop: "salesContractNo", minWidth: "150" }, |
| | | ]; |
| | | |
| | | const dataList = ref([]); |
| | |
| | | : Number(val).toLocaleString("zh-CN", { minimumFractionDigits: 2, maximumFractionDigits: 2 }), |
| | | }, |
| | | { label: "退货原因", prop: "returnReason", minWidth: "150", showOverflowTooltip: true }, |
| | | { label: "销售订单号", prop: "salesContractNo", minWidth: "150" }, |
| | | { label: "订单号号", prop: "salesContractNo", minWidth: "150" }, |
| | | ]; |
| | | |
| | | const dataList = ref([]); |
| | |
| | | :model="formState" |
| | | label-position="top" |
| | | ref="formRef"> |
| | | <el-form-item label="产品名称" |
| | | prop="productModelId" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择产品', |
| | | trigger: 'change', |
| | | } |
| | | ]"> |
| | | <el-button type="primary" |
| | | @click="showProductSelectDialog = true"> |
| | | {{ formState.productName ? formState.productName : '选择产品' }} |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item label="规格" |
| | | prop="productModelName"> |
| | | <el-input v-model="formState.productModelName" |
| | | disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="单位" |
| | | prop="unit"> |
| | | <el-input v-model="formState.unit" |
| | | disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="库存类型" |
| | | prop="type" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择库存类型', |
| | | trigger: 'change', |
| | | } |
| | | ]"> |
| | | <el-select v-model="formState.type" |
| | | placeholder="请选择库存类型"> |
| | | <el-option label="合格库存" |
| | | value="qualified" /> |
| | | <el-option label="不合格库存" |
| | | value="unqualified" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="库存数量" |
| | | prop="qualitity"> |
| | | <el-input-number v-model="formState.qualitity" |
| | | :step="1" |
| | | :min="1" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="批号" |
| | | prop="batchNo"> |
| | | <el-input v-model="formState.batchNo" |
| | | placeholder="请输入批号" /> |
| | | </el-form-item> |
| | | <el-form-item v-if="formState.type === 'qualified'" |
| | | label="库存预警数量" |
| | | prop="warnNum"> |
| | | <el-input-number v-model="formState.warnNum" |
| | | :step="1" |
| | | :min="0" |
| | | :max="formState.qualitity" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="入库时间" |
| | | prop="createTime"> |
| | | <el-date-picker v-model="formState.createTime" |
| | | type="datetime" |
| | | placeholder="请选择入库时间" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="产品名称" |
| | | prop="productModelId" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择产品', |
| | | trigger: 'change', |
| | | } |
| | | ]"> |
| | | <el-button type="primary" |
| | | @click="showProductSelectDialog = true"> |
| | | {{ formState.productName ? formState.productName : '选择产品' }} |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="规格" |
| | | prop="productModelName"> |
| | | <el-input v-model="formState.productModelName" |
| | | disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="单位" |
| | | prop="unit"> |
| | | <el-input v-model="formState.unit" |
| | | disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="库存类型" |
| | | prop="type" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | message: '请选择库存类型', |
| | | trigger: 'change', |
| | | } |
| | | ]"> |
| | | <el-select v-model="formState.type" |
| | | placeholder="请选择库存类型"> |
| | | <el-option label="合格库存" |
| | | value="qualified" /> |
| | | <el-option label="不合格库存" |
| | | value="unqualified" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="库存数量" |
| | | prop="qualitity"> |
| | | <el-input-number v-model="formState.qualitity" |
| | | :step="1" |
| | | :min="1" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="批号" |
| | | prop="batchNo"> |
| | | <el-input v-model="formState.batchNo" |
| | | placeholder="请输入批号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="入库时间" |
| | | prop="createTime"> |
| | | <el-date-picker v-model="formState.createTime" |
| | | type="datetime" |
| | | placeholder="请选择入库时间" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item v-if="formState.type === 'qualified'" |
| | | label="库存预警数量" |
| | | prop="warnNum"> |
| | | <el-input-number v-model="formState.warnNum" |
| | | :step="1" |
| | | :min="0" |
| | | :max="formState.qualitity" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="是否质检" |
| | | prop="needInspect"> |
| | | <el-switch v-model="formState.needInspect" |
| | | active-text="需要质检" |
| | | inactive-text="直接入库" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item v-if="formState.needInspect" |
| | | label="质检类型" |
| | | prop="inspectType"> |
| | | <el-radio-group v-model="formState.inspectType"> |
| | | <el-radio :value="0">原材料检验</el-radio> |
| | | <el-radio :value="1">过程检验</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="备注" |
| | | prop="remark"> |
| | | <el-input v-model="formState.remark" |
| | |
| | | warnNum: 0, |
| | | createTime: "", |
| | | remark: "", |
| | | needInspect: false, |
| | | inspectType: 0, |
| | | }); |
| | | |
| | | const isShow = computed({ |
| | |
| | | warnNum: 0, |
| | | createTime: "", |
| | | remark: "", |
| | | needInspect: false, |
| | | inspectType: 0, |
| | | }; |
| | | isShow.value = false; |
| | | }; |
| | |
| | | proxy.$modal.msgError("请选择规格"); |
| | | return; |
| | | } |
| | | // 构建请求参数 |
| | | const params = { |
| | | ...formState.value, |
| | | // 如果不需要质检,不传 inspectType |
| | | inspectType: formState.value.needInspect ? formState.value.inspectType : undefined, |
| | | }; |
| | | if (formState.value.type === "qualified") { |
| | | addStockInRecordOnly(formState.value).then(res => { |
| | | // 关闭模态框 |
| | | addStockInRecordOnly(params).then(res => { |
| | | isShow.value = false; |
| | | // 告知父组件已完成 |
| | | emit("completed"); |
| | | proxy.$modal.msgSuccess("提交成功"); |
| | | }); |
| | | } else { |
| | | formState.value.warnNum = 0; |
| | | createStockUnInventory(formState.value).then(res => { |
| | | params.warnNum = 0; |
| | | createStockUnInventory(params).then(res => { |
| | | // 关闭模态框 |
| | | isShow.value = false; |
| | | // 告知父组件已完成 |
| | |
| | | <div v-if="detailData.shippingInfo" class="shipment-detail"> |
| | | <el-divider content-position="left">发货详情</el-divider> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="销售订单">{{ |
| | | <el-descriptions-item label="订单号">{{ |
| | | detailData.shippingInfo.salesContractNo || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="出库批号">{{ |
| | |
| | | <el-descriptions-item label="项目名称">{{ |
| | | detailData.projectName || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="销售合同号">{{ |
| | | <el-descriptions-item label="订单号">{{ |
| | | detailData.salesContractNo || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="签订日期">{{ |
| | |
| | | <el-table-column label="采购合同号" |
| | | prop="purchaseContractNumber" |
| | | show-overflow-tooltip/> |
| | | <el-table-column label="采购总合同号" |
| | | prop="masterContractNo" |
| | | show-overflow-tooltip/> |
| | | <el-table-column label="项目名称" |
| | | prop="projectName" |
| | | show-overflow-tooltip/> |
| | |
| | | clearable |
| | | :prefix-icon="Search" /> |
| | | </el-form-item> |
| | | <el-form-item label="销售合同号:"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | prop="purchaseContractNumber" |
| | | width="160" |
| | | show-overflow-tooltip /> |
| | | <el-table-column label="销售合同号" |
| | | <el-table-column label="订单号" |
| | | prop="salesContractNo" |
| | | width="160" |
| | | show-overflow-tooltip /> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售合同号:" |
| | | <el-form-item label="订单号:" |
| | | prop="salesLedgerId"> |
| | | <el-select v-model="form.salesLedgerId" |
| | | placeholder="请选择" |
| | |
| | | width: 160, |
| | | }, |
| | | { |
| | | label: "采购总合同号", |
| | | prop: "masterContractNo", |
| | | width: 160, |
| | | }, |
| | | { |
| | | label: "制作日期", |
| | | prop: "preparedAt", |
| | | width: 130, |
| | |
| | | @change="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="销售合同号:"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input |
| | | v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | |
| | | </el-table-column> |
| | | <el-table-column align="center" label="序号" type="index" width="60" /> |
| | | <el-table-column label="采购合同号" prop="purchaseContractNumber" width="160" show-overflow-tooltip /> |
| | | <el-table-column label="销售合同号" prop="salesContractNo" width="160" show-overflow-tooltip /> |
| | | <el-table-column label="采购总合同号" prop="masterContractNo" width="160" show-overflow-tooltip /> |
| | | <el-table-column label="订单号" prop="salesContractNo" width="160" show-overflow-tooltip /> |
| | | <el-table-column label="供应商名称" prop="supplierName" width="160" show-overflow-tooltip /> |
| | | <el-table-column label="项目名称" prop="projectName" width="320" show-overflow-tooltip /> |
| | | <el-table-column label="收货状态" prop="status" width="100" show-overflow-tooltip> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售合同号:"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input :model-value="detailData.salesContractNo || ''" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | prop: "npsNo", |
| | | width: "150px", |
| | | }, |
| | | { |
| | | label: "销售总合同号", |
| | | prop: "masterContractNo", |
| | | width: "150px", |
| | | }, |
| | | // 1.待开始、2.进行中、3.已完成、4.已取消、5.已结束 |
| | | { |
| | | label: "状态", |
| | |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "销售合同号", |
| | | label: "订单号", |
| | | prop: "salesContractNo", |
| | | width: 120, |
| | | }, |
| | |
| | | width: "140", |
| | | }, |
| | | { |
| | | label: "销售总合同号", |
| | | prop: "masterContractNo", |
| | | width: "140", |
| | | }, |
| | | { |
| | | label: "产品名称", |
| | | prop: "productName", |
| | | width: "140", |
| | |
| | | style="width: 160px;" |
| | | @keyup.enter="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="销售合同号:" |
| | | <el-form-item label="订单号:" |
| | | prop="salesContractNo"> |
| | | <el-input v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | |
| | | }, |
| | | }, |
| | | { |
| | | label: "销售合同号", |
| | | label: "订单号", |
| | | prop: "salesContractNo", |
| | | width: "200px", |
| | | dataType: "slot", |
| | | slot: "salesContractNo", |
| | | }, |
| | | |
| | | { |
| | | label: "销售总合同号", |
| | | prop: "masterContractNo", |
| | | width: "150px", |
| | | }, |
| | | { |
| | | label: "产品名称", |
| | | prop: "productName", |
| | |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="序号" type="index" width="55" align="center" /> |
| | | <el-table-column label="销售合同号" prop="contractNo" width="160" /> |
| | | <el-table-column label="订单号" prop="contractNo" width="160" /> |
| | | <el-table-column label="产品编号" prop="productCode" width="140" /> |
| | | <el-table-column label="产品型号" prop="productModel" width="140" /> |
| | | <el-table-column label="客户名称" prop="customerName" width="160" /> |
| | |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售合同号" prop="contractNo"> |
| | | <el-form-item label="订单号" prop="contractNo"> |
| | | <el-input |
| | | v-model="form.contractNo" |
| | | placeholder="请选择关联销售合同号" |
| | | placeholder="请选择关联订单号" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | }, |
| | | rules: { |
| | | contractNo: [ |
| | | { required: true, message: "销售合同号不能为空", trigger: "blur" }, |
| | | { required: true, message: "订单号不能为空", trigger: "blur" }, |
| | | ], |
| | | productCode: [ |
| | | { required: true, message: "产品编号不能为空", trigger: "blur" }, |
| | |
| | | <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售订单:" prop="salesLedgerId"> |
| | | <el-form-item label="订单号:" prop="salesLedgerId"> |
| | | <el-select |
| | | v-model="form.salesLedgerId" |
| | | placeholder="请选择销售订单" |
| | | placeholder="请选择订单号" |
| | | clearable |
| | | filterable |
| | | :disabled="isViewMode" |
| | |
| | | const currentProductId = ref(0); |
| | | const testStandardOptions = ref([]); // 指标选择下拉框数据 |
| | | const modelOptions = ref([]); |
| | | const salesLedgerOptions = ref([]); // 销售订单下拉框数据 |
| | | const salesLedgerOptions = ref([]); // 订单号下拉框数据 |
| | | |
| | | // 打开弹框 |
| | | const openDialog = async (type, row) => { |
| | |
| | | form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || ''; |
| | | } |
| | | |
| | | // 销售订单选择变化处理 |
| | | // 订单号选择变化处理 |
| | | const handleSalesLedgerChange = async (value) => { |
| | | const selectedItem = salesLedgerOptions.value.find(item => item.id == value); |
| | | if (selectedItem) { |
| | | form.value.salesContractNo = selectedItem.salesContractNo || ''; |
| | | // 根据销售订单ID查询产品信息,只赋值数量 |
| | | // 根据订单号ID查询产品信息,只赋值数量 |
| | | try { |
| | | const res = await productList({ salesLedgerId: value, type: 1 }); |
| | | const productData = res.data && res.data.length > 0 ? res.data[0] : null; |
| | |
| | | calcSampleQuantity(); |
| | | } |
| | | } catch (e) { |
| | | console.error('查询销售订单产品信息失败', e); |
| | | proxy.$modal.msgError('查询销售订单产品信息失败'); |
| | | console.error('查询订单号产品信息失败', e); |
| | | proxy.$modal.msgError('查询订单号产品信息失败'); |
| | | } |
| | | } else { |
| | | form.value.salesContractNo = ''; |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="销售单号" |
| | | <el-form-item label="订单号" |
| | | prop="salesContractNo"> |
| | | <el-input v-model="searchForm.salesContractNo" |
| | | style="width: 240px" |
| | | placeholder="请输入销售单号搜索" |
| | | placeholder="请输入订单号搜索" |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "销售单号", |
| | | label: "订单号", |
| | | prop: "salesContractNo", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "销售总合同号", |
| | | prop: "masterContractNo", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "检验员", |
| | | prop: "checkName", |
| | | }, |
| | |
| | | }, |
| | | [ |
| | | { |
| | | label: "销售合同号", |
| | | label: "订单号", |
| | | align: "center", |
| | | prop: "customerContractNo", |
| | | }, |
| | |
| | | <el-descriptions-item label="采购合同号">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item> |
| | | <el-descriptions-item label="供应商名称">{{ currentPurchase.supplierName }}</el-descriptions-item> |
| | | <el-descriptions-item label="项目名称">{{ currentPurchase.projectName }}</el-descriptions-item> |
| | | <el-descriptions-item label="销售合同号">{{ currentPurchase.salesContractNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单号">{{ currentPurchase.salesContractNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="签订日期">{{ currentPurchase.executionDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="录入日期">{{ currentPurchase.entryDate }}</el-descriptions-item> |
| | | <el-descriptions-item label="付款方式">{{ currentPurchase.paymentMethod }}</el-descriptions-item> |
| | |
| | | <div class="app-container"> |
| | | <div class="search_form"> |
| | | <el-form :model="searchForm" :inline="true"> |
| | | <el-form-item label="销售订单号:"> |
| | | <el-form-item label="订单号号:"> |
| | | <el-input |
| | | v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | |
| | | <el-table-column align="center" type="selection" width="55" /> |
| | | <el-table-column align="center" label="序号" type="index" width="60" /> |
| | | <el-table-column |
| | | label="销售订单" |
| | | label="订单号" |
| | | prop="salesContractNo" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="销售总合同号" |
| | | prop="masterContractNo" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | |
| | | > |
| | | <div v-if="detailRow" class="detail-wrapper"> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="销售订单">{{ |
| | | <el-descriptions-item label="订单号">{{ |
| | | detailRow.salesContractNo || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货订单号">{{ |
| | |
| | | const dialogFormVisible = ref(false); |
| | | const data = reactive({ |
| | | searchForm: { |
| | | salesContractNo: "", // 销售订单号 |
| | | salesContractNo: "", // 订单号号 |
| | | shippingCarNumber: "", // 车牌号 |
| | | expressNumber: "", // 快递单号 |
| | | }, |
| | |
| | | }, |
| | | rules: { |
| | | salesContractNo: [ |
| | | { required: true, message: "请选择销售订单", trigger: "change" }, |
| | | { required: true, message: "请选择订单号", trigger: "change" }, |
| | | ], |
| | | customerName: [ |
| | | { required: true, message: "请输入客户名称", trigger: "blur" }, |
| | |
| | | }); |
| | | }; |
| | | |
| | | // 销售订单变化时自动填充客户名称 |
| | | // 订单号变化时自动填充客户名称 |
| | | const handleSalesOrderChange = (value) => { |
| | | const selectedOrder = salesOrderOptions.value.find( |
| | | (item) => item.salesContractNo === value |
| | |
| | | label="序号" |
| | | type="index" |
| | | width="60" /> |
| | | <el-table-column label="销售订单" |
| | | <el-table-column label="订单号" |
| | | prop="salesContractNo" |
| | | show-overflow-tooltip |
| | | width="150" /> |
| | | <el-table-column label="销售总合同号" |
| | | prop="masterContractNo" |
| | | show-overflow-tooltip |
| | | width="150" /> |
| | | <!-- <el-table-column label="发货订单号" |
| | | prop="shippingNo" |
| | | show-overflow-tooltip |
| | |
| | | <el-tag :type="getStatusType(detail.status)">{{ getStatusText(detail.status) }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ detail.customerName }}</el-descriptions-item> |
| | | <el-descriptions-item label="销售单号">{{ detail.salesContractNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="订单号">{{ detail.salesContractNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="业务员">{{ detail.salesman }}</el-descriptions-item> |
| | | <el-descriptions-item label="关联批号">{{ detail.shippingNo }}</el-descriptions-item> |
| | | <!-- <el-descriptions-item label="项目名称">{{ detail.projectName }}</el-descriptions-item> --> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="销售合同号:"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input v-model="form.salesContractNo" disabled placeholder="--" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="客户名称"> |
| | | <el-input v-model="searchForm.customerName" placeholder="客户名称" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="销售单号"> |
| | | <el-input v-model="searchForm.salesContractNo" placeholder="销售单号" clearable /> |
| | | <el-form-item label="订单号"> |
| | | <el-input v-model="searchForm.salesContractNo" placeholder="订单号" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="关联批号"> |
| | | <el-input v-model="searchForm.shippingNo" placeholder="关联批号" clearable /> |
| | |
| | | { label: "退货状态", prop: "returnStatus", minWidth: 100, dataType: "slot", slot: "returnStatus" }, |
| | | { label: "制单时间", prop: "makeTime", minWidth: 170 }, |
| | | { label: "客户名称", prop: "customerName", minWidth: 220 }, |
| | | { label: "销售单号", prop: "salesContractNo", minWidth: 160 }, |
| | | { label: "订单号", prop: "salesContractNo", minWidth: 160 }, |
| | | { label: "销售总合同号", prop: "masterContractNo", minWidth: 160 }, |
| | | { label: "业务员", prop: "salesman", minWidth: 120 }, |
| | | { label: "关联批号", prop: "shippingNo", minWidth: 170 }, |
| | | { label: "项目名称", prop: "projectName", minWidth: 180 }, |
| | |
| | | @change="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="销售合同号:"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input |
| | | v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="销售合同号" |
| | | label="订单号" |
| | | prop="salesContractNo" |
| | | width="180" |
| | | show-overflow-tooltip |
| | |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="销售合同号:" prop="salesContractNo"> |
| | | <el-form-item label="订单号:" prop="salesContractNo"> |
| | | <div |
| | | style=" |
| | | display: flex; |
| | |
| | | form.value.executionDate = getCurrentDate(); |
| | | // 创建时间默认为当天 |
| | | form.value.createTime = dayjs().format("YYYY-MM-DD HH:mm:ss"); |
| | | // 默认自动生成销售合同号 |
| | | // 默认自动生成订单号 |
| | | form.value.autoGenerateContractNo = true; |
| | | } else { |
| | | currentId.value = row.id; |
| | |
| | | return status === "已发货" || status === "审核通过"; |
| | | }; |
| | | |
| | | /** 判断销售订单下是否存在已发货/发货完成的产品(不可删除) */ |
| | | /** 判断订单号下是否存在已发货/发货完成的产品(不可删除) */ |
| | | const hasShippedProducts = (products) => { |
| | | if (!products || !products.length) return false; |
| | | return products.some((p) => { |
| | |
| | | } |
| | | const ids = selectedRows.value.map((item) => item.id); |
| | | |
| | | // 检查是否有已进行发货或发货完成的销售订单,若有则不允许删除 |
| | | // 检查是否有已进行发货或发货完成的订单号,若有则不允许删除 |
| | | const cannotDeleteNames = []; |
| | | for (const row of selectedRows.value) { |
| | | let products = |
| | |
| | | } |
| | | if (cannotDeleteNames.length > 0) { |
| | | proxy.$modal.msgWarning( |
| | | "已进行发货或发货完成的销售订单不能删除:" + cannotDeleteNames.join("、") |
| | | "已进行发货或发货完成的订单号不能删除:" + cannotDeleteNames.join("、") |
| | | ); |
| | | return; |
| | | } |