yijing 1 tahun lalu
induk
melakukan
c947832f8a

+ 23 - 8
src/api/aps/presalesorder.js

@@ -36,19 +36,31 @@ export async function createAll(data) {
 
 }
 
+export async function getExport(id) {
+  const res = await request.get(
+    `/eom/quote/export/${id}`, {
+      responseType: 'blob'
+    },
+
+  );
+
+  download(res.data, '报价单.xlsx');
+}
+
 // 批量导出文件
-export async function exportFile() {
-  const res = await request.get('/aps/presalesorder/export', {
-    "responseType": "blob"
+export async function exportFile(params) {
+  const res = await request.post('/aps/presalesorder/export', params, {
+    responseType: 'blob'
   });
-  download(res.data, "交期预估");
+  download(res.data, `交期预估导出.xlsx`)
 }
+
 //下载模板
-export async function importTemplate() {
-  const res = await request.get('/aps/salesorder/importTemplate', {
-    "responseType": "blob"
+export async function importTemplate(params) {
+  const res = await request.post('/aps/presalesorder/importTemplate', params, {
+    responseType: 'blob'
   });
-  download(res.data, "交期预估");
+  download(res.data, `交期预估下载模板.xlsx`)
 }
 
 export function download(data, name) {
@@ -61,6 +73,9 @@ export function download(data, name) {
   window.URL.revokeObjectURL(url);
 }
 
+
+
+
 // 批量导入文件
 export async function importFile(data) {
   const res = await request.post('/aps/presalesorder/importFile', data);

+ 1 - 1
src/views/materialPlan/components/plan-edit-dialog.vue

@@ -319,7 +319,7 @@ export default {
           minWidth: 120,
           sortable: true,
           formatter: (row) => {
-            return row.purchaseType == '1' ? '未采购' : '已采购';
+            return row.purchaseType == '2' ? '已采购' : '未采购';
           }
         },
         {

+ 258 - 376
src/views/saleOrder/components/create-order.vue

@@ -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('请确认加工方式!');