spring
2025-04-27 c85ea17d45adac17b780992e049685d72168fdda
src/views/technology/document/document-form.vue
@@ -7,36 +7,28 @@
        <h2 v-if="!editable">查看-工艺文件</h2>
      </div>
      <div class="btn-group header-right" v-if="editable">
        <el-button @click="save()">保存</el-button>
        <el-button type="primary" @click="save()">保存</el-button>
      </div>
    </div>
    <div class="page-main">
      <div class="document-basic">
        <el-form
          :model="dataForm"
          :rules="dataRule"
          ref="dataForm"
          style="width: 100%"
          class="l-mes"
          :disabled="!editable"
          label-width="110px"
        >
      <div class="document-basic" style="height: 28%;">
        <el-form :model="dataForm" :rules="dataRule" ref="dataForm" style="width: 100%" class="l-mes"
          :disabled="!editable" label-width="110px">
          <el-row>
            <el-col :span="5">
            <el-col :span="6">
              <el-form-item prop="name" label="文件名称">
                <el-input
                  v-model="dataForm.name"
                  placeholder="文件名称"
                ></el-input>
                <el-tooltip class="item" effect="dark" :content="dataForm.name">
                  <el-input v-model="dataForm.name" placeholder="文件名称"></el-input>
                </el-tooltip>
              </el-form-item>
            </el-col>
            <el-col :span="4">
            <el-col :span="6">
              <el-form-item prop="number" label="文件编号">
                <el-input v-model="dataForm.number" placeholder="文件编号">
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="4">
            <!-- <el-col :span="4">
              <el-form-item prop="docType" label="类型">
                <el-select
                  v-model="dataForm.docType"
@@ -52,16 +44,8 @@
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="3">
              <el-form-item prop="version" label="版本号">
                <el-input
                  v-model="dataForm.version"
                  placeholder="版本号"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="3">
            </el-col> -->
            <!-- <el-col :span="3">
              <el-form-item prop="sheathColor" label="护套颜色">
                <el-input
                  v-model="dataForm.sheathColor"
@@ -76,7 +60,7 @@
                  placeholder="绝缘颜色"
                ></el-input>
              </el-form-item>
            </el-col>
            </el-col> -->
            <!-- <el-col :span="4">
              <el-form-item label="项目号" prop="projectNo">
                <el-input
@@ -108,32 +92,51 @@
                <countrySelector v-model="dataForm.country"></countrySelector>
              </el-form-item>
            </el-col> -->
          </el-row>
          <el-row>
            <el-col :span="5">
            <el-col :span="6">
              <el-form-item label="产品零件号" prop="partNo">
                <el-input v-model="dataForm.partNo" placeholder="请选择零件">
                  <el-button
                    slot="append"
                    icon="el-icon-search"
                    @click="openPartDialog()"
                  ></el-button>
                <el-input disabled v-model="dataForm.partNo" placeholder="请选择零件">
                  <el-button slot="append" icon="el-icon-search" @click="openPartDialog()"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="7">
            <el-col :span="6">
              <el-form-item label="产品零件描述" prop="partName">
                <el-input v-model="dataForm.partName" disabled> </el-input>
                <el-tooltip class="item" effect="dark" :content="dataForm.partName">
                  <el-input v-model="dataForm.partName" disabled> </el-input>
                </el-tooltip>
              </el-form-item>
            </el-col>
            <el-col :span="5">
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item prop="version" label="版本号">
                <el-input v-model="dataForm.version" placeholder="版本号"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="BOM" prop="bomId">
                <el-select :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" style="width: 100%;"
                  filterable>
                  <el-option v-for="item in bomList" :key="item.id" :label="item.number" :value="item.id" />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="工艺路线编号" prop="routingList">
                <el-select :disabled="dataForm.id != null" v-model="dataForm.routingId" placeholder=""
                  style="width: 100%;" filterable>
                  <el-option v-for="item in routingList" :key="item.id" :label="item.routing_no" :value="item.id" />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="项目号" prop="projectNo">
                <el-input v-model="dataForm.projectNo" placeholder="项目号" style="width:100%"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="备注" prop="remark">
                <el-input
                  type="textarea"
                  v-model="dataForm.remark"
                  placeholder="备注"
                  style="width:360px"
                ></el-input>
                <el-input type="textarea" v-model="dataForm.remark" placeholder="备注" style="width:100%"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
