spring
2025-04-02 ddc15b8f31c2d84d791b561fd24f3817c7ab81da
批量复制功能修改
已修改3个文件
544 ■■■■ 文件已修改
src/api/standard/standardLibrary.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/standard/standardLibrary/components/BatchCopy.vue 494 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/standard/standardLibrary/index.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/standard/standardLibrary.js
@@ -262,3 +262,12 @@
    data: data,
  });
}
// 标准树--提交变更
export function productListSubmit(data) {
  return request({
    url: "/standardTree/productListSubmit",
    method: "post",
    data: data,
  });
}
src/views/standard/standardLibrary/components/BatchCopy.vue
@@ -1,243 +1,94 @@
<template>
  <div>
    <el-dialog
      :visible.sync="batchCopyDia"
      class="more-edit"
      title="批量编辑"
      width="90%"
    >
    <el-dialog :visible.sync="batchCopyDia" class="more-edit" title="批量编辑" width="90%">
      <el-row>
        <el-col :span="6" class="search_thing">
          <div class="search_label">样品名称:</div>
          <div class="search_input">
            <el-input v-model="sample" disabled size="small">
              <template slot="append"
                ><el-button
                  slot="append"
                  icon="el-icon-search"
                  @click="selectStandardTree = true"
                ></el-button
              ></template>
              <template slot="append"><el-button slot="append" icon="el-icon-search"
                  @click="selectStandardTree = true"></el-button></template>
            </el-input>
          </div>
        </el-col>
        <el-col :span="6" class="search_thing">
          <div class="search_label">检验标准:</div>
          <div class="search_input">
            <el-select
              v-model="standardMethodListId"
              :loading="methodLoad"
              clearable
              placeholder="请输入"
              size="small"
              @change="changeStandardMethodListId"
              @focus="methodFocus"
            >
              <el-option
                v-for="item in methods"
                :key="item.id"
                :label="item.code"
                :value="item.id"
              >
            <el-select v-model="standardMethodListId" :loading="methodLoad" clearable placeholder="请输入" size="small"
              @change="changeStandardMethodListId" @focus="methodFocus">
              <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
              </el-option>
            </el-select>
          </div>
        </el-col>
        <el-col :span="12" style="text-align: right">
          <el-button size="small" type="primary" @click="sortCopy"
            >排序复制</el-button
          >
          <el-button size="small" type="primary" @click="compareAlone"
            >单独对比</el-button
          >
          <el-button size="small" type="primary" @click="compare"
            >复制</el-button
          >
          <el-button size="small" type="primary" @click="sortCopy">排序复制</el-button>
          <el-button size="small" type="primary" @click="compareAlone">单独对比</el-button>
          <el-button size="small" type="primary" @click="compare">复制</el-button>
        </el-col>
      </el-row>
      <div
        class="body"
        style="display: flex; flex-direction: row; height: 80vh"
      >
      <div class="body" style="display: flex; flex-direction: row; height: 80vh">
        <div v-loading="productTableLoading1" style="width: 50%">
          <div>需要复制的检验项</div>
          <el-table
            ref="productTable1"
            :data="productList1"
            :fit="true"
            :row-key="(row) => row.id"
            border
            header-row-class-name="header-class"
            height="90%"
            highlight-current-row
            stripe
            style="width: 98%"
            tooltip-effect="dark"
            @select="handleSelectionChange1"
            @select-all="handleSelectAll1"
          >
          <el-table ref="productTable1" :data="productList1" :fit="true" :row-key="(row) => row.id" border
            header-row-class-name="header-class" height="90%" highlight-current-row stripe style="width: 98%"
            tooltip-effect="dark" @select="handleSelectionChange1" @select-all="handleSelectAll1">
            <el-table-column type="selection" width="50"> </el-table-column>
            <el-table-column
              label="产品"
              min-width="100"
              prop="sample"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              label="型号"
              min-width="100"
              prop="model"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              label="检验项分类"
              min-width="140"
              prop="inspectionItemClass"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              column-key="inspectionItem"
              label="检验项"
              min-width="140"
              prop="inspectionItem"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              column-key="inspectionItemSubclass"
              label="检验项子项"
              min-width="140"
              prop="inspectionItemSubclass"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              label="要求值"
              min-width="200px"
              prop="ask"
            ></el-table-column>
            <el-table-column
              label="要求描述"
              min-width="220px"
              prop="tell"
            ></el-table-column>
            <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column>
            <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column>
            <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass"
              show-overflow-tooltip></el-table-column>
            <el-table-column column-key="inspectionItem" label="检验项" min-width="140" prop="inspectionItem"
              show-overflow-tooltip></el-table-column>
            <el-table-column column-key="inspectionItemSubclass" label="检验项子项" min-width="140"
              prop="inspectionItemSubclass" show-overflow-tooltip></el-table-column>
            <el-table-column label="要求值" min-width="200px" prop="ask"></el-table-column>
            <el-table-column label="要求描述" min-width="220px" prop="tell"></el-table-column>
          </el-table>
        </div>
        <div v-loading="productTableLoading0" style="width: 50%">
          <div>当前检验项</div>
          <el-table
            ref="productTable0"
            :data="productList0"
            :fit="true"
            :row-key="(row) => row.id"
            border
            header-row-class-name="header-class"
            height="90%"
            highlight-current-row
            stripe
            style="width: 98%"
            tooltip-effect="dark"
            @select="handleSelectionChange0"
            @select-all="handleSelectAll0"
          >
          <el-table ref="productTable0" :data="productList0" :fit="true" :row-key="(row) => row.id" border
            header-row-class-name="header-class" height="90%" highlight-current-row stripe style="width: 98%"
            tooltip-effect="dark" @select="handleSelectionChange0" @select-all="handleSelectAll0">
            <el-table-column type="selection" width="50"> </el-table-column>
            <el-table-column
              label="产品"
              min-width="100"
              prop="sample"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              label="型号"
              min-width="100"
              prop="model"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              label="检验项分类"
              min-width="140"
              prop="inspectionItemClass"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              column-key="inspectionItem"
              label="检验项"
              min-width="140"
              prop="inspectionItem"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              column-key="inspectionItemSubclass"
              label="检验项子项"
              min-width="140"
              prop="inspectionItemSubclass"
              show-overflow-tooltip
            ></el-table-column>
            <el-table-column
              label="要求值"
              min-width="200px"
              prop="ask"
            ></el-table-column>
            <el-table-column
              label="要求描述"
              min-width="220px"
              prop="tell"
            ></el-table-column>
            <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column>
            <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column>
            <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass"
              show-overflow-tooltip></el-table-column>
            <el-table-column column-key="inspectionItem" label="检验项" min-width="140" prop="inspectionItem"
              show-overflow-tooltip></el-table-column>
            <el-table-column column-key="inspectionItemSubclass" label="检验项子项" min-width="140"
              prop="inspectionItemSubclass" show-overflow-tooltip></el-table-column>
            <el-table-column label="要求值" min-width="200px" prop="ask"></el-table-column>
            <el-table-column label="要求描述" min-width="220px" prop="tell"></el-table-column>
          </el-table>
        </div>
      </div>
    </el-dialog>
    <el-dialog
      :visible.sync="selectStandardTree"
      title="选择样品"
      width="500px"
    >
      <div
        v-if="selectStandardTree"
        v-loading="selectStandardTreeLoading"
        class="body"
        style="height: 60vh; overflow-y: auto; user-select: none"
      >
    <el-dialog :visible.sync="selectStandardTree" title="选择样品" width="500px">
      <div v-if="selectStandardTree" v-loading="selectStandardTreeLoading" class="body"
        style="height: 60vh; overflow-y: auto; user-select: none">
        <el-row>
          <el-col :span="24">
            <el-input
              v-model="search"
              clearable
              placeholder="输入关键字进行搜索"
              size="small"
              style="margin-bottom: 5px"
              suffix-icon="el-icon-search"
              @blur="searchFilter"
              @clear="searchFilter"
              @keyup.enter.native="searchFilter"
            ></el-input>
            <el-input v-model="search" clearable placeholder="输入关键字进行搜索" size="small" style="margin-bottom: 5px"
              suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter"
              @keyup.enter.native="searchFilter"></el-input>
          </el-col>
        </el-row>
        <el-tree
          ref="tree"
          :data="list"
          :default-expanded-keys="expandedKeys"
          :filter-node-method="filterNode"
          :props="{ children: 'children', label: 'label' }"
          highlight-current
          node-key="label"
          @node-click="handleNodeClick"
          @node-expand="nodeOpen"
          @node-collapse="nodeClose"
        >
        <el-tree ref="tree" :data="list" :default-expanded-keys="expandedKeys" :filter-node-method="filterNode"
          :props="{ children: 'children', label: 'label' }" highlight-current node-key="label"
          @node-click="handleNodeClick" @node-expand="nodeOpen" @node-collapse="nodeClose">
          <div slot-scope="{ node, data }" class="custom-tree-node">
            <el-row>
              <el-col :span="24">
                <span
                  ><i
                    :class="`node_i ${
                      data.children != undefined
                        ? data.code === '[1]'
                          ? 'el-icon-folder-opened'
                          : 'el-icon-folder'
                        : 'el-icon-tickets'
                    }`"
                  ></i>
                  {{ data.code }} {{ data.label }}</span
                >
                <span><i :class="`node_i ${data.children != undefined
                  ? data.code === '[1]'
                    ? 'el-icon-folder-opened'
                    : 'el-icon-folder'
                  : 'el-icon-tickets'
                  }`"></i>
                  {{ data.code }} {{ data.label }}</span>
              </el-col>
            </el-row>
          </div>
@@ -250,196 +101,91 @@
    </el-dialog>
    <el-dialog :visible.sync="compareDia" title="确认复制信息" width="80%">
      <div style="width: 100%">
        <el-table
          ref="compareList"
          :data="compareList"
          :fit="true"
          :row-key="(row) => row.id"
          border
          header-row-class-name="header-class"
          height="90%"
          highlight-current-row
          stripe
          style="width: 98%"
          tooltip-effect="dark"
        >
          <el-table-column
            label="产品"
            min-width="100"
            prop="sample"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            label="型号"
            min-width="100"
            prop="model"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            label="检验项分类"
            min-width="140"
            prop="inspectionItemClass"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            column-key="inspectionItem"
            label="检验项"
            min-width="140"
            prop="inspectionItem"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            column-key="inspectionItemSubclass"
            label="检验项子项"
            min-width="140"
            prop="inspectionItemSubclass"
            show-overflow-tooltip
          ></el-table-column>
        <el-table ref="compareList" :data="compareList" :fit="true" :row-key="(row) => row.id" border
          header-row-class-name="header-class" height="90%" highlight-current-row stripe style="width: 98%"
          tooltip-effect="dark">
          <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column>
          <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column>
          <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass"
            show-overflow-tooltip></el-table-column>
          <el-table-column column-key="inspectionItem" label="检验项" min-width="140" prop="inspectionItem"
            show-overflow-tooltip></el-table-column>
          <el-table-column column-key="inspectionItemSubclass" label="检验项子项" min-width="140"
            prop="inspectionItemSubclass" show-overflow-tooltip></el-table-column>
          <el-table-column label="要求值" min-width="200px" prop="ask">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.ask"
                :autosize="{ minRows: 1, maxRows: 3 }"
                clearable
                placeholder="要求值"
                size="small"
                type="textarea"
              ></el-input>
              <el-input v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求值"
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="要求描述" min-width="220px" prop="tell">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.tell"
                :autosize="{ minRows: 1, maxRows: 3 }"
                clearable
                placeholder="要求描述"
                size="small"
                type="textarea"
              ></el-input>
              <el-input v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求描述"
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="操作" prop="section" width="160">
            <template slot-scope="scope">
              <el-button type="text" @click="sectionUp(scope.row)"
                >区间设置</el-button
              >
              <el-button type="text" @click="sectionUp(scope.row)">区间设置</el-button>
            </template>
          </el-table-column>
        </el-table>
        <span slot="footer" class="dialog-footer">
          <el-button size="small" @click="compareDia = false">取 消</el-button>
          <el-button
            :loading="handleCompareLoading"
            size="small"
            type="primary"
            @click="handleCompare"
            >确 定</el-button
          >
          <el-button :loading="handleCompareLoading" size="small" type="primary" @click="handleCompare">确 定</el-button>
        </span>
      </div>
    </el-dialog>
    <el-dialog
      :close-on-click-modal="false"
      :visible.sync="sectionUpDia"
      title="区间设置"
      width="80%"
    >
    <el-dialog :close-on-click-modal="false" :visible.sync="sectionUpDia" title="区间设置" width="80%">
      <div class="body" style="padding: 5px 0">
        <el-table :data="sectionList" border height="350px" style="width: 100%">
          <el-table-column align="center" label="序号" type="index" width="70">
          </el-table-column>
          <el-table-column align="center" label="区间">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.thing"
                clearable
                placeholder="区间"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.thing" clearable placeholder="区间" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="芯数">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.cores"
                clearable
                placeholder="芯数"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.cores" clearable placeholder="芯数" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="要求值">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.ask"
                clearable
                placeholder="要求值"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.ask" clearable placeholder="要求值" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="要求描述">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.tell"
                :autosize="{ minRows: 1, maxRows: 2 }"
                clearable
                placeholder="要求描述"
                size="small"
                type="textarea"
              ></el-input>
              <el-input v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 2 }" clearable placeholder="要求描述"
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="导体材质">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.conductorMaterial"
                clearable
                placeholder="导体材质"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.conductorMaterial" clearable placeholder="导体材质" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="导体类型">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.conductorType"
                clearable
                placeholder="导体类型"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.conductorType" clearable placeholder="导体类型" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="单价" width="120">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.price"
                clearable
                placeholder="单价"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.price" clearable placeholder="单价" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="工时系数" width="120">
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.manHour"
                clearable
                placeholder="工时系数"
                size="small"
              ></el-input>
              <el-input v-model="scope.row.manHour" clearable placeholder="工时系数" size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column align="center" label="操作" width="70">
            <template slot-scope="scope">
              <el-button
                circle
                icon="el-icon-minus"
                size="mini"
                type="danger"
                @click="sectionList.splice(scope.$index, 1)"
              ></el-button>
              <el-button circle icon="el-icon-minus" size="mini" type="danger"
                @click="sectionList.splice(scope.$index, 1)"></el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -447,11 +193,8 @@
      <span slot="footer" class="dialog-footer">
        <el-button @click="sectionUpDia = false">取 消</el-button>
        <el-button type="primary" @click="sectionLoadAdd">保 存</el-button>
        <el-button
          icon="el-icon-plus"
          type="primary"
          @click="sectionList.push({ thing: '', price: '', manHour: '' })"
        ></el-button>
        <el-button icon="el-icon-plus" type="primary"
          @click="sectionList.push({ thing: '', price: '', manHour: '' })"></el-button>
      </span>
    </el-dialog>
  </div>
@@ -695,38 +438,27 @@
    // 选择样品名称的回调
    handleNodeClick(val, node, el) {
      this.selectTree = "";
      this.getNodeParent(node);
      let flag = false;
      if (node.level == 3) {
        if (node.data.children.length > 0) {
          node.data.children.forEach((a) => {
            let key = Object.keys(a);
            if (!key.includes("level")) {
              flag = true;
            }
          });
        }
      }
      this.selectTree = this.selectTree.replace(" - ", "");
      if (flag) {
        this.selectTree = " -  - " + this.selectTree;
      }
      let data = this.selectTree.split(" - ");
      let data2 = "";
      for (let index = data.length - 1; index >= 0; index--) {
        data2 += " - " + data[index];
      }
      this.selectTree = data2.replace(" - ", "");
      this.selectTree = this.getReversedTreePath(node);
    },
    getNodeParent(val) {
      if (val.parent != null) {
        if (val.data.children === null) {
          this.selectTree += " - " + val.label + " - " + "null";
        } else {
          this.selectTree += " - " + val.label;
    /**
     * 获取反向拼接的树路径字符串
     * @param {Object} node - 当前节点
     * @returns {string} - 反向拼接的树路径
     */
    getReversedTreePath(node) {
      const pathParts = [];
      // 递归获取父节点路径
      const collectParentLabels = (currentNode) => {
        if (currentNode && currentNode.label) {
          pathParts.unshift(currentNode.label); // 将当前节点标签插入到数组开头
        }
        this.getNodeParent(val.parent);
      }
        if (currentNode.parent) {
          collectParentLabels(currentNode.parent); // 递归处理父节点
        }
      };
      collectParentLabels(node);
      // 拼接路径并返回
      return pathParts.join(" - ");
    },
    changeStandardMethodListId() {
      // 根据检验标准查右边table数据
@@ -753,25 +485,7 @@
        tree: this.selectTree,
      }).then((res) => {
        this.methodLoad = false;
        try {
          if (
            res.data.standardMethodList.length == 0 &&
            this.selectTree.split("-").length == 5
          ) {
            let arr = this.selectTree.split("-");
            let arr0 = arr.slice(0, arr.length - 1);
            let selectTree = arr0
              .join("-")
              .substring(0, arr0.join("-").length - 1);
            selectsStandardMethodByFLSSM({
              tree: selectTree,
            }).then((ress) => {
              this.methods = ress.data.standardMethodList;
            });
          } else {
            this.methods = res.data.standardMethodList;
          }
        } catch (e) {}
        this.methods = res.data.standardMethodList;
      });
    },
    activeStandardTree() {
@@ -846,10 +560,12 @@
.search_input {
  width: calc(100% - 80px);
}
.node_i {
  color: orange;
  font-size: 18px;
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
src/views/standard/standardLibrary/index.vue
@@ -92,7 +92,14 @@
          <el-table-column label="检验项" min-width="140" prop="inspectionItem" show-overflow-tooltip></el-table-column>
          <el-table-column label="检验项子项" min-width="140" prop="inspectionItemSubclass"
            show-overflow-tooltip></el-table-column>
          <el-table-column label="子实验室" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column>
          <!-- checkStatusList -->
          <el-table-column label="审核状态" min-width="140" prop="checkStatus">
            <template slot-scope="scope">
              <el-tag :type="checkStatusList.find(m => m.value == scope.row.checkStatus).type"
                v-if="checkStatusList.find(m => m.value == scope.row.checkStatus)" size="small">{{
                  checkStatusList.find(m => m.value == scope.row.checkStatus).label }}</el-tag>
            </template>
          </el-table-column>
          <el-table-column label="要求值" min-width="200px" prop="ask">
            <template slot-scope="scope">
              <el-input v-if="
@@ -112,6 +119,7 @@
              <span v-else>{{ scope.row.ask }}</span>
            </template>
          </el-table-column>
          <el-table-column label="子实验室" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column>
          <el-table-column label="试验方法" prop="method" width="200">
            <template slot-scope="scope">
              <el-select v-if="
@@ -295,6 +303,7 @@
  getStandardTemplate,
  selectStandardProductByMethodId,
  selectStandardProductEnumByMethodId,
  productListSubmit,
} from "@/api/standard/standardLibrary";
import bindSupplierDensityDialogAsk from "./components/bindSupplierDensityDialogAsk.vue";
import BatchCopy from "./components/BatchCopy.vue";
@@ -374,6 +383,23 @@
      batchCopyDia: false,
      VUE_APP_BASE_API: process.env.VUE_APP_BASE_API,
      moreSelects: [],
      checkStatusList: [
        {
          value: 0,
          label: '未提交',
          type: 'danger'
        },
        {
          value: 1,
          label: '审核中',
          type: 'warning'
        },
        {
          value: 2,
          label: '已更新',
          type: 'success'
        },
      ]
    };
  },
  mounted() {
@@ -723,6 +749,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    upStandardProductListOfTell(value, index) {
@@ -733,6 +760,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    // 标准库选择实验方法的回调
@@ -744,6 +772,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    // 标准库选择条件的回调
@@ -755,6 +784,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    upStandardProductListOfPrice(value, index) {
@@ -765,6 +795,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    upStandardProductListOfManHour(value, index) {
@@ -775,6 +806,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    upStandardProductListOfTemplate(value, index) {
@@ -785,6 +817,7 @@
        }),
      }).then((res) => {
        this.$message.success("已保存");
        this.refreshList()
      });
    },
    handleSelectionChange(val) {
@@ -865,6 +898,7 @@
        }),
      }).then((res) => {
        this.$message.success('已保存')
        this.refreshList()
      });
    },
    filterHandler(value) {
@@ -1180,6 +1214,11 @@
          return true;
        }
      }).then(({ value }) => {
        productListSubmit({
          remark: value
        }).then(res => {
          this.selectsStandardMethodByFLSSM();
        })
        // this.$message({
        //   type: 'success',
        //   message: '你的邮箱是: ' + value