|
|
@@ -1,376 +1,251 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <ele-modal :visible.sync="visible" :title="title" width="80vw" append-to-body>
|
|
|
- <el-form
|
|
|
- ref="form"
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- label-width="90px"
|
|
|
- class="create-form"
|
|
|
- :maxable="true"
|
|
|
- >
|
|
|
- <el-row :gutter="15">
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="销售订单号:">
|
|
|
- <el-input clearable :maxlength="20" v-model="form.code" disabled />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="交付要求:">
|
|
|
- <DictSelection
|
|
|
- dictName="紧急程度"
|
|
|
- clearable
|
|
|
- v-model="form.deliveryRequirements"
|
|
|
- >
|
|
|
- </DictSelection>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="订单类型:">
|
|
|
- <DictSelection
|
|
|
- dictName="订单类型"
|
|
|
- clearable
|
|
|
- v-model="form.orderType"
|
|
|
- >
|
|
|
- </DictSelection>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="按单按库:">
|
|
|
- <DictSelection
|
|
|
- dictName="按单按库"
|
|
|
- clearable
|
|
|
- v-model="form.orderLibraryType"
|
|
|
- >
|
|
|
- </DictSelection>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="客户名称:">
|
|
|
- <el-input
|
|
|
- clearable
|
|
|
- v-model="form.customerName"
|
|
|
- :disabled="form.orderType == 3"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="客户简称:">
|
|
|
- <el-input
|
|
|
- clearable
|
|
|
- v-model="form.simpleName"
|
|
|
- :disabled="form.orderType == 3"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="客户代号:">
|
|
|
- <el-input
|
|
|
- clearable
|
|
|
- v-model="form.serialNo"
|
|
|
- :disabled="form.orderType == 3"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="业务员:">
|
|
|
- <el-input clearable v-model="form.salesman" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="交付日期:" prop="deliveryTime">
|
|
|
- <el-date-picker
|
|
|
- :picker-options="pickerOptions"
|
|
|
- style="width: 100%"
|
|
|
- v-model="form.deliveryTime"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="齐套状态:" prop="completeState">
|
|
|
- <el-select v-model="form.completeState" style="width: 100%" >
|
|
|
- <el-option
|
|
|
- v-for="item of completeList"
|
|
|
- :key="item.code"
|
|
|
- :label="item.name"
|
|
|
- :value="item.code"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
+ <ele-modal :visible.sync="visible" :title="title" width="80vw" append-to-body>
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="90px" class="create-form" :maxable="true">
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="销售订单号:">
|
|
|
+ <el-input clearable :maxlength="20" v-model="form.code" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="交付要求:">
|
|
|
+ <DictSelection dictName="紧急程度" clearable v-model="form.deliveryRequirements">
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="订单类型:">
|
|
|
+ <DictSelection dictName="订单类型" clearable v-model="form.orderType">
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="按单按库:">
|
|
|
+ <DictSelection dictName="按单按库" clearable v-model="form.orderLibraryType">
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="客户名称:">
|
|
|
+ <el-input clearable v-model="form.customerName" :disabled="form.orderType == 3" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
- <el-form-item label="备注:">
|
|
|
- <el-input clearable v-model="form.notes" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-table :data="form.productInfoList" border height="40vh" key="id">
|
|
|
- <el-table-column label="序号" align="center" width="60">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.$index + 1 }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="行号" align="center" prop="lineNumber">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="产品名称" align="center" prop="productName">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="物料编码" align="center" prop="productCode">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="牌号" align="center" prop="brandNo">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="型号" align="center" prop="model">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="规格" align="center" prop="specification">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="单重" align="center" prop="productUnitWeight">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="重量单位" align="center" prop="weightUnit">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="订单数量" width="140" align="center" prop="contractNum">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- label-width="0px"
|
|
|
- :prop="'productInfoList.' + scope.$index + '.contractNum'"
|
|
|
- :rules="{
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="客户简称:">
|
|
|
+ <el-input clearable v-model="form.simpleName" :disabled="form.orderType == 3" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="客户代号:">
|
|
|
+ <el-input clearable v-model="form.serialNo" :disabled="form.orderType == 3" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="业务员:">
|
|
|
+ <el-input clearable v-model="form.salesman" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="交付日期:" prop="deliveryTime">
|
|
|
+ <el-date-picker :picker-options="pickerOptions" style="width: 100%" v-model="form.deliveryTime"
|
|
|
+ type="date" placeholder="选择日期" value-format="yyyy-MM-dd">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="齐套状态:" prop="completeState">
|
|
|
+ <el-select v-model="form.completeState" style="width: 100%">
|
|
|
+ <el-option v-for="item of completeList" :key="item.code" :label="item.name"
|
|
|
+ :value="item.code"></el-option>
|
|
|
+ </el-select>
|
|
|
+
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
|
|
|
+ <el-form-item label="备注:">
|
|
|
+ <el-input clearable v-model="form.notes" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-table :data="form.productInfoList" border height="40vh" key="id">
|
|
|
+ <el-table-column label="序号" align="center" width="60">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.$index + 1 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="行号" align="center" prop="lineNumber">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="产品名称" align="center" prop="productName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="物料编码" align="center" prop="productCode">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="牌号" align="center" prop="brandNo">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="型号" align="center" prop="model">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="规格" align="center" prop="specification">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="单重" align="center" prop="productUnitWeight">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="重量单位" align="center" prop="weightUnit">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="订单数量" width="140" align="center" prop="contractNum">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item label-width="0px" :prop="'productInfoList.' + scope.$index + '.contractNum'" :rules="{
|
|
|
required: true,
|
|
|
message: '请输入订单数量',
|
|
|
trigger: 'blur'
|
|
|
- }"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model.number="scope.row.contractNum"
|
|
|
- size="small"
|
|
|
- type="number"
|
|
|
- style="width: 100%"
|
|
|
- placeholder="输入数量"
|
|
|
- @input="inputNumber(scope.row, scope.$index)"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
+ }">
|
|
|
+ <el-input v-model.number="scope.row.contractNum" size="small" type="number" style="width: 100%"
|
|
|
+ placeholder="输入数量" @input="inputNumber(scope.row, scope.$index)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
|
- <el-table-column label="加工方式" width="140" align="center" prop="productType">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- label-width="0px"
|
|
|
- :prop="'productInfoList.' + scope.$index + '.productType'"
|
|
|
|
|
|
- >
|
|
|
+ <el-table-column label="加工方式" width="140" align="center" prop="productType">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item label-width="0px" :prop="'productInfoList.' + scope.$index + '.productType'">
|
|
|
|
|
|
- <el-select v-model="scope.row.productType" @change="changeProductType(scope.row, scope.$index)" :key="scope.$index" >
|
|
|
- <el-option
|
|
|
- v-for="item of producedList"
|
|
|
- :key="scope.$index + item.code"
|
|
|
- :label="item.name"
|
|
|
- :value="item.code"
|
|
|
- ></el-option>
|
|
|
+ <el-select v-model="scope.row.productType" @change="changeProductType(scope.row, scope.$index)"
|
|
|
+ :key="scope.$index">
|
|
|
+ <el-option v-for="item of producedList" :key="scope.$index + item.code" :label="item.name"
|
|
|
+ :value="item.code"></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
|
|
|
|
- <el-table-column label="BOM版本" width="140" align="center" prop="bomCategoryId" v-if="clientEnvironmentId != 4">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- label-width="0px"
|
|
|
- :prop="'productInfoList.' + scope.$index + '.bomCategoryId'"
|
|
|
- :key="scope.$index"
|
|
|
+ <el-table-column label="BOM版本" width="140" align="center" prop="bomCategoryId"
|
|
|
+ v-if="clientEnvironmentId != 4">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item label-width="0px" :prop="'productInfoList.' + scope.$index + '.bomCategoryId'"
|
|
|
+ :key="scope.$index">
|
|
|
|
|
|
- >
|
|
|
+ <el-select v-model="scope.row.bomCategoryId" @change="changeBomId(scope.row, scope.$index)">
|
|
|
+ <el-option v-for="item of scope.row.bomVersionList" :key="item.id"
|
|
|
+ :label="item.name + '(V' + item.versions + '.0)'" :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
|
|
|
- <el-select v-model="scope.row.bomCategoryId" @change="changeBomId(scope.row, scope.$index)" >
|
|
|
- <el-option
|
|
|
- v-for="item of scope.row.bomVersionList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name + '(V' + item.versions + '.0)'"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="工艺路线" width="140" align="center" prop="produceRoutingId"
|
|
|
+ v-if="clientEnvironmentId != 4">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item label-width="0px" :prop="'productInfoList.' + scope.$index + '.produceRoutingId'">
|
|
|
+ <el-select v-model="scope.row.produceRoutingId" @change="changeRoutingList(scope.row, scope.$index)">
|
|
|
+ <el-option v-for="item of scope.row.routingList" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="工艺路线" width="140" align="center" prop="produceRoutingId" v-if="clientEnvironmentId != 4">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- label-width="0px"
|
|
|
- :prop="'productInfoList.' + scope.$index + '.produceRoutingId'"
|
|
|
-
|
|
|
- >
|
|
|
- <el-select v-model="scope.row.produceRoutingId" >
|
|
|
- <el-option
|
|
|
- v-for="item of scope.row.routingList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="工艺路线" align="center" prop="produceRoutingName" v-if="clientEnvironmentId == 4">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item label-width="0px" :prop="'productInfoList.' + scope.$index + '.produceRoutingName'">
|
|
|
+ <el-input v-model="form.produceRoutingName" style="width: 100%" readonly></el-input>
|
|
|
+
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="所属工厂" width="140" align="center" prop="factoriesId">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item label-width="0px">
|
|
|
+
|
|
|
+ <el-select v-model="scope.row.factoriesId" :key="scope.row.factoriesId">
|
|
|
+ <el-option v-for="item of factoryList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
|
|
|
- <el-table-column label="工艺路线" align="center" prop="produceRoutingName" v-if="clientEnvironmentId == 4">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- label-width="0px"
|
|
|
- :prop="'productInfoList.' + scope.$index + '.produceRoutingName'"
|
|
|
- >
|
|
|
- <el-input v-model="form.produceRoutingName" style="width: 100%" readonly ></el-input>
|
|
|
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="所属工厂" width="140" align="center" prop="factoriesId">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- label-width="0px"
|
|
|
- >
|
|
|
-
|
|
|
- <el-select v-model="scope.row.factoriesId" :key="scope.row.factoriesId" >
|
|
|
- <el-option
|
|
|
- v-for="item of factoryList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <el-table-column label="计量单位" align="center" prop="measuringUnit">
|
|
|
-
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="模数"
|
|
|
- align="center"
|
|
|
- width="100"
|
|
|
- v-if="clientEnvironmentId == '4'"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-input
|
|
|
- style="width: 100%"
|
|
|
- size="small"
|
|
|
- v-model="scope.row.moCount"
|
|
|
- oninput="value=value.replace(/[^0-9.]/g,'')"
|
|
|
- @input="
|
|
|
- tableHandleKeyUp(scope.row, scope.$index, $event, 'moCount')
|
|
|
- "
|
|
|
- placeholder="请输入"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- width="100"
|
|
|
- label="块数"
|
|
|
- v-if="clientEnvironmentId == '4'"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- style="width: 100%"
|
|
|
-
|
|
|
- @input="
|
|
|
+
|
|
|
+ <el-table-column label="计量单位" align="center" prop="measuringUnit">
|
|
|
+
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="模数" align="center" width="100" v-if="clientEnvironmentId == '4'">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-input style="width: 100%" size="small" v-model="scope.row.moCount"
|
|
|
+ oninput="value=value.replace(/[^0-9.]/g,'')" @input="
|
|
|
+ tableHandleKeyUp(scope.row, scope.$index, $event, 'moCount')
|
|
|
+ " placeholder="请输入">
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column align="center" width="100" label="块数" v-if="clientEnvironmentId == '4'">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-input size="small" style="width: 100%" @input="
|
|
|
tableHandleKeyUp(
|
|
|
scope.row,
|
|
|
scope.$index,
|
|
|
$event,
|
|
|
'blockCount'
|
|
|
)
|
|
|
- "
|
|
|
- v-model="scope.row.blockCount"
|
|
|
- placeholder="请输入"
|
|
|
- ></el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="订单重量" align="center" prop="productWeight">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <span>{{ row.productWeight ? row.productWeight : '-' }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="70">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-link
|
|
|
- type="primary"
|
|
|
- :underline="false"
|
|
|
- @click="homogeneityInspect(scope.row)"
|
|
|
- >
|
|
|
- 齐套性检查
|
|
|
- </el-link>
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- @click="handleDeleteItem(scope.$index)"
|
|
|
- v-if="!scope.row.id"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
-
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class="add-product" @click="addEquipment">
|
|
|
- <i class="el-icon-circle-plus-outline"></i>
|
|
|
- </div>
|
|
|
- </el-form>
|
|
|
- <template v-slot:footer>
|
|
|
- <el-button @click="cancel">取消</el-button>
|
|
|
- <el-button type="primary" @click="save" :loading="loading">
|
|
|
- 确定
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
-
|
|
|
- <!-- 选择产品 -->
|
|
|
- <EquipmentDialog
|
|
|
- ref="equipmentRefs"
|
|
|
- @choose="confirmChoose"
|
|
|
- :selectList="
|
|
|
- form.productInfoList.filter(
|
|
|
- (i) => !disabledList.find((p) => p.productCode === i.productCode)
|
|
|
- )
|
|
|
- "
|
|
|
- >
|
|
|
- </EquipmentDialog>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </ele-modal>
|
|
|
+ " v-model="scope.row.blockCount" placeholder="请输入"></el-input>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="订单重量" align="center" prop="productWeight">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span>{{ row.productWeight ? row.productWeight : '-' }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="70">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-link type="primary" :underline="false" @click="homogeneityInspect(scope.row)">
|
|
|
+ 齐套性检查
|
|
|
+ </el-link>
|
|
|
+ <el-button type="text" @click="handleDeleteItem(scope.$index)" v-if="!scope.row.id">删除</el-button>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div class="add-product" @click="addEquipment">
|
|
|
+ <i class="el-icon-circle-plus-outline"></i>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ <template v-slot:footer>
|
|
|
+ <el-button @click="cancel">取消</el-button>
|
|
|
+ <el-button type="primary" @click="save" :loading="loading">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- 选择产品 -->
|
|
|
+ <EquipmentDialog ref="equipmentRefs" @choose="confirmChoose" :selectList="form.productInfoList.filter(
|
|
|
+ (i) => !disabledList.find((p) => p.productCode === i.productCode)
|
|
|
+ )
|
|
|
+ ">
|
|
|
+ </EquipmentDialog>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </ele-modal>
|
|
|
<orderHomogeneityInspectDialog ref="orderHomogeneityInspectDialog"></orderHomogeneityInspectDialog>
|
|
|
- <orderHomogeneityInspectInstallDialog ref="orderHomogeneityInspectInstallDialog"></orderHomogeneityInspectInstallDialog>
|
|
|
+ <orderHomogeneityInspectInstallDialog ref="orderHomogeneityInspectInstallDialog">
|
|
|
+ </orderHomogeneityInspectInstallDialog>
|
|
|
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -380,7 +255,7 @@ import { getCode } from '@/api/codeManagement';
|
|
|
import EquipmentDialog from '../components/EquipmentDialog.vue';
|
|
|
import orderHomogeneityInspectDialog from "./orderHomogeneityInspectDialog";
|
|
|
import orderHomogeneityInspectInstallDialog from "./orderHomogeneityInspectInstallDialog";
|
|
|
-import { createOrUpdate, getOrderDetail , bomListByPlan, bomRoutingList, getFactoryList} from '@/api/saleOrder';
|
|
|
+import { createOrUpdate, getOrderDetail, bomListByPlan, bomRoutingList, getFactoryList } from '@/api/saleOrder';
|
|
|
|
|
|
import dayjs from 'dayjs';
|
|
|
import { multiply } from '@/utils/math';
|
|
|
@@ -421,13 +296,13 @@ export default {
|
|
|
],
|
|
|
|
|
|
producedList: [
|
|
|
- { code: 2, name: '加工(MBOM)' },
|
|
|
- { code: 3, name: '装配(ABOM)' }
|
|
|
+ { code: 2, name: '加工(MBOM)' },
|
|
|
+ { code: 3, name: '装配(ABOM)' }
|
|
|
],
|
|
|
|
|
|
completeList: [
|
|
|
- { code: 1, name: '齐套' },
|
|
|
- { code: 2, name: '缺料' }
|
|
|
+ { code: 1, name: '齐套' },
|
|
|
+ { code: 2, name: '缺料' }
|
|
|
],
|
|
|
|
|
|
|
|
|
@@ -460,12 +335,18 @@ export default {
|
|
|
return this.$store.state.user.info.clientEnvironmentId;
|
|
|
}
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() { },
|
|
|
mounted() {
|
|
|
this.getFactoryList();
|
|
|
},
|
|
|
methods: {
|
|
|
- async getFactoryList(){
|
|
|
+ changeRoutingList(row, index) {
|
|
|
+ const obj = row.routingList?.find(item => item.id === row.produceRoutingId);
|
|
|
+ if (obj) {
|
|
|
+ row.produceRoutingName = obj.name;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getFactoryList() {
|
|
|
this.factoryList = await getFactoryList();
|
|
|
},
|
|
|
open(row) {
|
|
|
@@ -484,9 +365,9 @@ export default {
|
|
|
},
|
|
|
getDetail(code) {
|
|
|
getOrderDetail(code).then((res) => {
|
|
|
- if(res.productInfoList){
|
|
|
- for(let item of res.productInfoList){
|
|
|
- if(item.productType){
|
|
|
+ if (res.productInfoList) {
|
|
|
+ for (let item of res.productInfoList) {
|
|
|
+ if (item.productType) {
|
|
|
item.productType = parseInt(item.productType);
|
|
|
}
|
|
|
|
|
|
@@ -560,16 +441,16 @@ export default {
|
|
|
if (row.productName.includes('板材')) {
|
|
|
row.moCount = Math.ceil(
|
|
|
row.blockCount /
|
|
|
- (Math.floor(600 / modelLong) *
|
|
|
- Math.floor(120 / modeHight) *
|
|
|
- Math.floor(60 / modeWide))
|
|
|
+ (Math.floor(600 / modelLong) *
|
|
|
+ Math.floor(120 / modeHight) *
|
|
|
+ Math.floor(60 / modeWide))
|
|
|
);
|
|
|
} else if (row.productName.includes('砌块')) {
|
|
|
row.moCount = Math.ceil(
|
|
|
row.blockCount /
|
|
|
- Math.floor(
|
|
|
- (600 / modelLong) * (120 / modeHight) * (60 / modeWide)
|
|
|
- )
|
|
|
+ Math.floor(
|
|
|
+ (600 / modelLong) * (120 / modeHight) * (60 / modeWide)
|
|
|
+ )
|
|
|
);
|
|
|
}
|
|
|
} else if (name === 'blockCount') {
|
|
|
@@ -579,16 +460,16 @@ export default {
|
|
|
if (row.productName.includes('板材')) {
|
|
|
row.moCount = Math.ceil(
|
|
|
row.blockCount /
|
|
|
- (Math.floor(600 / modelLong) *
|
|
|
- Math.floor(120 / modeHight) *
|
|
|
- Math.floor(60 / modeWide))
|
|
|
+ (Math.floor(600 / modelLong) *
|
|
|
+ Math.floor(120 / modeHight) *
|
|
|
+ Math.floor(60 / modeWide))
|
|
|
);
|
|
|
} else if (row.productName.includes('砌块')) {
|
|
|
row.moCount = Math.ceil(
|
|
|
row.blockCount /
|
|
|
- Math.floor(
|
|
|
- (600 / modelLong) * (120 / modeHight) * (60 / modeWide)
|
|
|
- )
|
|
|
+ Math.floor(
|
|
|
+ (600 / modelLong) * (120 / modeHight) * (60 / modeWide)
|
|
|
+ )
|
|
|
);
|
|
|
}
|
|
|
row.contractNum =
|
|
|
@@ -618,6 +499,7 @@ export default {
|
|
|
}
|
|
|
this.loading = true;
|
|
|
console.log(this.form);
|
|
|
+
|
|
|
createOrUpdate(this.form)
|
|
|
.then((res) => {
|
|
|
this.loading = false;
|
|
|
@@ -669,7 +551,7 @@ export default {
|
|
|
model: item.modelType,
|
|
|
specification: item.specification,
|
|
|
brandNo: item.brandNum,
|
|
|
- measuringUnit:item.measuringUnit
|
|
|
+ measuringUnit: item.measuringUnit
|
|
|
};
|
|
|
}
|
|
|
})
|
|
|
@@ -718,7 +600,7 @@ export default {
|
|
|
|
|
|
this.$set(pos[index], 'productWeight', number);
|
|
|
}
|
|
|
- if(this.clientEnvironmentId==4){
|
|
|
+ if (this.clientEnvironmentId == 4) {
|
|
|
this.tableHandleKeyUp(row, '', row.contractNum, 'sum');
|
|
|
|
|
|
}
|
|
|
@@ -728,16 +610,16 @@ export default {
|
|
|
|
|
|
changeProductType(row, index) {
|
|
|
let param = {
|
|
|
- bomType: row.productType,
|
|
|
+ bomType: row.productType,
|
|
|
categoryId: row.categoryId
|
|
|
}
|
|
|
bomListByPlan(param).then(res => {
|
|
|
let arr = res || [];
|
|
|
- if(arr.length == 0){
|
|
|
+ if (arr.length == 0) {
|
|
|
row.bomCategoryId = '';
|
|
|
}
|
|
|
console.log(arr);
|
|
|
- this.$set(this.form.productInfoList[index], 'bomVersionList', arr);
|
|
|
+ this.$set(this.form.productInfoList[index], 'bomVersionList', arr);
|
|
|
this.$forceUpdate()
|
|
|
})
|
|
|
|
|
|
@@ -746,28 +628,28 @@ export default {
|
|
|
changeBomId(row, index) {
|
|
|
bomRoutingList(row.bomCategoryId).then((res) => {
|
|
|
let arr = res || [];
|
|
|
- if(arr.length == 0){
|
|
|
+ if (arr.length == 0) {
|
|
|
row.produceRoutingId = '';
|
|
|
}
|
|
|
- this.$set(this.form.productInfoList[index], 'routingList', arr);
|
|
|
+ this.$set(this.form.productInfoList[index], 'routingList', arr);
|
|
|
this.$forceUpdate()
|
|
|
})
|
|
|
},
|
|
|
|
|
|
- homogeneityInspect(row){
|
|
|
- if(!row.productType){
|
|
|
+ homogeneityInspect(row) {
|
|
|
+ if (!row.productType) {
|
|
|
this.$message.warning('请选择加工方式');
|
|
|
return;
|
|
|
}
|
|
|
- if(!row.bomCategoryId){
|
|
|
+ if (!row.bomCategoryId) {
|
|
|
this.$message.warning('请选择BOM版本');
|
|
|
return;
|
|
|
}
|
|
|
- if(row.productType == 2){
|
|
|
+ if (row.productType == 2) {
|
|
|
let data = [];
|
|
|
data.push(row);
|
|
|
this.$refs.orderHomogeneityInspectDialog.open(data, this.form);
|
|
|
- } else if(row.productType == 3){
|
|
|
+ } else if (row.productType == 3) {
|
|
|
this.$refs.orderHomogeneityInspectInstallDialog.open([row.id]);
|
|
|
} else {
|
|
|
this.$message.warning('请确认加工方式!');
|