@@ -142,61 +145,26 @@
      <div class="document-detail">
        <el-tabs type="card" style="width: 100%;height: 100%">
          <el-tab-pane
            label="原材用量"
            style="height: 100%"
            class="orimaterial-quantity"
          >
            <el-card
              shadow="never"
              style="margin-top: 12px;border: 1px solid #cfd5de;"
            >
          <el-tab-pane label="原材料用量" style="height: 100%" class="orimaterial-quantity">
            <el-card shadow="never" style="margin-top: 12px;border: 1px solid #cfd5de;">
              <div slot="header">
                <div>
                  <el-button
                    type="text"
                    size="small"
                    class="blue-but"
                    v-if="editable"
                    @click="calcMaterialCost()"
                    >计算用量
                  <el-button type="text" size="small" class="blue-but" v-if="editable" @click="calcMaterialCost()">计算用量
                  </el-button>
                  <el-button
                    type="text"
                    size="small"
                    @click="exportMaterialCost()"
                    >导出
                  <el-button type="text" size="small" @click="exportMaterialCost()">导出
                  </el-button>
                </div>
              </div>
              <el-table
                :data="materialCostList"
                border
                height="650"
                :span-method="objectSpanMethod"
                :header-cell-style="{ color: '#999' }"
                class="document-materialcost-table"
                show-summary
                :summary-method="getSummaries"
                ref="summeryTable"
              >
                <el-table-column
                  label="成品"
                  prop="finishedProduct"
                  align="center"
                >
              <el-table :data="materialCostList" border height="650" :span-method="objectSpanMethod"
                :header-cell-style="{ color: '#999' }" class="document-materialcost-table" show-summary
                :summary-method="getSummaries" ref="summeryTable">
                <el-table-column label="成品" prop="finishedProduct" align="center">
                </el-table-column>
                <el-table-column
                  label="Bom编号"
                  prop="bomNumber"
                  align="center"
                >
                <el-table-column label="Bom编号" prop="bomNumber" align="center">
                </el-table-column>
                <el-table-column
                  label="工序"
                  prop="operationName"
                  align="center"
                >
                <el-table-column label="工序" prop="operationName" align="center">
                </el-table-column>
                <el-table-column label="物料编号" prop="partNo" align="center">
                </el-table-column>
                <el-table-column label="物料" prop="partName" align="center">
                </el-table-column>
