feat: 新增业务员、合同号查询与展示,优化钢卷管理功能
1. 在钢卷相关API中新增对saleName和contractNo字段的过滤逻辑,避免数据覆盖 2. 多个报表页面新增业务员和合同号查询条件 3. 钢卷物料页面重构表单布局,新增生产耗时计算、合同绑定功能 4. 告警页面优化UI展示,新增详情弹窗和备注处理流程 5. 多处代码格式化与注释优化
This commit is contained in:
@@ -83,6 +83,14 @@
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="业务员" prop="saleName">
|
||||
<el-input v-model="queryParams.saleName" placeholder="请输入业务员" clearable size="small" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="合同号" prop="contractNo">
|
||||
<el-input v-model="queryParams.contractNo" placeholder="请输入合同号" clearable size="small" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="showWaybill" label="发货状态">
|
||||
<el-radio-group v-model="queryParams.status" @change="handleQuery">
|
||||
<el-radio-button label="">全部</el-radio-button>
|
||||
@@ -136,13 +144,11 @@
|
||||
<el-button type="info" plain icon="el-icon-download" size="mini" @click="handleExportAllProps">导出全部</el-button>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="2" v-if="canExportAll">
|
||||
<!-- <el-col :span="2" v-if="canExportAll">
|
||||
<el-button type="info" plain icon="el-icon-printer" size="mini" :disabled="multiple"
|
||||
@click="handleBatchPrintLabel">批量打印标签</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="2" v-if="showWaybill">
|
||||
|
||||
</el-col> -->
|
||||
|
||||
<el-col :span="1.5" v-if="showOrderBy">
|
||||
<el-checkbox v-model="queryParams.orderBy" v-loading="loading" @change="getList"
|
||||
label="orderBy">按实际库区排序</el-checkbox>
|
||||
@@ -187,6 +193,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="业务员" align="center" prop="saleName" width="60" />
|
||||
<el-table-column label="合同号" align="center" prop="contractNo" width="120" />
|
||||
<el-table-column v-if="showAbnormal" label="异常数量" align="center" prop="abnormalCount"></el-table-column>
|
||||
<el-table-column label="长度 (米)" align="center" prop="length" v-if="showLength" />
|
||||
<el-table-column label="发货时间" v-if="showExportTime" align="center" prop="exportTime" width="205">
|
||||
@@ -223,7 +230,7 @@
|
||||
<el-table-column v-if="moreColumn" label="材质" prop="material"></el-table-column>
|
||||
<el-table-column v-if="moreColumn" label="厂家" prop="manufacturer"></el-table-column>
|
||||
<el-table-column v-if="moreColumn" label="表面处理" prop="surfaceTreatmentDesc"></el-table-column>
|
||||
<el-table-column v-if="moreColumn" label="品质" prop="qualityStatus"></el-table-column>
|
||||
<el-table-column label="品质" prop="qualityStatus"></el-table-column>
|
||||
<el-table-column v-if="moreColumn" label="备注" prop="remark" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column v-if="moreColumn" label="切边" prop="trimmingRequirement"></el-table-column>
|
||||
<el-table-column v-if="moreColumn" label="包装" prop="packagingRequirement"></el-table-column>
|
||||
@@ -402,111 +409,219 @@
|
||||
@pagination="getList" />
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 添加或修改钢卷物料对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="入场钢卷号" prop="enterCoilNo">
|
||||
<el-input v-model="form.enterCoilNo" placeholder="请输入入场钢卷号" :disabled="form.coilId" />
|
||||
</el-form-item>
|
||||
<el-form-item label="当前钢卷号" prop="currentCoilNo">
|
||||
<el-input v-model="form.currentCoilNo" placeholder="请输入当前钢卷号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="厂家原料卷号" prop="supplierCoilNo">
|
||||
<el-input v-model="form.supplierCoilNo" placeholder="请输入厂家原料卷号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="所在库位" prop="warehouseId">
|
||||
<warehouse-select v-model="form.warehouseId" placeholder="请选择仓库/库区/库位" style="width: 100%;" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="实际库区" prop="actualWarehouseId">
|
||||
<actual-warehouse-select v-model="form.actualWarehouseId" :clearInput="form.coilId != null"
|
||||
placeholder="请选择实际库区" style="width: 100%;" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="班组" prop="team">
|
||||
<el-select v-model="form.team" placeholder="请选择班组" style="width: 100%">
|
||||
<el-option key="甲" label="甲" value="甲" />
|
||||
<el-option key="乙" label="乙" value="乙" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="材料类型" prop="materialType">
|
||||
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
|
||||
<el-option label="成品" value="成品" />
|
||||
<el-option label="原料" value="原料" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="getItemLabel" prop="itemId">
|
||||
<product-select v-if="form.itemType == 'product'" v-model="form.itemId" placeholder="请选择成品"
|
||||
style="width: 100%;" clearable />
|
||||
<raw-material-select v-else-if="form.itemType == 'raw_material'" v-model="form.itemId" placeholder="请选择原料"
|
||||
style="width: 100%;" clearable />
|
||||
<div v-else>请先选择材料类型</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="质量状态" prop="qualityStatus">
|
||||
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
|
||||
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item label="切边要求" prop="trimmingRequirement">
|
||||
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%">
|
||||
<el-option label="净边料" value="净边料" />
|
||||
<el-option label="毛边料" value="毛边料" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="原料材质" prop="packingStatus">
|
||||
<el-input v-model="form.packingStatus" placeholder="请输入原料材质">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="包装要求" prop="packagingRequirement">
|
||||
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
|
||||
<el-option label="裸包" value="裸包" />
|
||||
<el-option label="普包" value="普包" />
|
||||
<el-option label="简包" value="简包" />
|
||||
<el-option label="精包" value="精包" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="毛重" prop="grossWeight">
|
||||
<el-input v-model="form.grossWeight" placeholder="请输入毛重" />
|
||||
</el-form-item>
|
||||
<el-form-item label="净重" prop="netWeight">
|
||||
<el-input v-model="form.netWeight" placeholder="请输入净重" />
|
||||
</el-form-item>
|
||||
<el-form-item label="长度" prop="length" v-if="showLength">
|
||||
<el-input v-model="form.length" placeholder="请输入长度" />
|
||||
</el-form-item>
|
||||
<el-form-item label="实测长度(m)" prop="actualLength">
|
||||
<el-input-number :controls="false" v-model="form.actualLength" placeholder="请输入实测长度" type="number"
|
||||
:step="0.01" />
|
||||
</el-form-item>
|
||||
<el-form-item label="实测厚度(mm)" prop="actualThickness" class="form-item-half">
|
||||
<el-input-number :controls="false" v-model="form.actualThickness" placeholder="请输入实测厚度" type="number"
|
||||
:step="0.01" />
|
||||
</el-form-item>
|
||||
<el-form-item label="实测宽度(mm)" prop="actualWidth">
|
||||
<el-input-number :controls="false" v-model="form.actualWidth" placeholder="请输入实测宽度" type="number"
|
||||
:step="0.01" />
|
||||
</el-form-item>
|
||||
<el-form-item label="业务目的" prop="businessPurpose">
|
||||
<el-select v-model="form.businessPurpose" placeholder="业务目的" filterable>
|
||||
<el-option v-for="item in dict.type.coil_business_purpose" :key="item.value" :value="item.value"
|
||||
:label="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调制度" prop="temperGrade">
|
||||
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
|
||||
</el-form-item>
|
||||
<el-form-item label="镀层种类" prop="coatingType">
|
||||
<MemoInput storageKey="coatingType" v-model="form.coatingType" placeholder="请输入镀层种类" />
|
||||
</el-form-item>
|
||||
<el-form-item label="钢卷表面处理" prop="coilSurfaceTreatment">
|
||||
<MemoInput storageKey="surfaceTreatmentDesc" v-model="form.coilSurfaceTreatment" placeholder="请输入钢卷表面处理" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="入场钢卷号" prop="enterCoilNo">
|
||||
<el-input v-model="form.enterCoilNo" placeholder="请输入入场钢卷号" :disabled="!!form.coilId" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="当前钢卷号" prop="currentCoilNo">
|
||||
<el-input v-model.trim="form.currentCoilNo" placeholder="请输入当前钢卷号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="厂家原料卷号" prop="supplierCoilNo">
|
||||
<el-input v-model.trim="form.supplierCoilNo" placeholder="请输入厂家原料卷号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在库位" prop="warehouseId">
|
||||
<warehouse-select v-model="form.warehouseId" placeholder="请选择仓库/库区/库位" style="width: 100%;" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="实际库区" prop="actualWarehouseId">
|
||||
<actual-warehouse-select v-model="form.actualWarehouseId" placeholder="请选择实际库区" style="width: 100%;"
|
||||
clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="班组" prop="team">
|
||||
<el-select v-model="form.team" placeholder="请选择班组" style="width: 100%">
|
||||
<el-option key="甲" label="甲" value="甲" />
|
||||
<el-option key="乙" label="乙" value="乙" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="材料类型" prop="materialType">
|
||||
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
|
||||
<el-option label="成品" value="成品" />
|
||||
<el-option label="原料" value="原料" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="getItemLabel" prop="itemId">
|
||||
<product-select v-if="form.itemType == 'product'" v-model="form.itemId" placeholder="请选择成品"
|
||||
style="width: 100%;" clearable />
|
||||
<raw-material-select v-else-if="form.itemType == 'raw_material'" v-model="form.itemId" placeholder="请选择原料"
|
||||
style="width: 100%;" clearable />
|
||||
<div v-else>请先选择材料类型</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="质量状态" prop="qualityStatus">
|
||||
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
|
||||
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="切边要求" prop="trimmingRequirement">
|
||||
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%">
|
||||
<el-option label="净边料" value="净边料" />
|
||||
<el-option label="毛边料" value="毛边料" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="原料材质" prop="packingStatus">
|
||||
<el-input v-model="form.packingStatus" placeholder="请输入原料材质" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="包装要求" prop="packagingRequirement">
|
||||
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
|
||||
<el-option label="裸包" value="裸包" />
|
||||
<el-option label="普包" value="普包" />
|
||||
<el-option label="简包" value="简包" />
|
||||
<el-option label="精包" value="精包" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="毛重" prop="grossWeight">
|
||||
<el-input v-model="form.grossWeight" placeholder="请输入毛重" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="净重" prop="netWeight">
|
||||
<el-input v-model="form.netWeight" placeholder="请输入净重" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="实测长度(mm)" prop="actualLength">
|
||||
<el-input-number :controls="false" v-model="form.actualLength" placeholder="请输入实测长度" type="number"
|
||||
:step="0.01" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="实测宽度(mm)" prop="actualWidth">
|
||||
<el-input-number :controls="false" v-model="form.actualWidth" placeholder="请输入实测宽度" type="number"
|
||||
:step="0.01" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="实测厚度(mm)" prop="actualThickness">
|
||||
<el-input-number :controls="false" v-model="form.actualThickness" placeholder="请输入实测厚度" type="number"
|
||||
:step="0.01" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="业务目的" prop="businessPurpose">
|
||||
<el-select v-model="form.businessPurpose" placeholder="请选择业务目的" style="width: 100%">
|
||||
<el-option v-for="item in dict.type.coil_business_purpose" :key="item.value" :value="item.value"
|
||||
:label="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调制度" prop="temperGrade">
|
||||
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="镀层种类" prop="coatingType">
|
||||
<MemoInput storageKey="coatingType" v-model="form.coatingType" placeholder="请输入镀层种类" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="钢卷表面处理" prop="coilSurfaceTreatment">
|
||||
<MemoInput storageKey="surfaceTreatmentDesc" v-model="form.coilSurfaceTreatment" placeholder="请输入钢卷表面处理" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="排产厚度(mm)" prop="scheduleThickness">
|
||||
<el-input-number :controls="false" v-model="form.scheduleThickness" placeholder="请输入排产厚度" type="number"
|
||||
:step="0.001" style="width: 100%;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产开始时间" prop="productionStartTime">
|
||||
<TimeInput v-model="form.productionStartTime" @input="calculateFormProductionDuration" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产结束时间" prop="productionEndTime">
|
||||
<TimeInput v-model="form.productionEndTime" @input="calculateFormProductionDuration" :show-now-button="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产耗时" prop="productionDuration">
|
||||
<el-input v-model="form.formattedDuration" placeholder="自动计算" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" v-if="form.coilId">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="创建时间" prop="createTime">
|
||||
<el-date-picker v-model="form.createTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择创建时间" style="width: 100%;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="创建人" prop="createBy">
|
||||
<el-select v-model="form.createBy" placeholder="请选择创建人" style="width: 100%;" clearable filterable>
|
||||
<el-option v-for="item in userList" :key="item.userName" :label="item.nickName" :value="item.userName" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" v-if="form.coilId">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="绑定合同" prop="contractId">
|
||||
<div style="display: flex; gap: 10px; width: 100%;">
|
||||
<contract-select v-model="form.contractId" placeholder="请选择合同" style="flex: 1;" clearable mode="all" />
|
||||
<el-button type="success" :loading="contractLoading" @click="saveContractRel">保存合同</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
@@ -848,9 +963,12 @@ import { getCoilTagPrintType } from '@/views/wms/coil/js/coilPrint';
|
||||
import DragResizeBox from '@/components/DragResizeBox/index.vue';
|
||||
import ProcessFlow from '../components/ProcessFlow.vue';
|
||||
import WarehouseTree from '@/components/KLPService/WarehouseTree/index.vue';
|
||||
import TimeInput from "@/components/TimeInput";
|
||||
import ContractSelect from "@/components/KLPService/ContractSelect";
|
||||
import { listDeliveryWaybillDetail, delDeliveryWaybillDetail } from "@/api/wms/deliveryWaybillDetail";
|
||||
import { listDeliveryPlan } from "@/api/wms/deliveryPlan";
|
||||
import { addCoilQualityRejudge } from "@/api/wms/coilQualityRejudge";
|
||||
import { listCoilContractRel, addCoilContractRel, updateCoilContractRel } from "@/api/wms/coilContractRel";
|
||||
|
||||
export default {
|
||||
name: "MaterialCoil",
|
||||
@@ -874,6 +992,8 @@ export default {
|
||||
ProcessFlow,
|
||||
DragResizeBox,
|
||||
WarehouseTree,
|
||||
TimeInput,
|
||||
ContractSelect,
|
||||
},
|
||||
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer', 'coil_quality_status', 'wms_next_warehouse', 'coil_business_purpose'],
|
||||
props: {
|
||||
@@ -1006,6 +1126,8 @@ export default {
|
||||
},
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
contractLoading: false,
|
||||
contractRelId: null,
|
||||
showProcessFlow: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
@@ -1245,9 +1367,7 @@ export default {
|
||||
},
|
||||
},
|
||||
created() {
|
||||
if (this.showExportTime) {
|
||||
this.getUserList();
|
||||
}
|
||||
this.getUserList();
|
||||
if (this.useWarehouseIds) {
|
||||
this.warehouseIds = this.warehouseOptions.map(item => item.value).join(',');
|
||||
}
|
||||
@@ -1725,6 +1845,25 @@ export default {
|
||||
this.$set(this.productionTimeForm, 'formattedDuration', '');
|
||||
}
|
||||
},
|
||||
// 计算表单中的生产耗时
|
||||
calculateFormProductionDuration() {
|
||||
const { productionStartTime, productionEndTime } = this.form;
|
||||
if (productionStartTime && productionEndTime) {
|
||||
const start = new Date(productionStartTime).getTime();
|
||||
const end = new Date(productionEndTime).getTime();
|
||||
if (end < start) {
|
||||
this.form.productionDuration = '';
|
||||
this.form.formattedDuration = '';
|
||||
} else {
|
||||
const durationMs = end - start;
|
||||
this.form.productionDuration = Math.round(durationMs / (1000 * 60));
|
||||
this.form.formattedDuration = this.formatDuration(durationMs);
|
||||
}
|
||||
} else {
|
||||
this.form.productionDuration = '';
|
||||
this.form.formattedDuration = '';
|
||||
}
|
||||
},
|
||||
// 处理生产时间提交
|
||||
submitProductionTimeForm() {
|
||||
this.$refs.productionTimeForm.validate((valid) => {
|
||||
@@ -1986,6 +2125,45 @@ export default {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
loadContractRel(coilId) {
|
||||
if (!coilId) {
|
||||
this.contractRelId = null;
|
||||
this.$set(this.form, 'contractId', null);
|
||||
return;
|
||||
}
|
||||
listCoilContractRel({ coilId }).then(res => {
|
||||
const rows = res.rows || [];
|
||||
if (rows.length > 0) {
|
||||
this.contractRelId = rows[0].relId;
|
||||
this.$set(this.form, 'contractId', rows[0].contractId);
|
||||
} else {
|
||||
this.contractRelId = null;
|
||||
this.$set(this.form, 'contractId', null);
|
||||
}
|
||||
});
|
||||
},
|
||||
saveContractRel() {
|
||||
this.contractLoading = true;
|
||||
listCoilContractRel({ coilId: this.form.coilId }).then(res => {
|
||||
const rows = res.rows || [];
|
||||
if (rows.length > 0) {
|
||||
return updateCoilContractRel({
|
||||
relId: rows[0].relId,
|
||||
coilId: this.form.coilId,
|
||||
contractId: this.form.contractId
|
||||
});
|
||||
} else {
|
||||
return addCoilContractRel({
|
||||
coilId: this.form.coilId,
|
||||
contractId: this.form.contractId
|
||||
});
|
||||
}
|
||||
}).then(() => {
|
||||
this.$message.success('合同绑定保存成功');
|
||||
}).finally(() => {
|
||||
this.contractLoading = false;
|
||||
});
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
@@ -2013,6 +2191,15 @@ export default {
|
||||
materialType: '原料',
|
||||
temperGrade: undefined,
|
||||
coatingType: undefined,
|
||||
qualityStatus: undefined,
|
||||
actualLength: undefined,
|
||||
actualWidth: undefined,
|
||||
scheduleThickness: undefined,
|
||||
productionStartTime: undefined,
|
||||
productionEndTime: undefined,
|
||||
productionDuration: undefined,
|
||||
formattedDuration: undefined,
|
||||
contractId: undefined,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
@@ -2072,6 +2259,12 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
if (this.form.productionDuration) {
|
||||
this.form.formattedDuration = this.formatDuration(this.form.productionDuration * 60 * 1000);
|
||||
}
|
||||
|
||||
this.loadContractRel(coilId);
|
||||
|
||||
this.open = true;
|
||||
this.title = "修改钢卷物料";
|
||||
});
|
||||
@@ -2178,6 +2371,12 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
if (this.form.productionDuration) {
|
||||
this.form.formattedDuration = this.formatDuration(this.form.productionDuration * 60 * 1000);
|
||||
}
|
||||
|
||||
this.loadContractRel(coilId);
|
||||
|
||||
this.open = true;
|
||||
this.title = "修改钢卷物料";
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user