@@ -207,108 +175,43 @@
              </el-table>
            </el-card>
          </el-tab-pane>
          <el-tab-pane
            class="final-product-checkout"
            label="成品检测"
            style="height: 100%"
          >
            <TeststandardDialog
              :editable="editable"
              :documentId="Number(dataForm.id)"
            >
          <el-tab-pane class="final-product-checkout" label="成品检测" style="height: 100%">
            <TeststandardDialog :editable="editable" :key="dataForm.id" :documentId="dataForm.id">
            </TeststandardDialog>
          </el-tab-pane>
          <el-tab-pane label="产品结构工序参数" style="height: 100%">
            <div class="document-related-stock-part">
              <div
                style="padding-left:18px;font-size:14px;font-weight:700;color:#000;height:20px;line-height:20px;"
              >
              <div style="padding-left:18px;font-size:14px;font-weight:700;color:#000;height:20px;line-height:20px;">
                <span>相关库存零件</span>
              </div>
              <el-table
                :data="relatedStockPartList"
                @row-click="clickRelatedStockPart"
                highlight-current-row
                height="188px"
                :header-cell-style="relatedStockPartTableHeaderCellStyle"
                :row-style="{ height: '0' }"
                :cell-style="{ padding: '1px' }"
              >
                <el-table-column
                  label="零件编号"
                  prop="partNo"
                  align="center"
                  :show-overflow-tooltip="true"
                >
              <el-table :data="relatedStockPartList" @row-click="clickRelatedStockPart" highlight-current-row
                height="188px" :header-cell-style="relatedStockPartTableHeaderCellStyle" :row-style="{ height: '0' }"
                :cell-style="{ padding: '1px' }">
                <el-table-column label="零件编号" prop="partNo" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="零件描述"
                  prop="partName"
                  align="center"
                  width="400"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="零件描述" prop="partName" align="center" width="400" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="工艺路线编号"
                  prop="routingNo"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="工艺路线编号" prop="routingNo" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="工艺路线版本"
                  prop="routingVersion"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="工艺路线版本" prop="routingVersion" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="工艺替代号"
                  prop="routingAlternativeNo"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="工艺替代号" prop="routingAlternativeNo" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="工艺替代描述"
                  prop="routingAlternativeDesc"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="工艺替代描述" prop="routingAlternativeDesc" align="center"
                  :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="BOM号"
                  prop="bomNo"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="BOM号" prop="bomNo" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="BOM版本"
                  prop="bomVersion"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="BOM版本" prop="bomVersion" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="BOM替代号"
                  prop="bomAlternativeNo"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="BOM替代号" prop="bomAlternativeNo" align="center" :show-overflow-tooltip="true">
                </el-table-column>
                <el-table-column
                  label="BOM替代描述"
                  prop="bomAlternativeDesc"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                <el-table-column label="BOM替代描述" prop="bomAlternativeDesc" align="center" :show-overflow-tooltip="true">
                </el-table-column>
              </el-table>
            </div>
            <el-card class="document-bom" header="BOM-工序参数">
              <div slot="header">
            <el-card class="document-bom" header="">
              <!-- <div slot="header">
                <span>BOM-工序参数</span>
                <el-tooltip
                  class="item"
@@ -339,35 +242,19 @@
                    >添加
                  </el-button>
                </el-tooltip>
              </div>
              <el-collapse
                v-model="currTechnologyBomPartName"
                accordion
                @change="handleCompleteproductstructureChange"
              >
                <el-collapse-item
                  v-for="(item, i) in completeproductstructureData"
                  :key="i"
                  :name="item.bomRoutingId"
                >
              </div> -->
              <el-collapse v-model="currTechnologyBomPartName" accordion @change="handleCompleteproductstructureChange">
                <el-collapse-item v-for="(item, i) in completeproductstructureData" :key="i" :name="item.bomRoutingId">
                  <template slot="title">
                    <el-checkbox
                      class="completeproductstructure-checkout"
                      v-model="item.expand"
                      disabled
                    >
                      <span style="font-weight:bold">工艺路线编号:</span
                      >{{ item.routingNo }}&nbsp;&nbsp;&nbsp;&nbsp;
                      <span style="font-weight:bold">零件号:</span
                      >{{ item.partNo }}&nbsp;&nbsp;&nbsp;&nbsp;
                      <span style="font-weight:bold">零件名称:</span
                      >{{ item.partName }}&nbsp;&nbsp;&nbsp;&nbsp;
                      <span style="font-weight:bold">Bom编号:</span
                      >{{ item.number == null ? '无' : item.number }}
                    <el-checkbox class="completeproductstructure-checkout" v-model="item.expand" disabled>
                      <span style="font-weight:bold">工艺路线编号:</span>{{ item.routingNo }}&nbsp;&nbsp;&nbsp;&nbsp;
                      <span style="font-weight:bold">零件号:</span>{{ item.partNo }}&nbsp;&nbsp;&nbsp;&nbsp;
                      <span style="font-weight:bold">零件名称:</span>{{ item.partName }}&nbsp;&nbsp;&nbsp;&nbsp;
                      <span style="font-weight:bold">Bom编号:</span>{{ item.number == null ? '无' : item.number }}
                    </el-checkbox>
                  </template>
                  <div style="display:flex;">
                    <div
                    <!-- <div
                      style="font-size:13px;font-weight:bold;cursor: pointer;border-radius:2px 2px 0px 0px;width:80px;text-align:center;"
                      :class="[
                        item.showBom
@@ -377,21 +264,15 @@
                      @click="item.showBom = true"
                    >
                      BOM结构
                    </div>
                    </div> -->
                    <div
                      style="font-size:13px;font-weight:bold;cursor: pointer;margin-left: 10px;border-radius:2px 2px 0px 0px;width:80px;text-align:center;"
                      :class="[
                        !item.showBom
                          ? 'highlight-tab-class'
                          : 'unhighlight-tab-class'
                      ]"
                      @click="item.showBom = false"
                    >
                      :class="['highlight-tab-class']">
                      工序参数
                    </div>
                  </div>
                  <div class="document-bom-div" v-show="item.showBom">
                  <!-- <div class="document-bom-div" v-show="item.showBom">
                    <el-tooltip
                      class="item"
                      effect="dark"
@@ -428,70 +309,44 @@
                      <el-table-column prop="unit" label="单位">
                      </el-table-column>
                    </el-table>
                  </div>
                  <div class="document-technology-div" v-show="!item.showBom">
                    <div
                      style="border: 1px solid #ebeef5;height: 440px;overflow: auto;"
                    >
                      <el-collapse
                        v-model="currTechnologyOperationName"
                        accordion
                        @change="
                          handleTechnologyOperationChange(
                            $event,
                            item.bomRoutingId
                          )
                        "
                      >
                        <el-collapse-item
                          v-for="(ele, j) in item.technologyOperationData"
                          :key="j"
                          :name="ele.id"
                        >
                          <template slot="title"
                            ><span style="font-weight:300"
                              >&nbsp;&nbsp;工序名称:</span
                            >{{ ele.operationName }}&nbsp;&nbsp;&nbsp;&nbsp;
                            <span style="font-weight:300">工序编号:</span
                            >{{ ele.operationNo }}
                  </div> -->
                  <div class="document-technology-div" v-show="item.showBom">
                    <div style="border: 1px solid #ebeef5;height: 440px;overflow: auto;">
                      <el-collapse v-model="currTechnologyOperationName" accordion @change="
                        handleTechnologyOperationChange(
                          $event,
                          item.bomRoutingId
                        )
                        ">
                        <el-collapse-item v-for="(ele, j) in item.technologyOperationData" :key="j" :name="ele.id">
                          <template slot="title"><span style="font-weight:300">&nbsp;&nbsp;工序名称:</span>{{
                            ele.operationName }}&nbsp;&nbsp;&nbsp;&nbsp;
                            <span style="font-weight:300">工序编号:</span>{{ ele.operationNo }}
                          </template>
                          <el-tabs v-model="activeTemplateName" type="card">
                            <el-tab-pane
                              v-for="(paramTab, index) in paramTabs"
                              :key="index"
                              :label="paramTab.label"
                              :name="paramTab.name"
                            >
                            <el-tab-pane v-for="(paramTab, index) in paramTabs" :key="index" :label="paramTab.label"
                              :name="paramTab.name">
                              <el-table :data="paramTab.params">
                                <el-table-column
                                  prop="parameterItem"
                                  label="名称"
                                  align="center"
                                >
                                <el-table-column prop="parameterItem" label="名称" align="center">
                                  <template slot-scope="scope">
                                    <span
                                      >{{ scope.row.parameterItem }}({{
                                        scope.row.unit
                                      }})</span
                                    >
                                    <span>{{ scope.row.parameterItem }}({{
                                      scope.row.unit
                                    }})</span>
                                  </template>
                                </el-table-column>
                                <el-table-column
                                  prop="paramValue"
                                  label="值"
                                  align="center"
                                ></el-table-column>
                                <el-table-column prop="paramValue" label="值" align="center"></el-table-column>
                              </el-table>
                            </el-tab-pane>
                            <el-tab-pane label="备注" style="height: 100%">
                            <!-- <el-tab-pane label="备注" style="height: 100%">
                              <rich-text
                                :editorId="
                                  'fwb' + item.id + '-' + ele.id + '-' + j
                                "
                                :richContent="ele.remark"
                              ></rich-text>
                            </el-tab-pane>
                            <el-tab-pane label="检测标准">
                            </el-tab-pane> -->
                            <!-- <el-tab-pane label="检测标准">
                              <checkStandardTable
                                ref="documentTestStandardTable"
                                :dataFormId="dataForm.id"
@@ -510,8 +365,8 @@
                                  refreshTestStandardInfo
                                "
                              ></checkStandardTable>
                            </el-tab-pane>
                            <el-tab-pane label="抽检规则">
                            </el-tab-pane> -->
                            <!-- <el-tab-pane label="抽检规则">
                              <div>
                                <div style="padding: 0px 20px;">
                                  <el-button
@@ -594,7 +449,7 @@
                                  </el-table>
                                </div>
                              </div>
                            </el-tab-pane>
                            </el-tab-pane> -->
                          </el-tabs>
                        </el-collapse-item>
                      </el-collapse>
@@ -604,7 +459,7 @@
              </el-collapse>
            </el-card>
          </el-tab-pane>
          <el-tab-pane label="图片上传" style="height: 100%">
          <!-- <el-tab-pane label="图片上传" style="height: 100%">
            <el-card class="document-structure">
              <div slot="header">
                <span>结构图</span>
@@ -666,7 +521,7 @@
                </el-select>
                <div id="demo" style="margin:5px auto;"></div>
              </div>
              <!--<el-upload
              <el-upload
                              class="upload-demo"
                              action="/mes/document/uploadLct"
                              :headers="headers"
@@ -686,42 +541,27 @@
                              <div slot="tip" class="el-upload__tip">
                                只能上传jpg图片,且不超过2MB
                              </div>
                            </el-upload>-->
                            </el-upload>
              <el-dialog :visible.sync="dialogFlowVisible">
                <img width="100%" :src="dialogFlowImageUrl" alt="" />
              </el-dialog>
            </el-card>
          </el-tab-pane>
          </el-tab-pane> -->
        </el-tabs>
      </div>
    </div>
    <completeproductstructureDialog
      :currshowlist.sync="showCompleteproductstructure"
      :queryParam="bomQueryParam"
      @listenToCompleteproductstructureEvent="selectCompleteproductstructure"
    />
    <routingDialog
      :currshowlist.sync="showTechnology"
      :queryParam="queryParam"
      @listenToRoutingEvent="selectTechnology"
    />
    <qualityStandardDialog
      :currshowlist.sync="showQualityStandard"
      @listenToSelectTestStandardEvent="selectQualityStandard"
    />
    <completeproductstructureDialog :currshowlist.sync="showCompleteproductstructure" :queryParam="bomQueryParam"
      @listenToCompleteproductstructureEvent="selectCompleteproductstructure" />
    <routingDialog :currshowlist.sync="showTechnology" :queryParam="queryParam"
      @listenToRoutingEvent="selectTechnology" />
    <qualityStandardDialog :currshowlist.sync="showQualityStandard"
      @listenToSelectTestStandardEvent="selectQualityStandard" />
    <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPart" />
    <spotCheckRule
      :currshowlist.sync="spotCheckRuleShow"
      :docBomId="currDocBomId"
      :routingOperationId="currRoutingOperationId"
      :routingOperationName="currRoutingOperationName"
      @refreshSpotCheckRuleList="refreshSpotCheckRuleList"
    />
    <spotCheckRuleEdit
      :currshowlist.sync="editSpotCheckRuleShow"
      :documentSamplingRuleId="currDocumentSamplingRuleId"
      @refreshSpotCheckRuleList="refreshSpotCheckRuleList"
    />
    <spotCheckRule :currshowlist.sync="spotCheckRuleShow" :docBomId="currDocBomId"
      :routingOperationId="currRoutingOperationId" :routingOperationName="currRoutingOperationName"
      @refreshSpotCheckRuleList="refreshSpotCheckRuleList" />
    <spotCheckRuleEdit :currshowlist.sync="editSpotCheckRuleShow" :documentSamplingRuleId="currDocumentSamplingRuleId"
      @refreshSpotCheckRuleList="refreshSpotCheckRuleList" />
  </div>
</template>
@@ -741,12 +581,15 @@
  saveLctJson,
  getLctJson,
  routingChildCheck,
  qryDocSamplingRule
  qryDocSamplingRule,
  getTestStandardParams
} from '@/api/technology/document'
import { delDocumentSamplingRule } from '@/api/quality/documentsamplingrule'
import { getObj as getTechnologyDetail } from '@/api/technology/routing'
import { getObj as getStructureDetail } from '@/api/technology/completeproductstructure'
import { getTestStandardParams } from '@/api/quality/teststandard'
import { fetchList as getBomList } from '@/api/technology/completeproductstructure'
import { getRouting } from '@/api/technology/document'
//import { getTestStandardParams } from '@/api/quality/teststandard'
import { remote } from '@/api/admin/dict'
import { fetchList as getStandard } from '@/api/quality/standardbind'
import { getStore } from '@/util/store.js'
@@ -764,6 +607,8 @@
export default {
  data() {
    return {
      bomList: [],
      routingList: [],
      operationPart: {},
      showCompleteproductstructure: false,
      showTechnology: false,
@@ -790,6 +635,8 @@
      ],
      dataForm: {
        id: null,
        bomId: null,
        routingId: null,
        number: null,
        name: null,
        version: null,
@@ -816,7 +663,7 @@
          { required: true, message: '版本号不能为空', trigger: 'blur' }
        ],
        projectNo: [
          { required: true, message: '项目号不能为空', trigger: 'blur' }
          // { required: true, message: '项目号不能为空', trigger: 'blur' }
        ],
        projectType: [
          { required: true, message: '项目类别不能为空', trigger: 'change' }
@@ -873,7 +720,7 @@
    spotCheckRuleEdit
  },
  computed: {
    editable: function() {
    editable: function () {
      if (!this.dataForm.id) {
        return true
      }
@@ -884,7 +731,7 @@
    }
  },
  created() {
  activated() {
    this.dataForm.id = this.$route.query.id
    this.init()
    this.getDict()
@@ -906,6 +753,88 @@
    window.winDbClick = this.getDbClick
    // 初始化流程图实例
    this.initFlowDesign()
  },
  watch: {
    'dataForm.partId'(newValue, oldValue) {
      // if (oldValue) {
      //   this.dataForm.bomId = null
      // }
      if (newValue) {
        getBomList(
          Object.assign({
            current: 1,
            size: 999,
            partId: this.dataForm.partId,
          })
        ).then((response) => {
          this.bomList = response.data.data.records
        })
      } else {
        this.bomList = []
      }
    },
    'dataForm.bomId'(newValue, oldValue) {
      if (oldValue) {
        this.dataForm.routingId = null
      }
      if (newValue) {
        getRouting(
          Object.assign({
            bomId: this.dataForm.bomId,
          })
        ).then((response) => {
          this.routingList = response.data.data
        })
      } else {
        this.routingList = []
      }
    },
    '$route.query.id': {
      immediate: true,
      handler(newVal, oldVal) {
        if (this.$route.name == '工艺文件详情') {
          if (newVal) {
            this.dataForm.id = this.$route.query.id
            this.init()
            this.getDict()
            this.getBomTypeDbOptions()
            this.initReportTypeSelect()
          } else {
            this.dataForm.id = null
            this.init()
            this.getDict()
            this.getBomTypeDbOptions()
            this.initReportTypeSelect()
            this.dataForm = {
              id: null,
              bomId: null,
              routingId: null,
              number: null,
              name: null,
              version: null,
              projectNo: null,
              projectType: null,
              country: null,
              state: null,
              remark: null,
              partNo: null,
              partId: null,
              partName: null,
              docType: 'M',
              insulationColor: null,
              sheathColor: null,
              testStandard: false,
              updateRealUser: null,
              updateRealTime: null
            }
            this.materialCostList = []
            this.relatedStockPartList = []
            this.currTechnologyBomPartName = null;
            this.completeproductstructureData = []
          }
        }
      },
    },
  },
  methods: {
    // 查询类型字典
@@ -962,15 +891,15 @@
      }
      // flowTemp.loadData(jsondata)
      // 保存按钮事件
      _this.flowTemp.onBtnSaveClick = function() {
      _this.flowTemp.onBtnSaveClick = function () {
        _this.saveFlow()
      }
      // 重置按钮事件
      _this.flowTemp.onFreshClick = function() {
      _this.flowTemp.onFreshClick = function () {
        _this.getFlow()
      }
      // 打印按钮事件
      _this.flowTemp.onPrintClick = function() {
      _this.flowTemp.onPrintClick = function () {
        _this.flowTemp.exportDiagram('流程图')
      }
    },
@@ -1131,7 +1060,6 @@
        if (this.currTechnologyName != null && this.currTechnologyName !== '') {
          // 当用户删除工艺文件中关联的工艺路线时,若该文件对应BOM中所需半成品的工艺路线也已与当前工艺文件关联
          routingChildCheck(this.currTechnologyBomPartName).then((res) => {
            console.log('res', res.data)
            const resData = res.data
            let num = 0
            if (resData.code === 0) {
@@ -1828,7 +1756,6 @@
      if (this.dataForm.id) {
        this.getDocumentInfo(this.dataForm.id)
      }
      console.log('上传成功')
    },
    handleStructureExceed(files, fileList) {
      // this.$message.warning(
@@ -1870,12 +1797,10 @@
      this.dialogFlowVisible = true
    },
    handleFlowSuccess(response, file, fileList) {
      console.log('上传成功')
    },
    handleFlowExceed(files, fileList) {
      this.$message.warning(
        `当前限制选择 1 个流程图文件,本次选择了 ${
          files.length
        `当前限制选择 1 个流程图文件,本次选择了 ${files.length
        } 个流程图文件,共选择了 ${files.length + fileList.length} 个流程图文件`
      )
    },
@@ -1914,8 +1839,6 @@
    },
    getSummaries(param) {
      const { columns, data } = param
      console.log(columns, 'A')
      console.log(data, 'B')
      const sums = []
      columns.forEach((column, index) => {
        if (index === 0) {
@@ -2066,30 +1989,22 @@
}
/*自定义disabled状态下checkbox的样式*/
.completeproductstructure-checkout
  .el-checkbox__input.is-disabled.is-checked
  .el-checkbox__inner {
.completeproductstructure-checkout .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
  background-color: #006eff;
  border-color: #006eff;
}
.completeproductstructure-checkout
  .el-checkbox__input.is-disabled.is-checked
  + span.el-checkbox__label {
.completeproductstructure-checkout .el-checkbox__input.is-disabled.is-checked+span.el-checkbox__label {
  color: #006eff;
  border-color: #006eff;
}
.completeproductstructure-checkout
  .el-checkbox__input.is-disabled
  .el-checkbox__inner {
.completeproductstructure-checkout .el-checkbox__input.is-disabled .el-checkbox__inner {
  background-color: #ffffff;
  cursor: pointer;
}
.completeproductstructure-checkout
  .el-checkbox__input.is-disabled
  + span.el-checkbox__label {
.completeproductstructure-checkout .el-checkbox__input.is-disabled+span.el-checkbox__label {
  color: #606266;
  cursor: pointer;
}
@@ -2158,11 +2073,13 @@
.GooFlow .ico .ico_start:before {
  color: red;
}
.highlight-tab-class {
  color: #006eff;
  background: #e4e7ed;
  border-top: 1px solid #006eff;
}
.unhighlight-tab-class {
  border: 1px solid #e4e7ed;
  border-bottom: none;