瀏覽代碼

审核页面修改

liaolijun 3 月之前
父節點
當前提交
012c04b23f

+ 3 - 2
cors.js

@@ -98,7 +98,8 @@ module.exports = {
        changeOrigin: true
      },
     // '/icore.icp.web/pass/testManagement/v1': {
-    //   target: 'http://127.0.0.1:9001/v1', // 加https
+    //   // target: 'http://127.0.0.1:9001/v1', // 加https
+    //   target: 'http://localhost:9001/v1', // 正式
     //   changeOrigin: true,
     //   pathRewrite: {
     //     '^/icore.icp.web/pass/testManagement/v1': '/' // 这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
@@ -208,5 +209,5 @@ module.exports = {
   //devModules: ['reportForm', 'screeningTests', 'index',  'entrustedManagement','measurementDataManagement', 'approveManagement', 'testAnalysis', 'resourceManager', 'taskManagement']
   //  devModules: ['all']
   //  devModules:['index']
-  devModules: ['index', 'approveManagement', 'entrustedManagement', 'resourceManager', 'systemConfig']
+  devModules: ['index', 'testManagement','systemConfig','baseManagement','testAnalysis','approveManagement','resourceManager', 'systemConfig', 'programManagement', 'entrustedManagement']
 }

+ 1436 - 1426
src/views/approveManagement/components/fiveApprove.vue

@@ -1,1426 +1,1436 @@
-<!-- 五级审核页面 -->
-<template>
-  <div class="examination thre_approve_wrap">
-    <div class="common-head-search">
-      <el-form :inline="true">
-        <el-form-item label="检验车间">
-          <el-select v-model="search.deptNo" filterable clearable style="width:140px;" @clear="clearSelect"
-            @change="selectClass" size="small">
-            <el-option v-for="item in sectionNameType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="检验班组">
-          <el-select v-model="search.sectionNo" filterable clearable style="width:140px;" size="small">
-            <el-option v-for="item in sectionClassType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="matClassNo" label="物料类型">
-          <el-select v-model="search.matClassNo" @change="selctMatName" clearable style="width: 100%" filterable
-            size="small">
-            <el-option v-for="item of matClassNameType" :key="item.matClassNo" :label="item.matClassName"
-              :value="item.matClassNo">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <!-- <el-form-item prop="matNo" label="物料名称">
-          <el-select
-            v-model="search.matNo"
-            clearable
-            style="width: 100%"
-            filterable
-            size="small"
-          >
-            <el-option
-              v-for="item of matNameType"
-              :key="item.matNo"
-              :label="item.matName"
-              :value="item.matNo"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item> -->
-        <el-form-item label='中心编号'>
-          <el-input v-model="search.sampleNo" @keyup.enter.native="searchData()" size="small" placeholder="请输入中心编号查询"
-            style="width: 150px;"></el-input>
-        </el-form-item>
-        <el-form-item label="创建日期">
-          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
-            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
-          </el-date-picker>
-          <span>至</span>
-          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
-            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
-          </el-date-picker>
-          <!-- <el-date-picker
-            v-model="search.times"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width:300px"
-            format="yyyy-MM-dd"
-            value-format="yyyy-MM-dd">
-          </el-date-picker> -->
-        </el-form-item>
-        <el-form-item>
-          <el-button icon="el-icon-search" type="goon" size="mini" :disable='disSearch' @click="searchData">查询
-          </el-button>
-          <el-button icon="el-icon-refresh" type="info" plain size="mini" :disable='disSearch' @click="resetData">重置
-          </el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-    <el-tabs type="border-card" v-model="activeName">
-      <el-tab-pane label="待审核" name="first">
-        <span slot="label">待审核<el-badge :max="10" :hidden='tableData11.length == 0' style="margin-top:-18px"
-            :value="tableData11.length"></el-badge></span>
-        <el-row>
-          <el-col :span='4'>
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
-                待审物料
-              </div>
-              <div>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain11" :height="theight1" v-loading="tableLoading11" :data="tableData11"
-                highlight-current-row @row-click="handleCurrentChange11" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
-                  label="物料名称"></el-table-column>
-              </el-table>
-            </div>
-          </el-col>
-          <el-col :span='20'>
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
-                待审核内容
-              </div>
-              <div>
-                <el-form :inline='true' @submit.native.prevent>
-                  <el-form-item>
-                    <el-button icon="el-icon-check" type="goon" size="mini" :loading='buttonLoading1' @click="audit"
-                      v-privilege="activeMenu + 'check'">
-                      审批通过
-                    </el-button>
-                    <el-button icon="el-icon-back" type="danger" size="mini" :loading='backLoading' @click="checkErr"
-                      v-privilege="activeMenu + 'nocheck'">
-                      审批不通过
-                    </el-button>
-                  </el-form-item>
-                </el-form>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain12" :height="theight1" v-loading="tableLoading1" :data="tableData1"
-                @selection-change="searchFollow1" highlight-current-row :summary-method="getSummaries"
-                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod" border
-                style="width: 100%" :icorePanelShown="100" :icore-filter-flag="icoreFilterFlag"
-                :row-class-name="selectStyle" :cell-class-name="selectCellStyle">
-                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO"-->
-                <!--                                 label="合同号" v-if="false"></el-table-column>-->
-                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
-                  label="委托类型"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
-                  label="检验车间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
-                  label="检验班组"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="SAMPLE_NO"
-                  label="中心编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showHistory(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
-                      class="color-yellow">
-                      {{ scope.row.SAMPLE_NO }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="CAR_NO" label="委托编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showSourceResult(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
-                      class="color-yellow">
-                      {{ scope.row.CAR_NO }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="MAT_NAME"
-                  label="物料名称"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
-                  label="样品类型"></el-table-column>
-                <el-table-column prop="tyu" label="分析项目" show-overflow-tooltip>
-                  <template v-for="col in cols">
-                    <el-table-column :prop="col" show-overflow-tooltip min-width="72" align='center' :key="col"
-                      :label="col">
-                      <template slot-scope="scope">
-                        <el-tooltip class="item" effect="dark" :content="content" placement="top">
-                          <span @click.stop="showMaxAndMinVal(scope.row, col)" style="cursor: pointer;"
-                            :class="{ 'color-danger': scope.row[col] && scope.row[col].split('_')[1] == '2', 'color-warning': scope.row[col] && scope.row[col].split('_')[1] == '1' }">
-                            {{ scope.row[col] || scope.row[col] == '0' ? scope.row[col].split('_')[0] : '' }}
-                          </span>
-                        </el-tooltip>
-                      </template>
-                    </el-table-column>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
-                  label="委托备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
-                  label="创建人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
-                  label="创建时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
-                  label="修改人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
-                  label="修改时间"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChangeMain" @current-change="handleCurrentChangeMain"
-                  :current-page.sync="pageIndex" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize"
-                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main"
-                  background></el-pagination>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </el-tab-pane>
-      <el-tab-pane label="已审核" name="second">
-        <el-row>
-          <el-col :span='4'>
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
-                已审物料
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain21" :height="theight1" v-loading="tableLoading21" :data="tableData21"
-                highlight-current-row @row-click="handleCurrentChange21" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
-                  label="物料名称"></el-table-column>
-              </el-table>
-            </div>
-          </el-col>
-          <el-col :span='20'>
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
-                已审核内容
-              </div>
-              <div>
-                <el-form :inline='true' @submit.native.prevent>
-                  <el-form-item>
-                    <el-button icon="el-icon-check" type="danger" size="mini" :loading='buttonLoadingBack'
-                      @click="rollback">撤回审核</el-button>
-                    <el-button icon="el-icon-check" type="goon" size="mini" :loading='buttonLoading1' @click="audit1"
-                      v-privilege="activeMenu + 'check'">
-                      再次发送电文
-                    </el-button>
-                  </el-form-item>
-                </el-form>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain22" :height="theight2" v-loading="tableLoading2" :data="tableData2"
-                @selection-change="searchFollow2" highlight-current-row :summary-method="getSummaries"
-                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod2" border
-                style="width: 100%" :icorePanelShown="100" :icore-filter-flag="icoreFilterFlag">
-                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO"-->
-                <!--                                 label="合同号"></el-table-column>-->
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
-                  label="检验车间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
-                  label="检验班组"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="SAMPLE_NO"
-                  label="中心编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showHistory(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
-                      class="color-yellow">
-                      {{ scope.row.SAMPLE_NO }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="CAR_NO" label="委托编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showSourceResult(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
-                      class="color-yellow">
-                      {{ scope.row.CAR_NO }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="MAT_NAME"
-                  label="物料名称"></el-table-column>
-                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="BATCH_NO"
-                                 label="批次号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showSourceResult(scope.row)" style="color: rgb(15,69,105);cursor: pointer;">
-                      {{ scope.row.BATCH_NO }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
-                                 label="物料名称"></el-table-column> -->
-                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
-                  label="委托类型"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
-                  label="样品类型"></el-table-column>
-                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="STD_NAME" label="方法"></el-table-column> -->
-                <el-table-column label="分析项目" show-overflow-tooltip>
-                  <template v-for="col in cols2">
-                    <el-table-column :prop="col" show-overflow-tooltip min-width="72" align='center' :key="col"
-                      :label="col">
-                      <template slot-scope="scope">
-                        <span @click.stop="showMaxAndMinVal(scope.row, col)" style="cursor: pointer;">
-                          {{ scope.row[col] || scope.row[col] == '0' ? scope.row[col].split('_')[0] : '' }}
-                        </span>
-                      </template>
-                    </el-table-column>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
-                  label="委托备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="AUDIT_MAN"
-                  label="审核人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="140" prop="AUDIT_TIME"
-                  label="审核时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
-                  label="创建人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
-                  label="创建时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
-                  label="修改人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
-                  label="修改时间"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChangeMain2" @current-change="handleCurrentChangeMain2"
-                  :current-page.sync="pageIndex2" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize2"
-                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main2"
-                  background></el-pagination>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </el-tab-pane>
-    </el-tabs>
-    <el-dialog :close-on-click-modal='false' @close="closeexewindow" width='100%' :visible.sync="showExeManWin" top="0">
-      <div slot="title" class="titleBox">
-        <i class='el-icon-document' style="font-size: 20px"></i>
-        <span style="margin-left:10px;font-size:18px">任务执行信息</span>
-      </div>
-      <el-table ref="exetable" border highlight-current-row :data="exeTableData" :span-method="arraySpanMethod13"
-        :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries" show-summary>
-        <el-table-column type="index" label="NO" width="45" fixed align="center"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="50" fixed align='center' prop="SAMPLE_NO"
-          label="样品号"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="30" fixed align='center' prop="STATE_FLAG"
-          label="状态">
-          <template slot-scope="scope">
-            <span v-if="scope.row.VALID_FLAG == 0">已作废</span>
-            <span v-else-if="scope.row.STATE_FLAG == 0">未执行</span>
-            <span v-else-if="scope.row.STATE_FLAG == 1">已执行</span>
-            <span v-else-if="scope.row.STATE_FLAG == 2">已领用</span>
-            <span v-else-if="scope.row.STATE_FLAG == 3">已提交</span>
-            <span v-else-if="scope.row.STATE_FLAG == 4">未审核</span>
-            <span v-else-if="scope.row.STATE_FLAG == 5">已审核</span>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="MAT_NAME"
-          label="物料名称"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align='center' prop="TEST_ITEM_NAME"
-          label="测试任务"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align='center' prop="SECTION_NAME"
-          label="任务所属班组"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="40" fixed align="center" prop="CREATE_MAN"
-          label="接收任务人"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="40" fixed align="center" prop="CHECK_MAN"
-          label="任务提交人"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable width="140" fixed align="center" prop="CREATE_TIME"
-          label="接任务时间"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable width="140" fixed align="center" prop="CHECK_TIME"
-          label="提交时间"></el-table-column>
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closeexewindow">关闭</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog :close-on-click-modal='false' @close="closeSourceResultWin" width='100%'
-      :visible.sync="showSourceResultWin" top="0">
-      <div slot="title" class="titleBox">
-        <i class='el-icon-document' style="font-size: 20px"></i>
-        <span style="margin-left:10px;font-size:18px">加权详细信息</span>
-      </div>
-      <el-row>
-        <el-col :span="24">
-          <el-table :data="sourceResult">
-            <el-table-column show-overflow-tooltip sortable min-width="120" fixed align="center" prop="sampleNo"
-              label="中心编号"></el-table-column>
-            <!-- <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="batchNo"
-                             label="批次号"></el-table-column> -->
-            <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="batchNo"
-              label="加权值">
-              <template v-for="info in addInfoList">
-                <el-table-column sortable :prop="info" show-overflow-tooltip min-width="72" align='center' :key="info"
-                  :label="info">
-                  <template slot-scope="scope">
-                    <span>{{ scope.row[info] }}</span>
-                  </template>
-                </el-table-column>
-              </template>
-            </el-table-column>
-            <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="matName"
-              label="物料名称"></el-table-column>
-            <el-table-column label="分析项目" show-overflow-tooltip>
-              <template v-for="head in headList">
-                <el-table-column sortable :prop="col" show-overflow-tooltip min-width="72" align='center' :key="head"
-                  :label="head">
-                  <template slot-scope="scope">
-                    <span>{{ scope.row[head] }}</span>
-                  </template>
-                </el-table-column>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-col>
-      </el-row>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closeSourceResultWin">关闭</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog :close-on-click-modal='false' @close="closeexewindow" width='100%' :visible.sync="showBackWin" top="0">
-      <div slot="title" class="titleBox">
-        <i class='el-icon-document' style="font-size: 20px"></i>
-        <span style="margin-left:10px;font-size:18px">请选择需要退回的数据</span>
-      </div>
-      <el-table ref="backtable" border highlight-current-row :data="backTableData" :span-method="arraySpanMethod14"
-        :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries" show-summary
-        @selection-change="selectBackItem">
-        <el-table-column type="index" label="NO" width="45" fixed align="center"></el-table-column>
-        <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="70" fixed align="center" prop="ANLY_ITEM_NAME" label="退回原因">
-          <template slot-scope="scope">
-            <el-input :autosize="{ minRows: 1, maxRows: 2 }" size="mini" placeholder="在此输入退回原因"
-              v-model="scope.row.SEND_BACK_REASON"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="ANLY_ITEM_NAME"
-          label="分析项(报出值)"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="SECTION_NAME"
-          label="班组"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="50" fixed align='center' prop="SAMPLE_NO"
-          label="样品号"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align='center' prop="MAT_NAME"
-          label="物料名称"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align='center' prop="TEST_ITEM_NAME"
-          label="测试任务"></el-table-column>
-        <el-table-column v-if="showc" show-overflow-tooltip sortable min-width="50" fixed align='center'
-          prop="ANLY_ITEM_NO" label="分析项目编号"></el-table-column>
-        <el-table-column v-if="showc" show-overflow-tooltip sortable min-width="110" fixed align='center' prop="SR_ID"
-          label="二审ID号"></el-table-column>
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="backAnlyItem"
-          :loading='backLoading'>审批不通过</el-button>
-        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closebackwindow">关闭</el-button>
-      </span>
-    </el-dialog>
-    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
-  </div>
-</template>
-<script>
-import { getCookie, formatDate } from '@/utils/util.js';
-import { cookieUserId, cookieUserName } from '@/config/config.js'
-import historyAlert from '../../testAnalysis/components/testManagement/historyAlert';
-let userName = getCookie(cookieUserName);
-let userId = getCookie(cookieUserId);
-export default {
-  components: { historyAlert },
-  data() {
-    return {
-      search: {
-        deptNo: '',
-        sectionNo: '',
-        matClassNo: '',
-        matNo: '',
-        sampleTypeCode: '',
-        matName: '',
-        times: '',
-        sampleNo: ''
-      },
-      historyShowFlag: false,
-      Params: {},
-      disableDept: false,
-      showExeManWin: false,        //任务执行人窗口
-      exeTableData: [],            //任务执行人窗口表格数据
-      showBackWin: false,          //退回信息窗口
-      backTableData: [],           //退回信息窗口表格数据
-      backItemSelect: [],          //选择的需要返工的分析项
-      globalSaId: null,            //记录点击的三审数据ID
-      showSourceResultWin: false,  //加权信息窗口
-      canClose: false,
-      showc: false,
-      dialogTableVisible: false,
-      sampleTypeNameType: [],
-      saveAnalyAudit: [],
-      deptNo: '', // 登录人的部门(车间)
-      sectionNo: '', // 登录人的班组
-      classNo: '', // 登录人的岗位
-      disSearch: false,
-      saveAnlyData: [],
-      click_main: {}, // 选中物料行(未审核)
-      click_main2: {}, // 选中物料行(已审核)
-      theight1: 0,
-      theight2: 0,
-      isFixed: 'left',
-      oldTableData: [],
-      oldTableLoading: false,
-      calculateLoading: false,
-      analyAuditLoading: false,
-      tableLoading11: false,
-      tableLoading21: false,
-      tableLoading1: false,
-      tableLoading2: false,
-      tableLoading3: false,
-      buttonLoading1: false,
-      buttonLoading2: false,
-      buttonLoading3: false,
-      buttonLoadingBack: false,
-      cols: [], // 未审核动态列
-      cols2: [], // 已审核动态列
-      tableData11: [],// 待审核物料
-      tableData21: [],// 已审核物料
-      tableData1: [],
-      tableData2: [],
-      tableData3: [],
-      max: '',
-      min: '',
-      content: '',
-      pageIndex: 1,
-      pageSize: 500,
-      total_main: 0,
-      pageIndex2: 1,
-      pageSize2: 500,
-      total_main2: 0,
-      multipleSelection1: [], // 1表多选
-      multipleSelection2: [], // 2表多选
-      activeName: 'first',
-      backManLoading: false,
-      backPlanLoading: false,
-      icoreFilterFlag: true,
-      sectionNameType: [], // 检验车间
-      sectionClassType: [], // 检验班组
-      companyNameType: [], // 公司
-      matNameType: [], // 物料名称-查询
-      matClassNameType: [], // 物料类型-查询
-      activeMenu: '',
-      backLoading: false, // 审核不通过
-      sourceResult: [],   // 加权原始记录
-      headList: [],
-      addInfoList: [],
-      maxAndMin: {}
-    }
-  },
-  created() {
-    this.theight1 = window.innerHeight - 240;
-    this.theight2 = window.innerHeight - 240;
-    this.activeMenu = window.top.localStorage.getItem('activeMenu')
-    let timestamp = new Date().getTime() - (7 * 24 * 60 * 60 * 1000) // 默认前一周
-    this.search.times = [this.getYNM(new Date(timestamp)), this.getYNM(new Date())]
-    // 获取所有机构
-    this.axios.post('pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll', {}, { individualType: 'json' }).then((response) => {
-      this.companyNameType = response.data;
-      // 获取检测中心下的机构
-      this.selectDepartment('JCZX')
-      // this.getCompany()
-    });
-    this.activeMenu = window.top.localStorage.getItem('activeMenu');
-  },
-  mounted() {
-    this.axios.post('pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode', {
-      validFlag: 1,
-      baseCode: 4801
-    }, { individualType: 'json' }).then(res => {
-      this.sampleTypeNameType = res.data
-    })
-    //物料类型
-    this.axios.get('pass/baseManagement/v1/limsbasematerialsclasss/?validFlag=1').then((res) => {
-      this.matClassNameType = res.data.list;
-    });
-  },
-  methods: {
-    getYNM(date) {
-      let year = date.getFullYear().toString();
-      let month = date.getMonth() + 1;
-      let day = date.getDate();
-      month = month < 10 ? '0' + month : month;
-      day = day < 10 ? '0' + day : day;
-      return `${year}-${month}-${day}`;
-    },
-    getSummaries(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = '合计';
-        }
-        if (index === 1) {
-          sums[index] = data.length;
-        }
-      });
-      return sums;
-    },
-    getSummaries11(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = '合计:' + data.length;
-        }
-      });
-      return sums;
-    },
-    //获取个人所属哪个公司
-    getCompany() {
-      this.axios.get('pass/baseManagement/v1/limslrcemps/' + userId).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.search.deptNo = res.data ? res.data.deptNo : ''
-          this.disableDept = res.data
-          this.selectClass(this.search.deptNo)
-          this.searchData()
-        } else {
-          this.disSearch = true
-          this.$message.error(res.message)
-        }
-      }).catch(e => {
-        this.disSearch = true
-        this.$message.error(e.message)
-      })
-    },
-    resetData() {
-      this.search.deptNo = ''
-      this.search.sectionNo = ''
-      this.search.matClassNo = ''
-      this.search.matNo = ''
-      this.search.sampleNo = ''
-      this.search.times = [this.getYNM(new Date()), this.getYNM(new Date())]
-      this.searchData()
-    },
-    async audit1() {
-      if (this.multipleSelection2.length < 1) {
-        this.$message.warning('请先勾选要发送的数据')
-        return
-      }
-      this.buttonLoading1 = true
-      let aa = 0;//成功
-      let bb = 0;//失败
-      let cc = 0;//取消
-      for (let i = 0; i < this.multipleSelection2.length; i++) {
-        let arr = [];
-        arr.push(this.multipleSelection2[i]);
-        const cfs = await this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', arr, { individualType: 'json' });
-        if (cfs.code == 0 || cfs.code == 200) {
-          if (cfs.data.info) {
-            this.$message.warning(cfs.data)
-          } else {
-            let info = ''
-            let map = {
-              "msgTopic": "lims/xcom/LS/CX/99",
-              "msgSource": cfs.data.byteData,
-              "msgFrom": "LS"
-            }
-            const cfs1 = await this.axios.post('pass/mqtt/v1/sends/sendMessage', map, { individualType: 'json' });
-            if (cfs1 == 0) {
-              aa++;
-            } else {
-              bb++;
-              this.$message.error("样号是:" + this.multipleSelection2[i].sampleNo + '发送电文错误!')
-            }
-          }
-        } else {
-          bb++;
-          this.$message.error(cfs.message)
-        }
-      }
-      this.buttonLoading1 = false
-      this.searchData()
-      if (bb == 0 && cc == 0) {
-        this.$message.success('执行完毕,成功提交 ' + aa + ' 条数据');
-      } else {
-        this.$message.warning('执行完毕,成功提交 ' + aa + ' 条数据,失败 ' + bb + ' 条, 取消' + cc + ' 条');
-      }
-    },
-    //撤回审批
-    rollback() {
-      if (this.multipleSelection2.length == 0) {
-        this.$message.warning('请勾选需要撤回审核的数据')
-        return
-      }
-      let saIds = [];
-      this.multipleSelection2.forEach(s => {
-        saIds.push(s.SA_ID)
-      })
-      this.buttonLoadingBack = true;
-      this.axios.post('pass/testManagement/v1/limssamplereleases/withdrawTheAudit', saIds, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.$message.success("操作成功!");
-        } else {
-          this.$message.error(res.message)
-        }
-        this.buttonLoadingBack = false;
-      }).catch(e => {
-        this.buttonLoadingBack = false;
-        this.$message.error(e.message)
-      })
-    },
-    // 审批
-    async audit() {
-      if (this.multipleSelection1.length < 1) {
-        this.$message.warning('请先勾选要审批的数据')
-        return
-      }
-      this.buttonLoading1 = true
-      let sampleNoStr = '';
-      this.multipleSelection1.forEach(item => {
-        if (item.CHANGE_COLOR) {
-          sampleNoStr = sampleNoStr + ',' + item.SAMPLE_NO
-        }
-      })
-      if (sampleNoStr) {
-        sampleNoStr = sampleNoStr.slice(1);
-        this.$confirm('样号[' + sampleNoStr + ']四审未完毕,是否继续审核?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', this.multipleSelection1, { individualType: 'json' }).then(res => {
-            if (res.code == 1 || res.code == 200) {
-              if (res.data.info) {
-                this.$message.success(res.data)
-                this.buttonLoading1 = false
-              } else {
-                let info = ''
-                let map = {
-                  "msgTopic": "lims/xcom/LS/CX/99",
-                  "msgSource": res.data.byteData,
-                  "msgFrom": "LS"
-                }
-                this.axios.post('pass/mqtt/v1/sends/sendMessage', map, { individualType: 'json' }).then(res => {
-                  debugger
-                  console.log(res.message)
-                }).catch(e => {
-                  info = '发送电文错误!'
-                })
-                this.$message.success(res.message + ',' + info)
-                this.buttonLoading1 = false
-              }
-              this.searchData()
-            } else {
-              this.$message.error(res.message)
-              this.buttonLoading1 = false
-            }
-          }).catch(err => {
-            this.buttonLoading1 = false
-            this.$message.error(err.message)
-          })
-        }).catch(ex => {
-          this.buttonLoading1 = false
-          this.$message.error(err.message)
-        })
-      } else {
-        let aa = 0;//成功
-        let bb = 0;//失败
-        let cc = 0;//取消
-        for (let i = 0; i < this.multipleSelection1.length; i++) {
-          let arr = [];
-          arr.push(this.multipleSelection1[i]);
-          const cfs = await this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', arr, { individualType: 'json' });
-          if (cfs.code == 0 || cfs.code == 200) {
-            if (cfs.data.info) {
-              this.$message.warning(cfs.data)
-            } else {
-              let info = ''
-              let map = {
-                "msgTopic": "lims/xcom/LS/CX/99",
-                "msgSource": cfs.data.byteData,
-                "msgFrom": "LS"
-              }
-              const cfs1 = await this.axios.post('pass/mqtt/v1/sends/sendMessage', map, { individualType: 'json' });
-              if (cfs1 == 0) {
-                aa++;
-              } else {
-                bb++;
-                this.$message.error("样号是:" + this.multipleSelection1[i].sampleNo + '发送电文错误!')
-              }
-            }
-          } else {
-            bb++;
-            this.$message.error(cfs.message)
-          }
-        }
-        this.buttonLoading1 = false
-        this.searchData()
-        if (bb == 0 && cc == 0) {
-          this.$message.success('执行完毕,成功提交 ' + aa + ' 条数据');
-        } else {
-          this.$message.warning('执行完毕,成功提交 ' + aa + ' 条数据,失败 ' + bb + ' 条, 取消' + cc + ' 条');
-        }
-        //   this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', this.multipleSelection1, {individualType: 'json'}).then(res => {
-        //     if (res.code == 0 || res.code == 200) {
-        //       if (res.data.info) {
-        //         this.$message.warning(res.data)
-        //         this.buttonLoading1 = false
-        //       } else {
-
-        //         let info = ''
-
-        //         let map = {
-        //             "msgTopic":"lims/xcom/LS/CX/99",
-        //             "msgSource":res.data.byteData,
-        //             "msgFrom":"LS"
-        //           }
-        //          this.axios.post('pass/mqtt/v1/sends/sendMessage',map,{individualType: 'json'}).then(res => {
-
-        //             console.log(res.message)
-        //           }).catch(e => {
-        //             info = '发送电文错误!'
-        //           })
-        //         this.$message.success(res.message+',' + info)
-        //         this.buttonLoading1 = false
-        //       }
-        //       this.searchData()
-        //     } else {
-        //       this.$message.error(res.message)
-        //       this.buttonLoading1 = false
-        //     }
-        //   }).catch(err => {
-        //     this.buttonLoading1 = false
-        //     this.$message.error(err.message)
-        //   })
-      }
-    },
-    // 取消
-    cancel() {
-      if (JSON.stringify(this.click_main) === '{}') {
-        this.$message.warning('请先点击选中一条审核内容数据');
-        return;
-      }
-      if (this.click_main.stateFlag == 5) {
-        this.$message.warning('数据已审核,不可进行取消操作');
-        return;
-      }
-      this.buttonLoading2 = true
-      this.axios.post('pass/testManagement/v1/limssampleresults/cancelLimsSampleResult?id=' + this.click_main.srId, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.$message.success(res.message)
-          this.searchData()
-        } else {
-          this.$message.error(res.message)
-        }
-        this.buttonLoading2 = false
-      }).catch(err => {
-        this.buttonLoading2 = false
-        this.$message.error(err.message)
-      })
-    },
-    // 退回到任务池
-    backPlan() {
-      if (this.saveAnlyData.length < 1) {
-        this.$message.warning('请选勾选需要退回的数据')
-        return
-      }
-      for (let i = 0; i < this.saveAnlyData.length; i++) {
-        if (this.saveAnlyData[i].stateFlag == '2') {
-          this.$message.warning('已审核的数据不能进行计算')
-          return
-        }
-      }
-      let tempArr = []
-      this.saveAnlyData.map(item => {
-        tempArr.push(item.id)
-      })
-      this.backPlanLoading = true
-      this.axios.post('pass/testManagement/v1/limssampleresultds/sendBackTaskTest', tempArr, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.$message.success(res.message)
-        } else {
-          this.$message.error(res.message)
-        }
-        this.backPlanLoading = false
-      }).catch(err => {
-        this.backPlanLoading = false
-        this.$message.error(err.message)
-      })
-    },
-    //异常
-    abnormal() {
-    },
-    //查询
-    searchData() {
-      if (!this.search.times) {
-        this.$message.error('请先选择时间');
-        return true;
-      }
-      this.pageIndex = 1
-      this.pageSize = 500
-      this.pageIndex2 = 1
-      this.pageSize2 = 500
-      this.dataMainWl11()
-      this.dataMainWl21()
-      // this.dataMain()
-      // this.dataMain2()
-    },
-    // 车间列表(检测中心下)
-    selectDepartment(val) {
-      this.sectionNameType = [];
-      this.companyNameType.find((item) => {
-        if (val === item.orgCode) {
-          this.sectionNameType = item.sysOrgList;
-        }
-      });
-    },
-    // 根据选中的车间名称,查询班组名称
-    selectClass(val) {
-      this.sectionClassType = [];
-      this.sectionNameType.find((item) => {
-        if (val === item.orgCode) {
-          this.sectionClassType = item.sysOrgList;
-          this.search.sectionNo = '';
-        }
-      });
-    },
-    // 未审核物料
-    dataMainWl11() {
-      this.click_main = {}
-      this.tableData1 = []
-      this.total_main = 0
-      let startTime = ''
-      let endTime = ''
-      if (!this.search.times) {
-        startTime = ''
-        endTime = ''
-      } else {
-        startTime = this.search.times[0] + ' 00:00:00'
-        endTime = this.search.times[1] + ' 23:59:59'
-      }
-      let obj = {
-        object: {
-          validFlag: '1',
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo
-        },
-        list: [5],
-        mode: this.search.matClassNo,
-        startTime: startTime,
-        endTime: endTime
-      }
-      this.tableLoading11 = true;
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryReleaseWl', obj, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.tableData11 = res.data
-          if (this.search.sampleNo && this.tableData11.length > 0) {
-            this.$refs.tableMain11.setCurrentRow(this.tableData11[0])
-            this.click_main.MAT_NO = this.tableData11[0].MAT_NO ? this.tableData11[0].MAT_NO : ''
-            this.pageIndex = 1
-            this.pageSize = 200
-            this.dataMain();
-          }
-        } else {
-          this.$message.error(res.message)
-        }
-        this.tableLoading11 = false;
-      }).catch(err => {
-        this.tableLoading11 = false;
-        this.$message.error(err.message)
-      })
-    },
-    // 已审核物料
-    dataMainWl21() {
-      this.click_main2 = {}
-      this.tableData2 = []
-      this.total_main2 = 0
-      let startTime = ''
-      let endTime = ''
-      if (!this.search.times) {
-        startTime = ''
-        endTime = ''
-      } else {
-        startTime = this.search.times[0] + ' 00:00:00'
-        endTime = this.search.times[1] + ' 23:59:59'
-      }
-      let obj = {
-        object: {
-          validFlag: '1',
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo
-        },
-        list: [6, 7],
-        mode: this.search.matClassNo,
-        startTime: startTime,
-        endTime: endTime
-      }
-      this.tableLoading21 = true;
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryReleaseWl2', obj, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.tableData21 = res.data
-          if (this.search.sampleNo && this.tableData21.length > 0) {
-            this.$refs.tableMain21.setCurrentRow(this.tableData21[0])
-            this.click_main2.MAT_NO = this.tableData21[0].MAT_NO ? this.tableData21[0].MAT_NO : ''
-            this.pageIndex2 = 1
-            this.pageSize2 = 200
-            this.dataMain2();
-          }
-        } else {
-          this.$message.error(res.message)
-        }
-        this.tableLoading21 = false;
-      }).catch(err => {
-        this.tableLoading21 = false;
-        this.$message.error(err.message)
-      })
-    },
-    // 未审核数据
-    dataMain() {
-      if (!this.click_main || !this.click_main.MAT_NO) {
-        return false;
-      }
-      let startTime = ''
-      let endTime = ''
-      if (!this.search.times) {
-        startTime = ''
-        endTime = ''
-      } else {
-        startTime = this.search.times[0] + ' 00:00:00'
-        endTime = this.search.times[1] + ' 23:59:59'
-      }
-      let obj = {
-        object: {
-          matNo: this.click_main.MAT_NO,
-          validFlag: '1',
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo
-        },
-        'list': [5],
-        'startTime': startTime,
-        'endTime': endTime,
-        'pageIndex': this.pageIndex,
-        'pageSize': this.pageSize
-      }
-      this.tableLoading1 = true;
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryLimsSampleReleasePage2', obj, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.tableData1 = res.data.data.list
-          if (this.tableData1 != null && this.tableData1.length > 0) {
-            this.tableData1.sort((a, b) => {
-              a.CHANGE_COLOR = a.CHANGE_COLOR ? 1 : 0
-              b.CHANGE_COLOR = b.CHANGE_COLOR ? 1 : 0
-              return a.CHANGE_COLOR - b.CHANGE_COLOR
-            })
-          }
-          this.cols = res.data.head
-          this.total_main = res.data.data.total
-        } else {
-          this.$message.error(res.message)
-        }
-        this.tableLoading1 = false;
-      }).catch(err => {
-        this.tableLoading1 = false;
-        this.$message.error(err.message)
-      })
-    },
-    showMaxAndMinVal(row, col) {
-      let params = {
-        batchNo: row.BATCH_NO,
-        anlyItemName: col,
-        contractNo: row.CONTRACT_NO,
-        matNo: row.MAT_NO
-      }
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryMaxAndMinVal', params, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.maxAndMin = res.data;
-          if (this.maxAndMin != null && this.maxAndMin.MAXI !== '') {
-            this.max = this.maxAndMin.MAXI;
-          }
-          if (this.maxAndMin != null && this.maxAndMin.MINI !== '') {
-            this.min = this.maxAndMin.MINI;
-          }
-          if (this.max != null && this.min != null && this.max !== '' && this.min !== '') {
-            this.content = '最大值:' + this.max + ',最小值:' + this.min;
-          } else {
-            this.content = '';
-          }
-        } else {
-          this.$message.warning(res.message)
-        }
-      }).catch(e => {
-        this.$message.error(e.message);
-      })
-    },
-    // 已审核数据
-    dataMain2() {
-      if (!this.click_main2 || !this.click_main2.MAT_NO) {
-        return;
-      }
-      let startTime = ''
-      let endTime = ''
-      if (!this.search.times) {
-        startTime = ''
-        endTime = ''
-      } else {
-        startTime = this.search.times[0] + ' 00:00:00'
-        endTime = this.search.times[1] + ' 23:59:59'
-      }
-      let obj = {
-        object: {
-          matNo: this.click_main2.MAT_NO,
-          validFlag: '1',
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo
-        },
-        'list': [6, 7],
-        'startTime': startTime,
-        'endTime': endTime,
-        'pageIndex': this.pageIndex2,
-        'pageSize': this.pageSize2
-      }
-      this.tableLoading2 = true;
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryLimsSampleReleasePage4', obj, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.tableData2 = res.data.data.list
-          this.cols2 = res.data.head
-          this.total_main2 = res.data.data.total
-        } else {
-          this.$message.error(res.message)
-        }
-        this.tableLoading2 = false;
-      }).catch(err => {
-        this.tableLoading2 = false;
-        this.$message.error(err.message)
-      })
-    },
-    handleSizeChangeMain(pageSize) {
-      this.pageIndex = 1;
-      this.pageSize = pageSize;
-      this.dataMain();
-    },
-    handleCurrentChangeMain(pageIndex) {
-      this.pageIndex = pageIndex;
-      this.dataMain();
-    },
-    handleSizeChangeMain2(pageSize) {
-      this.pageIndex2 = 1;
-      this.pageSize2 = pageSize;
-      this.dataMain2();
-    },
-    handleCurrentChangeMain2(pageIndex) {
-      this.pageIndex2 = pageIndex;
-      this.dataMain2();
-    },
-    tableHeaderCellStyle() {
-      return 'color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;'
-    },
-    // 根据物料类型查询物料 - 查询
-    selctMatName(val) {
-      this.matNameType = [];
-      this.search.matNo = '';
-      if (!val) {
-        return;
-      }
-      //物料名称
-      this.axios.post('pass/baseManagement/v1/limsbasematerialss/queryLimsBaseMaterialsPage/',
-        {
-          object: { validFlag: 1, matClassNo: val },
-          pageIndex: 1,
-          pageSize: 99999,
-        },
-        { individualType: 'json' }
-      ).then((res) => {
-        this.matNameType = res.data.list;
-      });
-    },
-    clearSelect() {
-      this.search.sectionNo = '';
-    },
-    //选中数据1
-    searchFollow1(val) {
-      this.multipleSelection1 = val
-    },
-    //选中数据2
-    searchFollow2(val) {
-      this.multipleSelection2 = val
-    },
-    // 选中需要退回的分析项
-    selectBackItem(val) {
-      this.backItemSelect = val
-      console.log('val', val)
-    },
-    // 选中未审核物料
-    handleCurrentChange11(val) {
-      this.click_main = val
-      // console.log('this.click_main', this.click_main)
-      this.dataMain();
-    },
-    // 选中已审核物料
-    handleCurrentChange21(val) {
-      this.click_main2 = val
-      this.dataMain2();
-    },
-    // 审批不通过
-    checkErr() {
-      if (this.multipleSelection1.length == 0) {
-        this.$message.warning('请勾选需要退回的数据')
-        return
-      }
-      if (this.multipleSelection1.length > 1) {
-        this.$message.warning('请只勾选需要退回的单条数据')
-        return
-      }
-      this.showResult(this.multipleSelection1[0]);
-    },
-    // 显示指定元素所属的班组的整条二审数据
-    showResult(row) {
-      this.showBackWin = true
-      let saId = row.RID
-      this.globalSaId = row.RID
-      this.backTableData = []
-      this.axios.get('pass/testManagement/v1/limssamplereleases/showResult?saId=' + saId).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.backTableData = res.data
-          this.backLoading = true
-        } else {
-          this.$message.error(res.message)
-        }
-        this.backLoading = false
-      }).catch(e => {
-        this.backLoading = false
-        this.$message.error(e.message)
-      })
-    },
-    //按班组退回数据
-    backAnlyItem() {
-      if (this.backItemSelect.length == 0) {
-        this.$message.warning('请勾选需要退回的数据~!');
-        return
-      }
-      let anlyArr = []
-      this.backItemSelect.forEach(item => {
-        let obj = {
-          sendBackReason: item.SEND_BACK_REASON,
-          anlyItemNo: item.ANLY_ITEM_NO,
-          srId: item.SR_ID,
-          saId: this.globalSaId
-        }
-        anlyArr.push(obj)
-      })
-      this.backLoading = true
-      this.axios.post('pass/testManagement/v1/limssamplereleases/backAnlyItemBySection', anlyArr, { individualType: 'json' }).then(res => {
-        if (res.code == 200 || res.code == 0) {
-          this.$message.success(res.data);
-          this.closebackwindow();
-          this.pageIndex = 1
-          this.pageSize = 500
-          this.pageIndex2 = 1
-          this.pageSize2 = 500
-          // this.dataMainWl11()
-          this.dataMain();
-        } else {
-          this.$message.warning(res.message);
-        }
-        this.backLoading = false;
-
-      }).catch(e => {
-        this.$message.warning(e.message);
-        this.backLoading = false;
-      });
-    },
-    // 表格1合并单元格
-    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.tableMain12.tableData
-      let rowsPan = 1;
-      let thisColomnData = row[column['property']];
-      // 相同合同列的行合并
-      if (column['property'] === 'CONTRACT_NO' && thisColomnData) {
-        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
-          return {
-            rowspan: 0,
-            colspan: 0
-          };
-        }
-        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
-          rowsPan += 1
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1
-        };
-      }
-    },
-    showExeManAndTime(val) {
-      this.showExeManWin = true;
-      // 查询任务执行信息
-      var srId = val.SR_ID;
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryTaskExeInfo', { srId: srId }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.exeTableData = res.data;
-          this.canClose = true;
-        } else {
-          this.$message.error(res.data);
-          this.canClose = true;
-        }
-      }).catch(e => {
-        this.$message.error(e.message);
-        this.canClose = true;
-      })
-    },
-    showHistory(row) {
-      if (!row) {
-        return this.$message.warning('查询历史记录失败,参数错误!')
-      }
-      let sampleNo = row.SAMPLE_NO;
-      this.axios.post('pass/testManagement/v1/limssamplehistorys/queryHistoryTestAll?sampleNo=' + sampleNo).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          //打开窗口
-          this.historyShowFlag = !this.historyShowFlag
-          this.Params = Object.assign([{}], res.data)
-        } else {
-          this.$message.warning('查询历史记录失败!')
-        }
-      }).catch(e => {
-        this.$message.error(e.message);
-      })
-    },
-    showSourceResult(val) {
-      let obj = val
-      this.axios.post('pass/testManagement/v1/limssamplereleases/queryAddWeightInfo', obj, { individualType: 'json' }).then(res => {
-        if (res.code == 0 || res.code == 200) {
-          this.showSourceResultWin = true;
-          this.headList = res.data.headList;
-          this.sourceResult = res.data.data;
-          this.addInfoList = res.data.addInfoList;
-        } else {
-          this.$message.warning(res.message);
-        }
-      }).catch(e => {
-        this.$message.error(e.message);
-      })
-    },
-    closeSourceResultWin() {
-      this.showSourceResultWin = false
-    },
-    // 执行人窗口表格合并单元格
-    arraySpanMethod13({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.exetable.tableData
-      let rowsPan = 1;
-      let thisColomnData = row[column['property']];
-      // 相同合同列的行合并
-      if (column['property'] === 'SAMPLE_NO' && thisColomnData) {
-        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
-          return {
-            rowspan: 0,
-            colspan: 0
-          };
-        }
-        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
-          rowsPan += 1
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1
-        };
-      }
-    },
-    // 分析项目退回窗口合并
-    arraySpanMethod14({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.backtable.tableData
-      let rowsPan = 1;
-      let thisColomnData = row['SECTION_NAME'];
-      // 相同合同列的行合并
-      if ((column['property'] === 'SECTION_NAME' && thisColomnData)) {
-        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1]['SECTION_NAME']) {
-          return {
-            rowspan: 0,
-            colspan: 0
-          };
-        }
-        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan]['SECTION_NAME']) {
-          rowsPan += 1
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1
-        };
-      }
-    },
-    // 关闭任务执行信息窗口
-    closeexewindow() {
-      if (!this.canClose) {
-        return;
-      }
-      this.showExeManWin = false;
-      this.exeTableData = []; // 清空表格数据
-    },
-    // 关闭分析项退回窗口
-    closebackwindow() {
-      this.showBackWin = false;
-      this.backItemSelect = [];
-      this.backTableData = [];
-    },
-    selectStyle({ row, rowIndex }) {
-      if (row.CHANGE_COLOR) {
-        return 'row-bule';
-      }
-    },
-    selectCellStyle({ row, column, rowIndex, columnIndex }) {
-      if (row.CHANGE_COLOR) {
-        return 'error-blue';
-      }
-    },
-    // 表格2合并单元格
-    arraySpanMethod2({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.tableMain22.tableData
-      let rowsPan = 1;
-      let thisColomnData = row[column['property']];
-      // 相同合同列的行合并
-      if (column['property'] === 'CONTRACT_NO' && thisColomnData) {
-        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
-          return {
-            rowspan: 0,
-            colspan: 0
-          };
-        }
-        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
-          rowsPan += 1
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1
-        };
-      }
-    }
-  }
-}
-</script>
-<style scoped></style>
-<style>
-.row-bule {
-  background-color: rgb(89, 179, 253) !important;
-}
-
-.el-table__body tr.current-row.row-bule>td {
-  background-color: rgb(89, 179, 253) !important;
-}
-</style>
+<!-- 五级审核页面 -->
+<template>
+  <div class="examination thre_approve_wrap">
+    <div class="common-head-search">
+      <el-form :inline="true">
+        <el-form-item label="检验车间">
+          <el-select v-model="search.deptNo" filterable clearable style="width:140px;" @clear="clearSelect"
+            @change="selectClass" size="small">
+            <el-option v-for="item in sectionNameType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="检验班组">
+          <el-select v-model="search.sectionNo" filterable clearable style="width:140px;" size="small">
+            <el-option v-for="item in sectionClassType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="matClassNo" label="物料类型">
+          <el-select v-model="search.matClassNo" @change="selctMatName" clearable style="width: 100%" filterable
+            size="small">
+            <el-option v-for="item of matClassNameType" :key="item.matClassNo" :label="item.matClassName"
+              :value="item.matClassNo">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- <el-form-item prop="matNo" label="物料名称">
+          <el-select
+            v-model="search.matNo"
+            clearable
+            style="width: 100%"
+            filterable
+            size="small"
+          >
+            <el-option
+              v-for="item of matNameType"
+              :key="item.matNo"
+              :label="item.matName"
+              :value="item.matNo"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item> -->
+        <el-form-item label='中心编号'>
+          <el-input v-model="search.sampleNo" @keyup.enter.native="searchData()" size="small" placeholder="请输入中心编号查询"
+            style="width: 150px;"></el-input>
+        </el-form-item>
+        <el-form-item label="创建日期">
+          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
+          </el-date-picker>
+          <!-- <el-date-picker
+            v-model="search.times"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            style="width:300px"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd">
+          </el-date-picker> -->
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="el-icon-search" type="goon" size="mini" :disable='disSearch' @click="searchData">查询
+          </el-button>
+          <el-button icon="el-icon-refresh" type="info" plain size="mini" :disable='disSearch' @click="resetData">重置
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-tabs type="border-card" v-model="activeName">
+      <el-tab-pane label="待审核" name="first">
+        <span slot="label">待审核<el-badge :max="10" :hidden='tableData11.length == 0' style="margin-top:-18px"
+            :value="tableData11.length"></el-badge></span>
+        <el-row>
+          <el-col :span='4'>
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
+                待审物料
+              </div>
+              <div>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain11" :height="theight1" v-loading="tableLoading11" :data="tableData11"
+                highlight-current-row @row-click="handleCurrentChange11" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
+                  label="物料名称"></el-table-column>
+              </el-table>
+            </div>
+          </el-col>
+          <el-col :span='20'>
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
+                待审核内容
+              </div>
+              <div>
+                <el-form :inline='true' @submit.native.prevent>
+                  <el-form-item>
+                    <el-button icon="el-icon-check" type="goon" size="mini" :loading='buttonLoading1' @click="audit"
+                      v-privilege="activeMenu + 'check'">
+                      审批通过
+                    </el-button>
+                    <el-button icon="el-icon-back" type="danger" size="mini" :loading='backLoading' @click="checkErr"
+                      v-privilege="activeMenu + 'nocheck'">
+                      审批不通过
+                    </el-button>
+                  </el-form-item>
+                </el-form>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain12" :height="theight1" v-loading="tableLoading1" :data="tableData1"
+                @selection-change="searchFollow1" highlight-current-row :summary-method="getSummaries"
+                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod" border
+                style="width: 100%" :icorePanelShown="100" :icore-filter-flag="icoreFilterFlag"
+                :row-class-name="selectStyle" :cell-class-name="selectCellStyle">
+                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO"-->
+                <!--                                 label="合同号" v-if="false"></el-table-column>-->
+                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
+                  label="委托类型"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
+                  label="检验车间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
+                  label="检验班组"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="SAMPLE_NO"
+                  label="中心编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showHistory(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
+                      class="color-yellow">
+                      {{ scope.row.SAMPLE_NO }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="CAR_NO" label="委托编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showSourceResult(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
+                      class="color-yellow">
+                      {{ scope.row.CAR_NO }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="MAT_NAME"
+                  label="物料名称"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
+                  label="样品类型"></el-table-column>
+                <el-table-column prop="tyu" label="分析项目" show-overflow-tooltip>
+                  <template v-for="col in cols">
+                    <el-table-column :prop="col" show-overflow-tooltip min-width="72" align='center' :key="col"
+                      :label="col">
+                      <template slot-scope="scope">
+                        <el-tooltip class="item" effect="dark" :content="content" placement="top">
+                          <span @click.stop="showMaxAndMinVal(scope.row, col)" style="cursor: pointer;"
+                            :class="{ 'color-danger': scope.row[col] && scope.row[col].split('_')[1] == '2', 'color-warning': scope.row[col] && scope.row[col].split('_')[1] == '1' }">
+                            {{ scope.row[col] || scope.row[col] == '0' ? scope.row[col].split('_')[0] : '' }}
+                          </span>
+                        </el-tooltip>
+                      </template>
+                    </el-table-column>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
+                  label="委托备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
+                  label="创建人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
+                  label="创建时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
+                  label="修改人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
+                  label="修改时间"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChangeMain" @current-change="handleCurrentChangeMain"
+                  :current-page.sync="pageIndex" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize"
+                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main"
+                  background></el-pagination>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+      <el-tab-pane label="已审核" name="second">
+        <el-row>
+          <el-col :span='4'>
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
+                已审物料
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain21" :height="theight1" v-loading="tableLoading21" :data="tableData21"
+                highlight-current-row @row-click="handleCurrentChange21" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
+                  label="物料名称"></el-table-column>
+              </el-table>
+            </div>
+          </el-col>
+          <el-col :span='20'>
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src='../../../assets/img/imgScreen/logo.png' />
+                已审核内容
+              </div>
+              <div>
+                <el-form :inline='true' @submit.native.prevent>
+                  <el-form-item>
+                    <el-button icon="el-icon-check" type="danger" size="mini" :loading='buttonLoadingBack'
+                      @click="rollback">撤回审核</el-button>
+                    <el-button icon="el-icon-check" type="goon" size="mini" :loading='buttonLoading1' @click="audit1"
+                      v-privilege="activeMenu + 'check'">
+                      再次发送电文
+                    </el-button>
+                  </el-form-item>
+                </el-form>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain22" :height="theight2" v-loading="tableLoading2" :data="tableData2"
+                @selection-change="searchFollow2" highlight-current-row :summary-method="getSummaries"
+                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod2" border
+                style="width: 100%" :icorePanelShown="100" :icore-filter-flag="icoreFilterFlag">
+                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO"-->
+                <!--                                 label="合同号"></el-table-column>-->
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
+                  label="检验车间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
+                  label="检验班组"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="SAMPLE_NO"
+                  label="中心编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showHistory(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
+                      class="color-yellow">
+                      {{ scope.row.SAMPLE_NO }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="CAR_NO" label="委托编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showSourceResult(scope.row)" style="color:rgb(15,69,105);cursor: pointer;"
+                      class="color-yellow">
+                      {{ scope.row.CAR_NO }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" min-width="100" prop="MAT_NAME"
+                  label="物料名称"></el-table-column>
+                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="BATCH_NO"
+                                 label="批次号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showSourceResult(scope.row)" style="color: rgb(15,69,105);cursor: pointer;">
+                      {{ scope.row.BATCH_NO }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
+                                 label="物料名称"></el-table-column> -->
+                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
+                  label="委托类型"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
+                  label="样品类型"></el-table-column>
+                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="STD_NAME" label="方法"></el-table-column> -->
+                <el-table-column label="分析项目" show-overflow-tooltip>
+                  <template v-for="col in cols2">
+                    <el-table-column :prop="col" show-overflow-tooltip min-width="72" align='center' :key="col"
+                      :label="col">
+                      <template slot-scope="scope">
+                        <span @click.stop="showMaxAndMinVal(scope.row, col)" style="cursor: pointer;">
+                          {{ scope.row[col] || scope.row[col] == '0' ? scope.row[col].split('_')[0] : '' }}
+                        </span>
+                      </template>
+                    </el-table-column>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
+                  label="委托备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="AUDIT_MAN"
+                  label="审核人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="140" prop="AUDIT_TIME"
+                  label="审核时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
+                  label="创建人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
+                  label="创建时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
+                  label="修改人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
+                  label="修改时间"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChangeMain2" @current-change="handleCurrentChangeMain2"
+                  :current-page.sync="pageIndex2" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize2"
+                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main2"
+                  background></el-pagination>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+    </el-tabs>
+    <el-dialog :close-on-click-modal='false' @close="closeexewindow" width='100%' :visible.sync="showExeManWin" top="0">
+      <div slot="title" class="titleBox">
+        <i class='el-icon-document' style="font-size: 20px"></i>
+        <span style="margin-left:10px;font-size:18px">任务执行信息</span>
+      </div>
+      <el-table ref="exetable" border highlight-current-row :data="exeTableData" :span-method="arraySpanMethod13"
+        :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries" show-summary>
+        <el-table-column type="index" label="NO" width="45" fixed align="center"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="50" fixed align='center' prop="SAMPLE_NO"
+          label="样品号"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="30" fixed align='center' prop="STATE_FLAG"
+          label="状态">
+          <template slot-scope="scope">
+            <span v-if="scope.row.VALID_FLAG == 0">已作废</span>
+            <span v-else-if="scope.row.STATE_FLAG == 0">未执行</span>
+            <span v-else-if="scope.row.STATE_FLAG == 1">已执行</span>
+            <span v-else-if="scope.row.STATE_FLAG == 2">已领用</span>
+            <span v-else-if="scope.row.STATE_FLAG == 3">已提交</span>
+            <span v-else-if="scope.row.STATE_FLAG == 4">未审核</span>
+            <span v-else-if="scope.row.STATE_FLAG == 5">已审核</span>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="MAT_NAME"
+          label="物料名称"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align='center' prop="TEST_ITEM_NAME"
+          label="测试任务"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align='center' prop="SECTION_NAME"
+          label="任务所属班组"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="40" fixed align="center" prop="CREATE_MAN"
+          label="接收任务人"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="40" fixed align="center" prop="CHECK_MAN"
+          label="任务提交人"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable width="140" fixed align="center" prop="CREATE_TIME"
+          label="接任务时间"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable width="140" fixed align="center" prop="CHECK_TIME"
+          label="提交时间"></el-table-column>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closeexewindow">关闭</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog :close-on-click-modal='false' @close="closeSourceResultWin" width='100%'
+      :visible.sync="showSourceResultWin" top="0">
+      <div slot="title" class="titleBox">
+        <i class='el-icon-document' style="font-size: 20px"></i>
+        <span style="margin-left:10px;font-size:18px">加权详细信息</span>
+      </div>
+      <el-row>
+        <el-col :span="24">
+          <el-table :data="sourceResult">
+            <el-table-column show-overflow-tooltip sortable min-width="120" fixed align="center" prop="sampleNo"
+              label="中心编号"></el-table-column>
+            <!-- <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="batchNo"
+                             label="批次号"></el-table-column> -->
+            <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="batchNo"
+              label="加权值">
+              <template v-for="info in addInfoList">
+                <el-table-column sortable :prop="info" show-overflow-tooltip min-width="72" align='center' :key="info"
+                  :label="info">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row[info] }}</span>
+                  </template>
+                </el-table-column>
+              </template>
+            </el-table-column>
+            <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="matName"
+              label="物料名称"></el-table-column>
+            <el-table-column label="分析项目" show-overflow-tooltip>
+              <template v-for="head in headList">
+                <el-table-column sortable :prop="col" show-overflow-tooltip min-width="72" align='center' :key="head"
+                  :label="head">
+                  <template slot-scope="scope">
+                    <span>{{ scope.row[head] }}</span>
+                  </template>
+                </el-table-column>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-col>
+      </el-row>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closeSourceResultWin">关闭</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog :close-on-click-modal='false' @close="closeexewindow" width='100%' :visible.sync="showBackWin" top="0">
+      <div slot="title" class="titleBox">
+        <i class='el-icon-document' style="font-size: 20px"></i>
+        <span style="margin-left:10px;font-size:18px">请选择需要退回的数据</span>
+      </div>
+      <el-table ref="backtable" border highlight-current-row :data="backTableData" :span-method="arraySpanMethod14"
+        :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries" show-summary
+        @selection-change="selectBackItem">
+        <el-table-column type="index" label="NO" width="45" fixed align="center"></el-table-column>
+        <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="70" fixed align="center" prop="ANLY_ITEM_NAME" label="退回原因">
+          <template slot-scope="scope">
+            <el-input :autosize="{ minRows: 1, maxRows: 2 }" size="mini" placeholder="在此输入退回原因"
+              v-model="scope.row.SEND_BACK_REASON"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="ANLY_ITEM_NAME"
+          label="分析项(报出值)"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="70" fixed align="center" prop="SECTION_NAME"
+          label="班组"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="50" fixed align='center' prop="SAMPLE_NO"
+          label="样品号"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align='center' prop="MAT_NAME"
+          label="物料名称"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align='center' prop="TEST_ITEM_NAME"
+          label="测试任务"></el-table-column>
+        <el-table-column v-if="showc" show-overflow-tooltip sortable min-width="50" fixed align='center'
+          prop="ANLY_ITEM_NO" label="分析项目编号"></el-table-column>
+        <el-table-column v-if="showc" show-overflow-tooltip sortable min-width="110" fixed align='center' prop="SR_ID"
+          label="二审ID号"></el-table-column>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="backAnlyItem"
+          :loading='backLoading'>审批不通过</el-button>
+        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closebackwindow">关闭</el-button>
+      </span>
+    </el-dialog>
+    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
+  </div>
+</template>
+<script>
+import { getCookie, formatDate } from '@/utils/util.js';
+import { cookieUserId, cookieUserName } from '@/config/config.js'
+import historyAlert from '../../testAnalysis/components/testManagement/historyAlert';
+let userName = getCookie(cookieUserName);
+let userId = getCookie(cookieUserId);
+export default {
+  components: { historyAlert },
+  data() {
+    return {
+      search: {
+        deptNo: '',
+        sectionNo: '',
+        matClassNo: '',
+        matNo: '',
+        sampleTypeCode: '',
+        matName: '',
+        times: '',
+        sampleNo: '',
+        type:''
+      },
+      historyShowFlag: false,
+      Params: {},
+      disableDept: false,
+      showExeManWin: false,        //任务执行人窗口
+      exeTableData: [],            //任务执行人窗口表格数据
+      showBackWin: false,          //退回信息窗口
+      backTableData: [],           //退回信息窗口表格数据
+      backItemSelect: [],          //选择的需要返工的分析项
+      globalSaId: null,            //记录点击的三审数据ID
+      showSourceResultWin: false,  //加权信息窗口
+      canClose: false,
+      showc: false,
+      dialogTableVisible: false,
+      sampleTypeNameType: [],
+      saveAnalyAudit: [],
+      deptNo: '', // 登录人的部门(车间)
+      sectionNo: '', // 登录人的班组
+      classNo: '', // 登录人的岗位
+      disSearch: false,
+      saveAnlyData: [],
+      click_main: {}, // 选中物料行(未审核)
+      click_main2: {}, // 选中物料行(已审核)
+      theight1: 0,
+      theight2: 0,
+      isFixed: 'left',
+      oldTableData: [],
+      oldTableLoading: false,
+      calculateLoading: false,
+      analyAuditLoading: false,
+      tableLoading11: false,
+      tableLoading21: false,
+      tableLoading1: false,
+      tableLoading2: false,
+      tableLoading3: false,
+      buttonLoading1: false,
+      buttonLoading2: false,
+      buttonLoading3: false,
+      buttonLoadingBack: false,
+      cols: [], // 未审核动态列
+      cols2: [], // 已审核动态列
+      tableData11: [],// 待审核物料
+      tableData21: [],// 已审核物料
+      tableData1: [],
+      tableData2: [],
+      tableData3: [],
+      max: '',
+      min: '',
+      content: '',
+      pageIndex: 1,
+      pageSize: 500,
+      total_main: 0,
+      pageIndex2: 1,
+      pageSize2: 500,
+      total_main2: 0,
+      multipleSelection1: [], // 1表多选
+      multipleSelection2: [], // 2表多选
+      activeName: 'first',
+      backManLoading: false,
+      backPlanLoading: false,
+      icoreFilterFlag: true,
+      sectionNameType: [], // 检验车间
+      sectionClassType: [], // 检验班组
+      companyNameType: [], // 公司
+      matNameType: [], // 物料名称-查询
+      matClassNameType: [], // 物料类型-查询
+      activeMenu: '',
+      backLoading: false, // 审核不通过
+      sourceResult: [],   // 加权原始记录
+      headList: [],
+      addInfoList: [],
+      maxAndMin: {}
+    }
+  },
+  created() {
+    this.theight1 = window.innerHeight - 240;
+    this.theight2 = window.innerHeight - 240;
+    this.activeMenu = window.top.localStorage.getItem('activeMenu')
+    let timestamp = new Date().getTime() - (7 * 24 * 60 * 60 * 1000) // 默认前一周
+    this.search.times = [this.getYNM(new Date(timestamp)), this.getYNM(new Date())]
+    // 获取所有机构
+    this.axios.post('pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll', {}, { individualType: 'json' }).then((response) => {
+      this.companyNameType = response.data;
+      // 获取检测中心下的机构
+      this.selectDepartment('JCZX')
+      // this.getCompany()
+    });
+    this.activeMenu = window.top.localStorage.getItem('activeMenu');
+  },
+  watch: {
+  "$route.query.type"(newType) {
+    this.search.type = newType || '';
+  }
+},
+  mounted() {
+    this.search.type = this.$route.query.type  || '';
+    this.axios.post('pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode', {
+      validFlag: 1,
+      baseCode: 4801,
+      // sectionName:this.search.type
+    }, { individualType: 'json' }).then(res => {
+      this.sampleTypeNameType = res.data
+    })
+    //物料类型
+    this.axios.get('pass/baseManagement/v1/limsbasematerialsclasss/?validFlag=1').then((res) => {
+      this.matClassNameType = res.data.list;
+    });
+  },
+  methods: {
+    getYNM(date) {
+      let year = date.getFullYear().toString();
+      let month = date.getMonth() + 1;
+      let day = date.getDate();
+      month = month < 10 ? '0' + month : month;
+      day = day < 10 ? '0' + day : day;
+      return `${year}-${month}-${day}`;
+    },
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计';
+        }
+        if (index === 1) {
+          sums[index] = data.length;
+        }
+      });
+      return sums;
+    },
+    getSummaries11(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计:' + data.length;
+        }
+      });
+      return sums;
+    },
+    //获取个人所属哪个公司
+    getCompany() {
+      this.axios.get('pass/baseManagement/v1/limslrcemps/' + userId).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.search.deptNo = res.data ? res.data.deptNo : ''
+          this.disableDept = res.data
+          this.selectClass(this.search.deptNo)
+          this.searchData()
+        } else {
+          this.disSearch = true
+          this.$message.error(res.message)
+        }
+      }).catch(e => {
+        this.disSearch = true
+        this.$message.error(e.message)
+      })
+    },
+    resetData() {
+      this.search.deptNo = ''
+      this.search.sectionNo = ''
+      this.search.matClassNo = ''
+      this.search.matNo = ''
+      this.search.sampleNo = ''
+      this.search.times = [this.getYNM(new Date()), this.getYNM(new Date())]
+      this.searchData()
+    },
+    async audit1() {
+      if (this.multipleSelection2.length < 1) {
+        this.$message.warning('请先勾选要发送的数据')
+        return
+      }
+      this.buttonLoading1 = true
+      let aa = 0;//成功
+      let bb = 0;//失败
+      let cc = 0;//取消
+      for (let i = 0; i < this.multipleSelection2.length; i++) {
+        let arr = [];
+        arr.push(this.multipleSelection2[i]);
+        const cfs = await this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', arr, { individualType: 'json' });
+        if (cfs.code == 0 || cfs.code == 200) {
+          if (cfs.data.info) {
+            this.$message.warning(cfs.data)
+          } else {
+            let info = ''
+            let map = {
+              "msgTopic": "lims/xcom/LS/CX/99",
+              "msgSource": cfs.data.byteData,
+              "msgFrom": "LS"
+            }
+            const cfs1 = await this.axios.post('pass/mqtt/v1/sends/sendMessage', map, { individualType: 'json' });
+            if (cfs1 == 0) {
+              aa++;
+            } else {
+              bb++;
+              this.$message.error("样号是:" + this.multipleSelection2[i].sampleNo + '发送电文错误!')
+            }
+          }
+        } else {
+          bb++;
+          this.$message.error(cfs.message)
+        }
+      }
+      this.buttonLoading1 = false
+      this.searchData()
+      if (bb == 0 && cc == 0) {
+        this.$message.success('执行完毕,成功提交 ' + aa + ' 条数据');
+      } else {
+        this.$message.warning('执行完毕,成功提交 ' + aa + ' 条数据,失败 ' + bb + ' 条, 取消' + cc + ' 条');
+      }
+    },
+    //撤回审批
+    rollback() {
+      if (this.multipleSelection2.length == 0) {
+        this.$message.warning('请勾选需要撤回审核的数据')
+        return
+      }
+      let saIds = [];
+      this.multipleSelection2.forEach(s => {
+        saIds.push(s.SA_ID)
+      })
+      this.buttonLoadingBack = true;
+      this.axios.post('pass/testManagement/v1/limssamplereleases/withdrawTheAudit', saIds, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.$message.success("操作成功!");
+        } else {
+          this.$message.error(res.message)
+        }
+        this.buttonLoadingBack = false;
+      }).catch(e => {
+        this.buttonLoadingBack = false;
+        this.$message.error(e.message)
+      })
+    },
+    // 审批
+    async audit() {
+      if (this.multipleSelection1.length < 1) {
+        this.$message.warning('请先勾选要审批的数据')
+        return
+      }
+      this.buttonLoading1 = true
+      let sampleNoStr = '';
+      this.multipleSelection1.forEach(item => {
+        if (item.CHANGE_COLOR) {
+          sampleNoStr = sampleNoStr + ',' + item.SAMPLE_NO
+        }
+      })
+      if (sampleNoStr) {
+        sampleNoStr = sampleNoStr.slice(1);
+        this.$confirm('样号[' + sampleNoStr + ']四审未完毕,是否继续审核?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', this.multipleSelection1, { individualType: 'json' }).then(res => {
+            if (res.code == 1 || res.code == 200) {
+              if (res.data.info) {
+                this.$message.success(res.data)
+                this.buttonLoading1 = false
+              } else {
+                let info = ''
+                let map = {
+                  "msgTopic": "lims/xcom/LS/CX/99",
+                  "msgSource": res.data.byteData,
+                  "msgFrom": "LS"
+                }
+                this.axios.post('pass/mqtt/v1/sends/sendMessage', map, { individualType: 'json' }).then(res => {
+                  debugger
+                  console.log(res.message)
+                }).catch(e => {
+                  info = '发送电文错误!'
+                })
+                this.$message.success(res.message + ',' + info)
+                this.buttonLoading1 = false
+              }
+              this.searchData()
+            } else {
+              this.$message.error(res.message)
+              this.buttonLoading1 = false
+            }
+          }).catch(err => {
+            this.buttonLoading1 = false
+            this.$message.error(err.message)
+          })
+        }).catch(ex => {
+          this.buttonLoading1 = false
+          this.$message.error(err.message)
+        })
+      } else {
+        let aa = 0;//成功
+        let bb = 0;//失败
+        let cc = 0;//取消
+        for (let i = 0; i < this.multipleSelection1.length; i++) {
+          let arr = [];
+          arr.push(this.multipleSelection1[i]);
+          const cfs = await this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', arr, { individualType: 'json' });
+          if (cfs.code == 0 || cfs.code == 200) {
+            if (cfs.data.info) {
+              this.$message.warning(cfs.data)
+            } else {
+              let info = ''
+              let map = {
+                "msgTopic": "lims/xcom/LS/CX/99",
+                "msgSource": cfs.data.byteData,
+                "msgFrom": "LS"
+              }
+              const cfs1 = await this.axios.post('pass/mqtt/v1/sends/sendMessage', map, { individualType: 'json' });
+              if (cfs1 == 0) {
+                aa++;
+              } else {
+                bb++;
+                this.$message.error("样号是:" + this.multipleSelection1[i].sampleNo + '发送电文错误!')
+              }
+            }
+          } else {
+            bb++;
+            this.$message.error(cfs.message)
+          }
+        }
+        this.buttonLoading1 = false
+        this.searchData()
+        if (bb == 0 && cc == 0) {
+          this.$message.success('执行完毕,成功提交 ' + aa + ' 条数据');
+        } else {
+          this.$message.warning('执行完毕,成功提交 ' + aa + ' 条数据,失败 ' + bb + ' 条, 取消' + cc + ' 条');
+        }
+        //   this.axios.post('pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases', this.multipleSelection1, {individualType: 'json'}).then(res => {
+        //     if (res.code == 0 || res.code == 200) {
+        //       if (res.data.info) {
+        //         this.$message.warning(res.data)
+        //         this.buttonLoading1 = false
+        //       } else {
+
+        //         let info = ''
+
+        //         let map = {
+        //             "msgTopic":"lims/xcom/LS/CX/99",
+        //             "msgSource":res.data.byteData,
+        //             "msgFrom":"LS"
+        //           }
+        //          this.axios.post('pass/mqtt/v1/sends/sendMessage',map,{individualType: 'json'}).then(res => {
+
+        //             console.log(res.message)
+        //           }).catch(e => {
+        //             info = '发送电文错误!'
+        //           })
+        //         this.$message.success(res.message+',' + info)
+        //         this.buttonLoading1 = false
+        //       }
+        //       this.searchData()
+        //     } else {
+        //       this.$message.error(res.message)
+        //       this.buttonLoading1 = false
+        //     }
+        //   }).catch(err => {
+        //     this.buttonLoading1 = false
+        //     this.$message.error(err.message)
+        //   })
+      }
+    },
+    // 取消
+    cancel() {
+      if (JSON.stringify(this.click_main) === '{}') {
+        this.$message.warning('请先点击选中一条审核内容数据');
+        return;
+      }
+      if (this.click_main.stateFlag == 5) {
+        this.$message.warning('数据已审核,不可进行取消操作');
+        return;
+      }
+      this.buttonLoading2 = true
+      this.axios.post('pass/testManagement/v1/limssampleresults/cancelLimsSampleResult?id=' + this.click_main.srId, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.$message.success(res.message)
+          this.searchData()
+        } else {
+          this.$message.error(res.message)
+        }
+        this.buttonLoading2 = false
+      }).catch(err => {
+        this.buttonLoading2 = false
+        this.$message.error(err.message)
+      })
+    },
+    // 退回到任务池
+    backPlan() {
+      if (this.saveAnlyData.length < 1) {
+        this.$message.warning('请选勾选需要退回的数据')
+        return
+      }
+      for (let i = 0; i < this.saveAnlyData.length; i++) {
+        if (this.saveAnlyData[i].stateFlag == '2') {
+          this.$message.warning('已审核的数据不能进行计算')
+          return
+        }
+      }
+      let tempArr = []
+      this.saveAnlyData.map(item => {
+        tempArr.push(item.id)
+      })
+      this.backPlanLoading = true
+      this.axios.post('pass/testManagement/v1/limssampleresultds/sendBackTaskTest', tempArr, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.$message.success(res.message)
+        } else {
+          this.$message.error(res.message)
+        }
+        this.backPlanLoading = false
+      }).catch(err => {
+        this.backPlanLoading = false
+        this.$message.error(err.message)
+      })
+    },
+    //异常
+    abnormal() {
+    },
+    //查询
+    searchData() {
+      if (!this.search.times) {
+        this.$message.error('请先选择时间');
+        return true;
+      }
+      this.pageIndex = 1
+      this.pageSize = 500
+      this.pageIndex2 = 1
+      this.pageSize2 = 500
+      this.dataMainWl11()
+      this.dataMainWl21()
+      // this.dataMain()
+      // this.dataMain2()
+    },
+    // 车间列表(检测中心下)
+    selectDepartment(val) {
+      this.sectionNameType = [];
+      this.companyNameType.find((item) => {
+        if (val === item.orgCode) {
+          this.sectionNameType = item.sysOrgList;
+        }
+      });
+    },
+    // 根据选中的车间名称,查询班组名称
+    selectClass(val) {
+      this.sectionClassType = [];
+      this.sectionNameType.find((item) => {
+        if (val === item.orgCode) {
+          this.sectionClassType = item.sysOrgList;
+          this.search.sectionNo = '';
+        }
+      });
+    },
+    // 未审核物料
+    dataMainWl11() {
+      this.click_main = {}
+      this.tableData1 = []
+      this.total_main = 0
+      let startTime = ''
+      let endTime = ''
+      if (!this.search.times) {
+        startTime = ''
+        endTime = ''
+      } else {
+        startTime = this.search.times[0] + ' 00:00:00'
+        endTime = this.search.times[1] + ' 23:59:59'
+      }
+      let obj = {
+        object: {
+          validFlag: '1',
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo
+        },
+        list: [5],
+        mode: this.search.matClassNo,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.search.type
+      }
+      this.tableLoading11 = true;
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryReleaseWl', obj, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.tableData11 = res.data
+          if (this.search.sampleNo && this.tableData11.length > 0) {
+            this.$refs.tableMain11.setCurrentRow(this.tableData11[0])
+            this.click_main.MAT_NO = this.tableData11[0].MAT_NO ? this.tableData11[0].MAT_NO : ''
+            this.pageIndex = 1
+            this.pageSize = 200
+            this.dataMain();
+          }
+        } else {
+          this.$message.error(res.message)
+        }
+        this.tableLoading11 = false;
+      }).catch(err => {
+        this.tableLoading11 = false;
+        this.$message.error(err.message)
+      })
+    },
+    // 已审核物料
+    dataMainWl21() {
+      this.click_main2 = {}
+      this.tableData2 = []
+      this.total_main2 = 0
+      let startTime = ''
+      let endTime = ''
+      if (!this.search.times) {
+        startTime = ''
+        endTime = ''
+      } else {
+        startTime = this.search.times[0] + ' 00:00:00'
+        endTime = this.search.times[1] + ' 23:59:59'
+      }
+      let obj = {
+        object: {
+          validFlag: '1',
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo
+        },
+        list: [6, 7],
+        mode: this.search.matClassNo,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.search.type
+      }
+      this.tableLoading21 = true;
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryReleaseWl2', obj, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.tableData21 = res.data
+          if (this.search.sampleNo && this.tableData21.length > 0) {
+            this.$refs.tableMain21.setCurrentRow(this.tableData21[0])
+            this.click_main2.MAT_NO = this.tableData21[0].MAT_NO ? this.tableData21[0].MAT_NO : ''
+            this.pageIndex2 = 1
+            this.pageSize2 = 200
+            this.dataMain2();
+          }
+        } else {
+          this.$message.error(res.message)
+        }
+        this.tableLoading21 = false;
+      }).catch(err => {
+        this.tableLoading21 = false;
+        this.$message.error(err.message)
+      })
+    },
+    // 未审核数据
+    dataMain() {
+      if (!this.click_main || !this.click_main.MAT_NO) {
+        return false;
+      }
+      let startTime = ''
+      let endTime = ''
+      if (!this.search.times) {
+        startTime = ''
+        endTime = ''
+      } else {
+        startTime = this.search.times[0] + ' 00:00:00'
+        endTime = this.search.times[1] + ' 23:59:59'
+      }
+      let obj = {
+        object: {
+          matNo: this.click_main.MAT_NO,
+          validFlag: '1',
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo
+        },
+        'list': [5],
+        'startTime': startTime,
+        'endTime': endTime,
+        'pageIndex': this.pageIndex,
+        'pageSize': this.pageSize
+      }
+      this.tableLoading1 = true;
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryLimsSampleReleasePage2', obj, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.tableData1 = res.data.data.list
+          if (this.tableData1 != null && this.tableData1.length > 0) {
+            this.tableData1.sort((a, b) => {
+              a.CHANGE_COLOR = a.CHANGE_COLOR ? 1 : 0
+              b.CHANGE_COLOR = b.CHANGE_COLOR ? 1 : 0
+              return a.CHANGE_COLOR - b.CHANGE_COLOR
+            })
+          }
+          this.cols = res.data.head
+          this.total_main = res.data.data.total
+        } else {
+          this.$message.error(res.message)
+        }
+        this.tableLoading1 = false;
+      }).catch(err => {
+        this.tableLoading1 = false;
+        this.$message.error(err.message)
+      })
+    },
+    showMaxAndMinVal(row, col) {
+      let params = {
+        batchNo: row.BATCH_NO,
+        anlyItemName: col,
+        contractNo: row.CONTRACT_NO,
+        matNo: row.MAT_NO
+      }
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryMaxAndMinVal', params, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.maxAndMin = res.data;
+          if (this.maxAndMin != null && this.maxAndMin.MAXI !== '') {
+            this.max = this.maxAndMin.MAXI;
+          }
+          if (this.maxAndMin != null && this.maxAndMin.MINI !== '') {
+            this.min = this.maxAndMin.MINI;
+          }
+          if (this.max != null && this.min != null && this.max !== '' && this.min !== '') {
+            this.content = '最大值:' + this.max + ',最小值:' + this.min;
+          } else {
+            this.content = '';
+          }
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).catch(e => {
+        this.$message.error(e.message);
+      })
+    },
+    // 已审核数据
+    dataMain2() {
+      if (!this.click_main2 || !this.click_main2.MAT_NO) {
+        return;
+      }
+      let startTime = ''
+      let endTime = ''
+      if (!this.search.times) {
+        startTime = ''
+        endTime = ''
+      } else {
+        startTime = this.search.times[0] + ' 00:00:00'
+        endTime = this.search.times[1] + ' 23:59:59'
+      }
+      let obj = {
+        object: {
+          matNo: this.click_main2.MAT_NO,
+          validFlag: '1',
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo
+        },
+        'list': [6, 7],
+        'startTime': startTime,
+        'endTime': endTime,
+        'pageIndex': this.pageIndex2,
+        'pageSize': this.pageSize2
+      }
+      this.tableLoading2 = true;
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryLimsSampleReleasePage4', obj, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.tableData2 = res.data.data.list
+          this.cols2 = res.data.head
+          this.total_main2 = res.data.data.total
+        } else {
+          this.$message.error(res.message)
+        }
+        this.tableLoading2 = false;
+      }).catch(err => {
+        this.tableLoading2 = false;
+        this.$message.error(err.message)
+      })
+    },
+    handleSizeChangeMain(pageSize) {
+      this.pageIndex = 1;
+      this.pageSize = pageSize;
+      this.dataMain();
+    },
+    handleCurrentChangeMain(pageIndex) {
+      this.pageIndex = pageIndex;
+      this.dataMain();
+    },
+    handleSizeChangeMain2(pageSize) {
+      this.pageIndex2 = 1;
+      this.pageSize2 = pageSize;
+      this.dataMain2();
+    },
+    handleCurrentChangeMain2(pageIndex) {
+      this.pageIndex2 = pageIndex;
+      this.dataMain2();
+    },
+    tableHeaderCellStyle() {
+      return 'color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;'
+    },
+    // 根据物料类型查询物料 - 查询
+    selctMatName(val) {
+      this.matNameType = [];
+      this.search.matNo = '';
+      if (!val) {
+        return;
+      }
+      //物料名称
+      this.axios.post('pass/baseManagement/v1/limsbasematerialss/queryLimsBaseMaterialsPage/',
+        {
+          object: { validFlag: 1, matClassNo: val },
+          pageIndex: 1,
+          pageSize: 99999,
+        },
+        { individualType: 'json' }
+      ).then((res) => {
+        this.matNameType = res.data.list;
+      });
+    },
+    clearSelect() {
+      this.search.sectionNo = '';
+    },
+    //选中数据1
+    searchFollow1(val) {
+      this.multipleSelection1 = val
+    },
+    //选中数据2
+    searchFollow2(val) {
+      this.multipleSelection2 = val
+    },
+    // 选中需要退回的分析项
+    selectBackItem(val) {
+      this.backItemSelect = val
+      console.log('val', val)
+    },
+    // 选中未审核物料
+    handleCurrentChange11(val) {
+      this.click_main = val
+      // console.log('this.click_main', this.click_main)
+      this.dataMain();
+    },
+    // 选中已审核物料
+    handleCurrentChange21(val) {
+      this.click_main2 = val
+      this.dataMain2();
+    },
+    // 审批不通过
+    checkErr() {
+      if (this.multipleSelection1.length == 0) {
+        this.$message.warning('请勾选需要退回的数据')
+        return
+      }
+      if (this.multipleSelection1.length > 1) {
+        this.$message.warning('请只勾选需要退回的单条数据')
+        return
+      }
+      this.showResult(this.multipleSelection1[0]);
+    },
+    // 显示指定元素所属的班组的整条二审数据
+    showResult(row) {
+      this.showBackWin = true
+      let saId = row.RID
+      this.globalSaId = row.RID
+      this.backTableData = []
+      this.axios.get('pass/testManagement/v1/limssamplereleases/showResult?saId=' + saId).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.backTableData = res.data
+          this.backLoading = true
+        } else {
+          this.$message.error(res.message)
+        }
+        this.backLoading = false
+      }).catch(e => {
+        this.backLoading = false
+        this.$message.error(e.message)
+      })
+    },
+    //按班组退回数据
+    backAnlyItem() {
+      if (this.backItemSelect.length == 0) {
+        this.$message.warning('请勾选需要退回的数据~!');
+        return
+      }
+      let anlyArr = []
+      this.backItemSelect.forEach(item => {
+        let obj = {
+          sendBackReason: item.SEND_BACK_REASON,
+          anlyItemNo: item.ANLY_ITEM_NO,
+          srId: item.SR_ID,
+          saId: this.globalSaId
+        }
+        anlyArr.push(obj)
+      })
+      this.backLoading = true
+      this.axios.post('pass/testManagement/v1/limssamplereleases/backAnlyItemBySection', anlyArr, { individualType: 'json' }).then(res => {
+        if (res.code == 200 || res.code == 0) {
+          this.$message.success(res.data);
+          this.closebackwindow();
+          this.pageIndex = 1
+          this.pageSize = 500
+          this.pageIndex2 = 1
+          this.pageSize2 = 500
+          // this.dataMainWl11()
+          this.dataMain();
+        } else {
+          this.$message.warning(res.message);
+        }
+        this.backLoading = false;
+
+      }).catch(e => {
+        this.$message.warning(e.message);
+        this.backLoading = false;
+      });
+    },
+    // 表格1合并单元格
+    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.tableMain12.tableData
+      let rowsPan = 1;
+      let thisColomnData = row[column['property']];
+      // 相同合同列的行合并
+      if (column['property'] === 'CONTRACT_NO' && thisColomnData) {
+        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
+          return {
+            rowspan: 0,
+            colspan: 0
+          };
+        }
+        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
+          rowsPan += 1
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1
+        };
+      }
+    },
+    showExeManAndTime(val) {
+      this.showExeManWin = true;
+      // 查询任务执行信息
+      var srId = val.SR_ID;
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryTaskExeInfo', { srId: srId }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.exeTableData = res.data;
+          this.canClose = true;
+        } else {
+          this.$message.error(res.data);
+          this.canClose = true;
+        }
+      }).catch(e => {
+        this.$message.error(e.message);
+        this.canClose = true;
+      })
+    },
+    showHistory(row) {
+      if (!row) {
+        return this.$message.warning('查询历史记录失败,参数错误!')
+      }
+      let sampleNo = row.SAMPLE_NO;
+      this.axios.post('pass/testManagement/v1/limssamplehistorys/queryHistoryTestAll?sampleNo=' + sampleNo).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          //打开窗口
+          this.historyShowFlag = !this.historyShowFlag
+          this.Params = Object.assign([{}], res.data)
+        } else {
+          this.$message.warning('查询历史记录失败!')
+        }
+      }).catch(e => {
+        this.$message.error(e.message);
+      })
+    },
+    showSourceResult(val) {
+      let obj = val
+      this.axios.post('pass/testManagement/v1/limssamplereleases/queryAddWeightInfo', obj, { individualType: 'json' }).then(res => {
+        if (res.code == 0 || res.code == 200) {
+          this.showSourceResultWin = true;
+          this.headList = res.data.headList;
+          this.sourceResult = res.data.data;
+          this.addInfoList = res.data.addInfoList;
+        } else {
+          this.$message.warning(res.message);
+        }
+      }).catch(e => {
+        this.$message.error(e.message);
+      })
+    },
+    closeSourceResultWin() {
+      this.showSourceResultWin = false
+    },
+    // 执行人窗口表格合并单元格
+    arraySpanMethod13({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.exetable.tableData
+      let rowsPan = 1;
+      let thisColomnData = row[column['property']];
+      // 相同合同列的行合并
+      if (column['property'] === 'SAMPLE_NO' && thisColomnData) {
+        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
+          return {
+            rowspan: 0,
+            colspan: 0
+          };
+        }
+        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
+          rowsPan += 1
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1
+        };
+      }
+    },
+    // 分析项目退回窗口合并
+    arraySpanMethod14({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.backtable.tableData
+      let rowsPan = 1;
+      let thisColomnData = row['SECTION_NAME'];
+      // 相同合同列的行合并
+      if ((column['property'] === 'SECTION_NAME' && thisColomnData)) {
+        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1]['SECTION_NAME']) {
+          return {
+            rowspan: 0,
+            colspan: 0
+          };
+        }
+        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan]['SECTION_NAME']) {
+          rowsPan += 1
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1
+        };
+      }
+    },
+    // 关闭任务执行信息窗口
+    closeexewindow() {
+      if (!this.canClose) {
+        return;
+      }
+      this.showExeManWin = false;
+      this.exeTableData = []; // 清空表格数据
+    },
+    // 关闭分析项退回窗口
+    closebackwindow() {
+      this.showBackWin = false;
+      this.backItemSelect = [];
+      this.backTableData = [];
+    },
+    selectStyle({ row, rowIndex }) {
+      if (row.CHANGE_COLOR) {
+        return 'row-bule';
+      }
+    },
+    selectCellStyle({ row, column, rowIndex, columnIndex }) {
+      if (row.CHANGE_COLOR) {
+        return 'error-blue';
+      }
+    },
+    // 表格2合并单元格
+    arraySpanMethod2({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.tableMain22.tableData
+      let rowsPan = 1;
+      let thisColomnData = row[column['property']];
+      // 相同合同列的行合并
+      if (column['property'] === 'CONTRACT_NO' && thisColomnData) {
+        if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
+          return {
+            rowspan: 0,
+            colspan: 0
+          };
+        }
+        while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
+          rowsPan += 1
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1
+        };
+      }
+    }
+  }
+}
+</script>
+<style scoped></style>
+<style>
+.row-bule {
+  background-color: rgb(89, 179, 253) !important;
+}
+
+.el-table__body tr.current-row.row-bule>td {
+  background-color: rgb(89, 179, 253) !important;
+}
+</style>

+ 1799 - 1788
src/views/approveManagement/components/fourApprove.vue

@@ -1,1788 +1,1799 @@
-<!-- 四级审核页面 -->
-<template>
-  <div class="examination secondApprove">
-    <div class="common-head-search">
-      <el-form :inline="true">
-        <el-form-item label="检验车间">
-          <el-select v-model="search.deptNo" filterable clearable style="width: 140px" @clear="clearSelect"
-            @change="selectClass" size="small">
-            <el-option v-for="item in sectionNameType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="检验班组">
-          <el-select v-model="search.sectionNo" filterable clearable style="width: 140px" size="small">
-            <el-option v-for="item in sectionClassType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="matClassNo" label="物料类型">
-          <el-select v-model="search.matClassNo" @change="selctMatName" clearable style="width: 100%" filterable
-            size="small">
-            <el-option v-for="item of matClassNameType" :key="item.matClassNo" :label="item.matClassName"
-              :value="item.matClassNo">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <!-- <el-form-item prop="matNo" label="物料名称">
-          <el-select
-            v-model="search.matNo"
-            clearable
-            style="width: 100%"
-            filterable
-            size="small"
-          >
-            <el-option
-              v-for="item of matNameType"
-              :key="item.matNo"
-              :label="item.matName"
-              :value="item.matNo"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item> -->
-        <el-form-item label="委托编号">
-          <el-input v-model="search.carNo" @keyup.enter.native="searchData()" size="small" placeholder="请输入查询委托编号"
-            style="width: 150px" clearable></el-input>
-        </el-form-item>
-        <el-form-item label="中心编号">
-          <el-input v-model="search.sampleNo" @keyup.enter.native="searchData()" size="small" placeholder="请输入中心编号样号查询"
-            style="width: 150px"></el-input>
-        </el-form-item>
-        <el-form-item label="创建日期">
-          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
-            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
-          </el-date-picker>
-          <span>至</span>
-          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
-            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
-          </el-date-picker>
-          <!-- <el-date-picker
-            v-model="search.times"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width: 300px"
-            format="yyyy-MM-dd"
-            value-format="yyyy-MM-dd"
-          >
-          </el-date-picker> -->
-        </el-form-item>
-        <el-form-item>
-          <el-button icon="el-icon-search" type="goon" size="mini" :disable="disSearch"
-            @click="searchData">查询</el-button>
-          <el-button icon="el-icon-refresh" type="info" plain size="mini" :disable="disSearch"
-            @click="resetData">重置</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-    <el-tabs type="border-card" v-model="activeName">
-      <el-tab-pane label="待审核" name="first">
-        <span slot="label">待审核<el-badge :max="10" :hidden="tableData11.length == 0" style="margin-top: -18px"
-            :value="tableData11.length"></el-badge></span>
-        <el-row>
-          <el-col :span="4">
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                待审物料
-              </div>
-              <div></div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain11" :height="theight1" v-loading="tableLoading11" :data="tableData11"
-                highlight-current-row @row-click="handleCurrentChange11" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
-                  label="物料名称"></el-table-column>
-              </el-table>
-            </div>
-          </el-col>
-          <el-col :span="20">
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                待审核内容
-              </div>
-              <div>
-                <el-form :inline="true" @submit.native.prevent>
-                  <el-form-item>
-                    <el-button icon="el-icon-check" type="goon" size="mini" :loading="buttonLoading1"
-                      v-privilege="activeMenu + 'audit'" @click="audit">审批通过</el-button>
-                    <el-button icon="el-icon-edit" type="goon" size="mini"
-                      v-privilege="activeMenu + 'editEntrustType'" @click="editEntrustType">修改委托类型</el-button>
-                    <!-- <el-button icon="el-icon-check" type="goon" size="mini" :loading='buttonLoading1' v-privilege="activeMenu + 'audit'" @click="audit">审批</el-button> -->
-                    <!-- <el-button icon="el-icon-remove-outline" type="danger" :loading='buttonLoading2' v-privilege="activeMenu + 'cancel'" @click="cancel" size="mini">
-                      取消
-                    </el-button> -->
-                  </el-form-item>
-                </el-form>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain12" :height="theight1" v-loading="tableLoading1" :data="tableData1"
-                @selection-change="searchFollow1" highlight-current-row :summary-method="getSummaries"
-                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod" border
-                :cell-class-name="selectStyle" style="width: 100%" :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO" label="合同号"></el-table-column>-->
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="120" prop="RECEIVED_DATE"
-                  label="收样日期"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
-                  label="委托类型"></el-table-column>
-                <el-table-column v-if="isShowSuppName" sortable show-overflow-tooltip align="center" width="135"
-                  prop="SUPP_NAME" label="供应商">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.SUPP_NAME
-                        ? scope.row.SUPP_NAME - 0 === -1
-                          ? ""
-                          : scope.row.SUPP_NAME
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column v-if="isShowNetNum" sortable show-overflow-tooltip align="center" prop="NET_NUM"
-                  width="135" label="发货量">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.NET_NUM
-                        ? scope.row.NET_NUM - 0 === -1
-                          ? ""
-                          : scope.row.NET_NUM
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
-                  label="检验车间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
-                  label="检验班组"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="50" prop="bool"
-                  label="状态"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="SAMPLE_NO" label="中心编号"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="CAR_NO" label="委托编号"></el-table-column>
-                <el-table-column v-if="isShowMarkNo" sortable show-overflow-tooltip fixed="left" prop="MARK_NO"
-                  align="center" min-width="120" label="N码">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.MARK_NO
-                        ? scope.row.MARK_NO - 0 === -1
-                          ? ""
-                          : scope.row.MARK_NO
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column v-if="isShowEncryNo" sortable show-overflow-tooltip fixed="left" prop="ENCRY_NO"
-                  align="center" min-width="100" label="S码">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.ENCRY_NO
-                        ? scope.row.ENCRY_NO - 0 === -1
-                          ? ""
-                          : scope.row.ENCRY_NO
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <!-- <el-table-column v-if="isShowLotsNo" sortable show-overflow-tooltip align="center" min-width="100" prop="LOTS_NO" label="到货批次号">
-                  <template slot-scope="scope">
-                    {{scope.row.LOTS_NO ? (scope.row.LOTS_NO - 0 === -1 ? '' : scope.row.LOTS_NO) : ''}}
-                  </template>
-                </el-table-column> -->
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="MAT_NAME" label="物料名称"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
-                  label="样品类型"></el-table-column>
-                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="STD_NAME" label="方法"></el-table-column> -->
-                <el-table-column label="分析项目" show-overflow-tooltip>
-                  <template v-for="col in cols">
-                    <el-table-column sortable :prop="col" show-overflow-tooltip min-width="72" align="center" :key="col"
-                      :label="col">
-                      <template slot-scope="scope">
-                        <span @click.stop="
-                          showDataSource(scope.row, scope.row[col])
-                          " style="cursor: pointer" :class="{
-                            'color-blue': scope.row[col],
-                            'color-danger':
-                              scope.row[col] &&
-                              scope.row[col].split('_')[2] &&
-                              !scope.row[col].split('_')[3],
-                            'color-warning':
-                              scope.row[col] && scope.row[col].split('_')[3],
-                          }">
-                          {{
-                            scope.row[col] || scope.row[col] == "0"
-                              ? scope.row[col].split("_")[0]
-                              : ""
-                          }}
-                        </span>
-                      </template>
-                    </el-table-column>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
-                  label="委托备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
-                  label="创建人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
-                  label="创建时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
-                  label="修改人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
-                  label="修改时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="SEND_BACK_MAN"
-                  label="退回人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="SEND_BACK_REASON"
-                  label="退回原因"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChangeMain" @current-change="handleCurrentChangeMain"
-                  :current-page.sync="pageIndex" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize"
-                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main"
-                  background></el-pagination>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </el-tab-pane>
-      <el-tab-pane label="已审核" name="second">
-        <el-row>
-          <el-col :span="4">
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                已审物料
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain21" :height="theight1" v-loading="tableLoading21" :data="tableData21"
-                highlight-current-row @row-click="handleCurrentChange21" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
-                  label="物料名称"></el-table-column>
-              </el-table>
-            </div>
-          </el-col>
-          <el-col :span="20">
-            <div class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                已审核内容
-              </div>
-              <div>
-                <el-form :inline="true" @submit.native.prevent>
-                  <el-form-item>
-                    <!-- <el-button icon="el-icon-check" type="danger" size="mini" :loading='buttonLoadingBack' @click="rollback">撤回审核</el-button> -->
-                    <el-button icon="el-icon-check" type="goon" size="mini" :loading="buttonLoading1" @click="audit1"
-                      v-privilege="activeMenu + 'check'">
-                      再次发送电文
-                    </el-button>
-                  </el-form-item>
-                </el-form>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="tableMain22" :height="theight2" v-loading="tableLoading2" :data="tableData2"
-                @selection-change="searchFollow2" highlight-current-row :summary-method="getSummaries"
-                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod2" border
-                style="width: 100%" :icorePanelShown="100" :icore-filter-flag="icoreFilterFlag">
-                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO" label="合同号"></el-table-column>-->
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="120" prop="RECEIVED_DATE"
-                  label="收样日期"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
-                  label="委托类型"></el-table-column>
-                <el-table-column v-if="isShowSuppName" sortable show-overflow-tooltip align="center" width="135"
-                  prop="SUPP_NAME" label="供应商">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.SUPP_NAME
-                        ? scope.row.SUPP_NAME - 0 === -1
-                          ? ""
-                          : scope.row.SUPP_NAME
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column v-if="isShowNetNum" sortable show-overflow-tooltip align="center" width="135"
-                  prop="NET_NUM" label="发货量">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.NET_NUM
-                        ? scope.row.NET_NUM - 0 === -1
-                          ? ""
-                          : scope.row.NET_NUM
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
-                  label="检验车间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
-                  label="检验班组"></el-table-column>
-                <el-table-column fixed="left" sortable show-overflow-tooltip align="center" min-width="100"
-                  prop="SAMPLE_NO" label="中心编号"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="CAR_NO" label="委托编号"></el-table-column>
-                <el-table-column v-if="isShowMarkNo" sortable show-overflow-tooltip fixed="left" align="center"
-                  min-width="120" prop="MARK_NO" label="N码">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.MARK_NO
-                        ? scope.row.MARK_NO - 0 === -1
-                          ? ""
-                          : scope.row.MARK_NO
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column v-if="isShowEncryNo" sortable show-overflow-tooltip fixed="left" align="center"
-                  min-width="100" prop="ENCRY_NO" label="S码">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.ENCRY_NO
-                        ? scope.row.ENCRY_NO - 0 === -1
-                          ? ""
-                          : scope.row.ENCRY_NO
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <!-- <el-table-column v-if="isShowLotsNo" sortable show-overflow-tooltip align="center" min-width="100" prop="LOTS_NO" label="到货批次号">
-                  <template slot-scope="scope">
-                    {{scope.row.LOTS_NO ? (scope.row.LOTS_NO - 0 === -1 ? '' : scope.row.LOTS_NO) : ''}}
-                  </template>
-                </el-table-column> -->
-                <el-table-column fixed="left" sortable show-overflow-tooltip align="center" min-width="100"
-                  prop="MAT_NAME" label="物料名称"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
-                  label="样品类型"></el-table-column>
-                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="STD_NAME" label="方法"></el-table-column> -->
-                <el-table-column label="分析项目" show-overflow-tooltip>
-                  <template v-for="col in cols2">
-                    <el-table-column sortable :prop="col" show-overflow-tooltip min-width="72" align="center" :key="col"
-                      :label="col">
-                      <template slot-scope="scope">
-                        <span @click.stop="
-                          showDataSource(scope.row, scope.row[col])
-                          " style="cursor: pointer">
-                          {{
-                            scope.row[col] || scope.row[col] == "0"
-                              ? scope.row[col].split("_")[0]
-                              : ""
-                          }}
-                        </span>
-                      </template>
-                    </el-table-column>
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
-                  label="委托备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="AUDIT_MAN"
-                  label="审核人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="140" prop="AUDIT_TIME"
-                  label="审核时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
-                  label="创建人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
-                  label="创建时间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
-                  label="修改人"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
-                  label="修改时间"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChangeMain2" @current-change="handleCurrentChangeMain2"
-                  :current-page.sync="pageIndex2" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize2"
-                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main2"
-                  background></el-pagination>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
-      </el-tab-pane>
-    </el-tabs>
-    <!-- 原始数据 -->
-    <el-dialog :close-on-click-modal="false" @close="closebatch" width="100%" :visible.sync="batchShow" top="0">
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left: 10px; font-size: 18px">原始数据</span>
-      </div>
-      <div class="common-title-name" style="padding-bottom: 3px">
-        <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
-          @click="checkErr">审批不通过</el-button>
-        <!--         <el-button icon="el-icon-check" type="goon" :loading='submitLoading' @click="checkSuc" size="mini"></el-button> -->
-      </div>
-      <el-table ref="table13" border :height="theight13" highlight-current-row :data="tableData13"
-        :span-method="arraySpanMethod13" @selection-change="searchFollow13" :header-cell-style="tableHeaderCellStyle"
-        :summary-method="getSummaries" show-summary>
-        <el-table-column type="index" label="NO" width="45" fixed align="center"></el-table-column>
-        <el-table-column type="selection" width="45" fixed align="center"></el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="180" fixed align="center" label="退回原因">
-          <template slot-scope="{ row }">
-            <el-input v-model="row.logMemo" size="small"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="118" fixed align="center" prop="SAMPLE_NO"
-          label="中心编号">
-          <template slot-scope="scope">
-            <div style="white-space: pre-wrap; word-wrap: break-word" @click.stop="showHistory(scope.row)" :class="{
-              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
-              'color-warning': scope.row.SUB == '1',
-              'color-blue': scope.row.ERR != '1' && scope.row.SUB != '1',
-            }">
-              {{ scope.row.SAMPLE_NO }}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="125" fixed align="center" prop="MAT_NAME"
-          label="物料名称">
-          <template slot-scope="scope">
-            <div style="white-space: pre-wrap; word-wrap: break-word" :class="{
-              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
-              'color-warning': scope.row.SUB == '1',
-            }">
-              {{ scope.row.MAT_NAME }}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align="center" prop="TEST_ITEM_NAME"
-          label="测试项目">
-          <template slot-scope="scope">
-            <div style="white-space: pre-wrap; word-wrap: break-word" :class="{
-              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
-              'color-warning': scope.row.SUB == '1',
-            }">
-              {{ scope.row.TEST_ITEM_NAME }}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable width="80" fixed align="center" prop="CHECK_TIME" label="提交时间">
-          <template slot-scope="scope">
-            <div style="white-space: pre-wrap; word-wrap: break-word" :class="{
-              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
-              'color-warning': scope.row.SUB == '1',
-            }">
-              {{ scope.row.CHECK_TIME }}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip sortable min-width="80" fixed align="center" prop="CREATE_MAN"
-          label="提交人">
-          <template slot-scope="scope">
-            <span :class="{
-              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
-              'color-warning': scope.row.SUB == '1',
-            }">
-              {{ scope.row.CREATE_MAN }}
-            </span>
-          </template>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip min-width="180" align="center" prop="ANLY_ITEM_NAME"
-          label="分析项目"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="ANLY_VALUE"
-          label="报出值"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="REVISE_VALUE"
-          label="录入值"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="DAS_VALUE"
-          label="采集值"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="CPT_VALUE"
-          label="计算值"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="REVISE_VALUE"
-          label="修约值"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="90" align="center" prop="UNIT_NAME"
-          label="单位"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="FORMULA_NAME"
-          label="计算公式"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="REVISE_RULE_NAME"
-          label="修约规则"></el-table-column>
-        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="isReportName"
-          label="是否报出"></el-table-column>
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog title="修改委托类型" :visible.sync="dialogEntrustVisible" width="80%" center>
-      <el-table ref="table12" border   :data="multipleSelection1">
-        <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" width="100" prop="ENTR_TYPE_NAME"
-                  label="委托类型">
-                  <template slot-scope="scope">
-                    <el-select
-                        v-model="scope.row.entrTypeCode"
-                        clearable
-                        filterable
-                        style="width: 100%"
-                        collapse-tags
-                        size="small"
-                      >
-                        <el-option
-                          v-for="(item, index) in entrTypeNameType"
-                          :key="index"
-                          :label="item.baseName"
-                          :value="item.baseCode"
-                        >
-                        </el-option>
-                      </el-select>
-                  </template>
-                </el-table-column>
-                <el-table-column v-if="isShowSuppName" sortable show-overflow-tooltip align="center" width="135"
-                  prop="SUPP_NAME" label="供应商">
-                  <template slot-scope="scope">
-                    {{
-                      scope.row.SUPP_NAME
-                        ? scope.row.SUPP_NAME - 0 === -1
-                          ? ""
-                          : scope.row.SUPP_NAME
-                        : ""
-                    }}
-                  </template>
-                </el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
-                  label="检验车间"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
-                  label="检验班组"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="50" prop="bool"
-                  label="状态"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="SAMPLE_NO" label="中心编号"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="CAR_NO" label="委托编号"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
-                  prop="MAT_NAME" label="物料名称"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
-                  label="样品类型"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
-                  label="委托备注"></el-table-column>
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closeDialog">取消</el-button>
-        <el-button size="mini" type="primary" icon="el-icon-check" @click="modifyEntrustData">保存</el-button>
-      </span>
-    </el-dialog>
-    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
-  </div>
-</template>
-<script>
-import { getCookie, formatDate } from "@/utils/util.js";
-import { cookieUserId, cookieUserName } from "@/config/config.js";
-import historyAlert from "../../testAnalysis/components/testManagement/historyAlert";
-let userName = getCookie(cookieUserName);
-let userId = getCookie(cookieUserId);
-export default {
-  components: { historyAlert },
-  data() {
-    return {
-      fromDaiban: null,
-      search: {
-        deptNo: "",
-        sectionNo: "",
-        matClassNo: "",
-        matNo: "",
-        carNo: "",
-        sampleTypeCode: "",
-        matName: "",
-        times: "",
-      },
-      dialogTableVisible: false,
-      dialogEntrustVisible: false,
-      historyShowFlag: false,
-      Params: {},
-      isShowSuppName: false,
-      isShowNetNum: false,
-      isShowMarkNo: false,
-      isShowEncryNo: false,
-      isShowLotsNo: false,
-      sampleTypeNameType: [],
-      saveAnalyAudit: [],
-      deptNo: "", // 登录人的部门(车间)
-      sectionNo: "", // 登录人的班组
-      classNo: "", // 登录人的岗位
-      disSearch: false,
-      saveAnlyData: [],
-      click_main: {}, // 选中物料行(未审核)
-      click_main2: {}, // 选中物料行(已审核)
-      theight1: 0,
-      theight2: 0,
-      isFixed: "left",
-      oldTableData: [],
-      oldTableLoading: false,
-      calculateLoading: false,
-      analyAuditLoading: false,
-      tableLoading11: false,
-      tableLoading1: false,
-      tableLoading2: false,
-      tableLoading21: false,
-      tableLoading3: false,
-      buttonLoading1: false,
-      buttonLoading2: false,
-      buttonLoading3: false,
-      buttonLoadingBack: false,
-      cols: [], // 未审核动态列
-      cols2: [], // 已审核动态列
-      tableData11: [], // 待审核物料
-      tableData21: [], // 已审核物料
-      tableData1: [],
-      tableData2: [],
-      tableData3: [],
-      tableData13: [], // 原始记录1
-      theight13: "",
-      pageIndex: 1,
-      pageSize: 500,
-      total_main: 0,
-      pageIndex2: 1,
-      pageSize2: 500,
-      total_main2: 0,
-      multipleSelection1: [], // 1表多选
-      multipleSelection2: [], // 2表多选
-      multipleSelection13: [], // 原始数据多选-审核
-      activeName: "first",
-      backManLoading: false,
-      backPlanLoading: false,
-      icoreFilterFlag: true,
-      sectionNameType: [], // 检验车间
-      sectionClassType: [], // 检验班组
-      companyNameType: [], // 公司
-      matNameType: [], // 物料名称-查询
-      matClassNameType: [], // 物料类型-查询
-      activeMenu: "",
-      batchShow: false, // 原始记录显示
-      backLoading: false, // 审核不通过
-      valSource: "", // 原始数据来源
-      curSrId: "", // 原始数据srid
-      entrTypeNameType: [],
-    };
-  },
-  created() {
-    this.theight1 = window.innerHeight - 240;
-    this.theight2 = window.innerHeight - 240;
-    this.theight13 = window.innerHeight - 240;
-    this.activeMenu = window.top.localStorage.getItem("activeMenu");
-    let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
-
-    this.fromDaiban = JSON.parse(sessionStorage.getItem("fromDaiban"));
-    sessionStorage.removeItem("fromDaiban");
-
-    if (this.fromDaiban) {
-      this.search.times = [this.fromDaiban.startTime, this.fromDaiban.endTime];
-      this.activeName = this.fromDaiban.status == 1 ? "second" : "first";
-    } else {
-      this.search.times = [
-        this.getYNM(new Date(timestamp)) + " 00:00:00",
-        this.getYNM(new Date()) + " 23:59:59",
-      ];
-    }
-
-    // 获取所有机构
-    this.axios
-      .post(
-        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
-        {},
-        { individualType: "json" }
-      )
-      .then((response) => {
-        this.companyNameType = response.data;
-        console.log(this.companyNameType);
-        // 获取检测中心下的机构
-        this.selectDepartment("JCZX");
-        console.log(this.sectionNameType);
-        // this.getCompany()
-      });
-    this.searchData();
-  },
-  mounted() {
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4801 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.sampleTypeNameType = res.data;
-      });
-    //物料类型
-    this.axios
-      .get("pass/baseManagement/v1/limsbasematerialsclasss/?validFlag=1")
-      .then((res) => {
-        this.matClassNameType = res.data.list;
-      });
-  },
-  methods: {
-    closeDialog() {
-      this.dialogEntrustVisible = false;
-    },
-    editEntrustType() {
-      if (this.multipleSelection1.length === 0) {
-        this.$message.warning('请选择一条数据')
-        return
-      }
-      this.getEntrustType()
-      this.dialogEntrustVisible = true;
-    },
-    modifyEntrustData() {
-      this.$confirm("确定修改以上单据的委托类型吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      }).then(() => {
-        let map = {}
-        map.userName = userName
-        map.list = this.multipleSelection1
-        this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/updateEntrustType",
-          map,
-          { individualType: "json" }
-        ).then((res) => {
-          if (res.status === "succeed") {
-            this.$message.success("修改成功");
-            this.dataMain();
-            this.dialogEntrustVisible = false
-          }else{
-            this.$message.error(res.message);
-          }
-        });
-      }).catch((err) => {
-          this.$message.error(err.message);
-      });
-    },
-    getEntrustType() {
-      this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4802 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.entrTypeNameType = res.data;
-        // this.baseData.entrTypeCode = this.getCode(
-        //   "内部",
-        //   this.entrTypeNameType,
-        //   "baseName",
-        //   "baseCode"
-        // );
-      });
-    },
-        getCode(code, arr, codeKey, nameKey) {
-      if (!code || !arr) {
-        return "";
-      }
-      let targetRow = arr.find((item) => {
-        return item[codeKey] === code;
-      });
-      // console.log(targetRow, 'targetRow');
-      return targetRow ? targetRow[nameKey] : "";
-    },
-    getYNM(date) {
-      let year = date.getFullYear().toString();
-      let month = date.getMonth() + 1;
-      let day = date.getDate();
-      month = month < 10 ? "0" + month : month;
-      day = day < 10 ? "0" + day : day;
-      return `${year}-${month}-${day}`;
-    },
-    getSummaries(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = "合计";
-        }
-        if (index === 1) {
-          sums[index] = data.length;
-        }
-      });
-      return sums;
-    },
-    getSummaries11(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = "合计:" + data.length;
-        }
-      });
-      return sums;
-    },
-    //获取个人所属哪个公司
-    getCompany() {
-      this.axios
-        .get("pass/baseManagement/v1/limslrcemps/" + userId)
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.search.deptNo = res.data ? res.data.deptNo : "";
-            this.selectClass(this.search.deptNo);
-            this.search.sectionNo = res.data ? res.data.sectionNo : "";
-            this.searchData();
-          } else {
-            this.disSearch = true;
-            this.$message.error(e.message);
-          }
-        })
-        .catch((e) => {
-          this.disSearch = true;
-          this.$message.error(e.message);
-        });
-    },
-    resetData() {
-      this.search.deptNo = "";
-      this.search.sectionNo = "";
-      this.search.matClassNo = "";
-      this.search.matNo = "";
-      this.search.sampleNo = "";
-      let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
-
-      this.search.times = [
-        this.getYNM(new Date(timestamp)) + " 00:00:00",
-        this.getYNM(new Date()) + " 23:59:59",
-      ];
-      this.searchData();
-    },
-    refresh() { },
-    // 审批通过
-    audit() {
-      if (this.multipleSelection1.length < 1) {
-        this.$message.warning("请先勾选要审批的数据");
-        return;
-      }
-      console.log("未处理参数是:", this.multipleSelection1);
-      this.buttonLoading1 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/checkLimsSampleResultsBf",
-          this.multipleSelection1,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            if (res.data) {
-              if (res.data == "1") {
-                this.$message.error("您在这些样品的提交人中,不可审核!");
-              } else {
-                this.$message.error("中心编号" + res.data + "有未提交的任务!");
-              }
-              this.searchData();
-              this.buttonLoading1 = false;
-              // this.$confirm('中心编号' + res.data +'有未提交的任务,是否继续审核?', '提示', {
-              //     confirmButtonText: '确定',
-              //     cancelButtonText: '取消',
-              //     type: 'warning'
-              // }).then(()=>{
-              //   this.axios.post('pass/testManagement/v1/limssampleresults/checkLimsSampleResults', this.multipleSelection1, {individualType: 'json'}).then(res =>{
-              //     if (res.code == 0 || res.code == 200) {
-              //       if(res.data && res.data != 'true'){
-              //         this.$message.warning(res.data)
-              //       }else{
-              //         this.$message.success(res.message)
-              //       }
-              //       this.searchData()
-              //     } else {
-              //       this.$message.error(res.message)
-              //     }
-              //     this.buttonLoading1 = false
-              //   }).catch(e =>{
-              //     this.buttonLoading1 = false
-              //     this.$message.error(e.message)
-              //   })
-              // }).catch(e => {
-              //   this.buttonLoading1 = false
-              // });
-            } else {
-              // 审核
-              this.axios
-                .post(
-                  "pass/testManagement/v1/limssampleresults/checkLimsSampleResults",
-                  this.multipleSelection1,
-                  { individualType: "json" }
-                )
-                .then((res) => {
-                  if (res.code == 0 || res.code == 200) {
-                    this.$message.success(res.message);
-                  } else {
-                    this.$message.error(res.message);
-                  }
-
-                  this.audit2();
-                  this.buttonLoading1 = false;
-                })
-                .catch((e) => {
-                  this.buttonLoading1 = false;
-                  this.$message.error(e.message);
-                });
-              // this.axios.post('pass/testManagement/v1/limssampleresults/checkLimsSampleResults', this.multipleSelection1, {individualType: 'json'}).then(res =>{
-              //     if (res.code == 0 || res.code == 200) {
-              //       if(res.data && res.data != 'true'){
-              //         this.$message.warning(res.data)
-              //       }else{
-              //         this.$message.success(res.message)
-              //       }
-              //       this.searchData()
-              //     } else {
-              //       this.$message.error(res.message)
-              //     }
-              //     this.buttonLoading1 = false
-              //   }).catch(e =>{
-              //     this.buttonLoading1 = false
-              //     this.$message.error(e.message)
-              //   })
-            }
-          } else {
-            // this.audit2()
-            // this.searchData()
-            this.buttonLoading1 = false;
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.buttonLoading1 = false;
-          this.$message.error(err.message);
-        });
-    },
-    async audit2() {
-      if (this.multipleSelection1.length < 1) {
-        this.$message.warning("请先勾选要发送的数据");
-        return;
-      }
-      this.buttonLoading1 = true;
-      let aa = 0; //成功
-      let bb = 0; //失败
-      let cc = 0; //取消
-      let length = this.multipleSelection1.length;
-      for (var i = 0; i < length; i++) {
-        var arr = [];
-        var item = this.multipleSelection1[i];
-        arr.push(item);
-        console.log("发送电文参数是:", i, item, arr, length);
-        const cfs = await this.axios.post(
-          "pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases",
-          arr,
-          { individualType: "json" }
-        );
-        if (cfs.code == 0 || cfs.code == 200) {
-          if (cfs.data.info) {
-            this.$message.warning(cfs.data);
-          } else {
-            let info = "";
-            let map = {
-              msgTopic: "lims/xcom/LS/CX/99",
-              msgSource: cfs.data.byteData,
-              msgFrom: "LS",
-            };
-            const cfs1 = await this.axios.post(
-              "pass/mqtt/v1/sends/sendMessage",
-              map,
-              { individualType: "json" }
-            );
-            if (cfs1 == 0) {
-              aa++;
-            } else {
-              bb++;
-              this.$message.error(
-                "样号是:" +
-                this.multipleSelection1[i].sampleNo +
-                "发送电文错误!"
-              );
-            }
-          }
-        } else {
-          bb++;
-          this.$message.error(cfs.message);
-        }
-      }
-      this.buttonLoading1 = false;
-      this.searchData();
-      if (bb == 0 && cc == 0) {
-        this.$message.success("执行完毕,成功提交 " + aa + " 条数据");
-      } else {
-        this.$message.warning(
-          "执行完毕,成功提交 " +
-          aa +
-          " 条数据,失败 " +
-          bb +
-          " 条, 取消" +
-          cc +
-          " 条"
-        );
-      }
-    },
-    async audit1() {
-      if (this.multipleSelection2.length < 1) {
-        this.$message.warning("请先勾选要发送的数据");
-        return;
-      }
-      this.buttonLoading1 = true;
-      let aa = 0; //成功
-      let bb = 0; //失败
-      let cc = 0; //取消
-      for (let i = 0; i < this.multipleSelection2.length; i++) {
-        let arr = [];
-        arr.push(this.multipleSelection2[i]);
-        const cfs = await this.axios.post(
-          "pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases",
-          arr,
-          { individualType: "json" }
-        );
-        if (cfs.code == 0 || cfs.code == 200) {
-          if (cfs.data.info) {
-            this.$message.warning(cfs.data);
-          } else {
-            let info = "";
-            let map = {
-              msgTopic: "lims/xcom/LS/CX/99",
-              msgSource: cfs.data.byteData,
-              msgFrom: "LS",
-            };
-            const cfs1 = await this.axios.post(
-              "pass/mqtt/v1/sends/sendMessage",
-              map,
-              { individualType: "json" }
-            );
-            if (cfs1 == 0) {
-              aa++;
-            } else {
-              bb++;
-              this.$message.error(
-                "样号是:" +
-                this.multipleSelection2[i].sampleNo +
-                "发送电文错误!"
-              );
-            }
-          }
-        } else {
-          bb++;
-          this.$message.error(cfs.message);
-        }
-      }
-      this.buttonLoading1 = false;
-      this.searchData();
-      if (bb == 0 && cc == 0) {
-        this.$message.success("执行完毕,成功提交 " + aa + " 条数据");
-      } else {
-        this.$message.warning(
-          "执行完毕,成功提交 " +
-          aa +
-          " 条数据,失败 " +
-          bb +
-          " 条, 取消" +
-          cc +
-          " 条"
-        );
-      }
-    },
-    //取消-
-    cancel() {
-      if (JSON.stringify(this.click_main) === "{}") {
-        this.$message.warning("请先点击选中一条审核内容数据");
-        return;
-      }
-      if (this.click_main.stateFlag == 5) {
-        this.$message.warning("数据已审核,不可进行取消操作");
-        return;
-      }
-      this.buttonLoading2 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/cancelLimsSampleResult?id=" +
-          this.click_main.srId,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.buttonLoading2 = false;
-        })
-        .catch((err) => {
-          this.buttonLoading2 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 退回到个人
-    backMan() {
-      if (this.saveAnlyData.length < 1) {
-        this.$message.warning("请选勾选需要退回的数据");
-        return;
-      }
-      for (let i = 0; i < this.saveAnlyData.length; i++) {
-        if (this.saveAnlyData[i].stateFlag == "2") {
-          this.$message.warning("已审核的数据不能进行计算");
-          return;
-        }
-      }
-      let tempArr = [];
-      this.saveAnlyData.map((item) => {
-        tempArr.push(item.id);
-      });
-      this.backmanLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresultds/sendBackSampleTest",
-          tempArr,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.backmanLoading = false;
-        })
-        .catch((err) => {
-          this.backmanLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 退回到任务池
-    backPlan() {
-      if (this.saveAnlyData.length < 1) {
-        this.$message.warning("请选勾选需要退回的数据");
-        return;
-      }
-      for (let i = 0; i < this.saveAnlyData.length; i++) {
-        if (this.saveAnlyData[i].stateFlag == "2") {
-          this.$message.warning("已审核的数据不能进行计算");
-          return;
-        }
-      }
-      let tempArr = [];
-      this.saveAnlyData.map((item) => {
-        tempArr.push(item.id);
-      });
-      this.backPlanLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresultds/sendBackTaskTest",
-          tempArr,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.backPlanLoading = false;
-        })
-        .catch((err) => {
-          this.backPlanLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    //查询
-    searchData() {
-      if (!this.search.times) {
-        this.$message.error("请先选择时间");
-        return true;
-      }
-      this.pageIndex = 1;
-      this.pageSize = 500;
-      this.pageIndex2 = 1;
-      this.pageSize2 = 500;
-      this.dataMainWl11();
-      this.dataMainWl21();
-      // this.dataMain()
-      // this.dataMain2()
-    },
-    // 车间列表(检测中心下)
-    selectDepartment(val) {
-      this.sectionNameType = [];
-      this.companyNameType.find((item) => {
-        if (val === item.orgCode) {
-          this.sectionNameType = item.sysOrgList;
-        }
-      });
-    },
-    // 根据选中的车间名称,查询班组名称
-    selectClass(val) {
-      this.sectionClassType = [];
-      this.sectionNameType.find((item) => {
-        if (val === item.orgCode) {
-          this.sectionClassType = item.sysOrgList;
-          this.search.sectionNo = "";
-        }
-      });
-    },
-    // 未审核物料
-    dataMainWl11() {
-      this.click_main = {};
-      this.tableData1 = [];
-      this.total_main = 0;
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime = this.search.times[0];
-        endTime = this.search.times[1];
-      }
-      let obj = {
-        object: {
-          validFlag: "1",
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo,
-        },
-        carNo: this.search.carNo,
-        list: [4],
-        mode: this.search.matClassNo,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading11 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultWl",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData11 = res.data;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading11 = false;
-        })
-        .catch((err) => {
-          this.tableLoading11 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 已审核物料
-    dataMainWl21() {
-      this.click_main2 = {};
-      this.tableData2 = [];
-      this.total_main2 = 0;
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime = this.search.times[0];
-        endTime = this.search.times[1];
-      }
-      let obj = {
-        object: {
-          validFlag: "1",
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo,
-        },
-        carNo: this.search.carNo,
-        list: [5],
-        mode: this.search.matClassNo,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading21 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultWl",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData21 = res.data;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading21 = false;
-        })
-        .catch((err) => {
-          this.tableLoading21 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 未审核数据
-    dataMain() {
-      if (!this.click_main || !this.click_main.MAT_NO) {
-        return false;
-      }
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime = this.search.times[0];
-        endTime = this.search.times[1];
-      }
-      let obj = {
-        object: {
-          matNo: this.click_main.MAT_NO,
-          validFlag: "1",
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-          sampleNo: this.search.sampleNo,
-        },
-        list: [4],
-        startTime: startTime,
-        endTime: endTime,
-        pageIndex: this.pageIndex,
-        pageSize: this.pageSize,
-      };
-      this.tableLoading1 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultPage2",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData1 = res.data.data.list;
-            this.cols = res.data.head;
-            this.total_main = res.data.data.total;
-            if (this.tableData1.length > 0) {
-              this.isShowSuppName = res.data.data.list[0].SUPP_NAME
-                ? true
-                : false;
-              this.isShowNetNum = res.data.data.list[0].NET_NUM ? true : false;
-              this.isShowMarkNo = res.data.data.list[0].MARK_NO ? true : false;
-              this.isShowEncryNo = res.data.data.list[0].ENCRY_NO
-                ? true
-                : false;
-              this.isShowLotsNo = res.data.data.list[0].LOTS_NO ? true : false;
-            }
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading1 = false;
-        })
-        .catch((err) => {
-          this.tableLoading1 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 已审核数据
-    dataMain2() {
-      if (!this.click_main2 || !this.click_main2.MAT_NO) {
-        return;
-      }
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime = this.search.times[0];
-        endTime = this.search.times[1];
-      }
-      let obj = {
-        object: {
-          matNo: this.click_main2.MAT_NO,
-          validFlag: "1",
-          deptNo: this.search.deptNo,
-          sectionNo: this.search.sectionNo,
-        },
-        list: [5],
-        startTime: startTime,
-        endTime: endTime,
-        pageIndex: this.pageIndex2,
-        pageSize: this.pageSize2,
-      };
-      this.tableLoading2 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultPage2",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData2 = res.data.data.list;
-            this.cols2 = res.data.head;
-            this.total_main2 = res.data.data.total;
-            if (this.tableData2.length > 0) {
-              this.isShowSuppName = res.data.data.list[0].SUPP_NAME
-                ? true
-                : false;
-              this.isShowNetNum = res.data.data.list[0].NET_NUM ? true : false;
-              this.isShowMarkNo = res.data.data.list[0].MARK_NO ? true : false;
-              this.isShowEncryNo = res.data.data.list[0].ENCRY_NO
-                ? true
-                : false;
-              this.isShowLotsNo = res.data.data.list[0].LOTS_NO ? true : false;
-            }
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading2 = false;
-        })
-        .catch((err) => {
-          this.tableLoading2 = false;
-          this.$message.error(err.message);
-        });
-    },
-    handleSizeChangeMain(pageSize) {
-      this.pageIndex = 1;
-      this.pageSize = pageSize;
-      this.dataMain();
-    },
-    handleCurrentChangeMain(pageIndex) {
-      this.pageIndex = pageIndex;
-      this.dataMain();
-    },
-    handleSizeChangeMain2(pageSize) {
-      this.pageIndex2 = 1;
-      this.pageSize2 = pageSize;
-      this.dataMain2();
-    },
-    handleCurrentChangeMain2(pageIndex) {
-      this.pageIndex2 = pageIndex;
-      this.dataMain2();
-    },
-    tableHeaderCellStyle() {
-      return "color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;";
-    },
-    // 根据物料类型查询物料 - 查询
-    selctMatName(val) {
-      this.matNameType = [];
-      this.search.matNo = "";
-      if (!val) {
-        return;
-      }
-      //物料名称
-      this.axios
-        .post(
-          "pass/baseManagement/v1/limsbasematerialss/queryLimsBaseMaterialsPage/",
-          {
-            object: { validFlag: 1, matClassNo: val },
-            pageIndex: 1,
-            pageSize: 99999,
-          },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.matNameType = res.data.list;
-        });
-    },
-    clearSelect() {
-      this.search.sectionNo = "";
-    },
-    //选中数据1
-    searchFollow1(val) {
-      this.multipleSelection1 = val;
-    },
-    //选中数据2
-    searchFollow2(val) {
-      this.multipleSelection2 = val;
-    },
-    //选中数据13 (原始数据)
-    searchFollow13(val) {
-      this.multipleSelection13 = val;
-    },
-    // 表格1合并单元格
-    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.tableMain12.tableData;
-      let rowsPan = 1;
-      let thisColomnData = row[column["property"]];
-      // 相同合同列的行合并
-      if (column["property"] === "CONTRACT_NO" && thisColomnData) {
-        if (
-          rowIndex > 0 &&
-          thisColomnData === tableData[rowIndex - 1][column["property"]]
-        ) {
-          return {
-            rowspan: 0,
-            colspan: 0,
-          };
-        }
-        while (
-          tableData[rowIndex + rowsPan] &&
-          thisColomnData === tableData[rowIndex + rowsPan][column["property"]]
-        ) {
-          rowsPan += 1;
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1,
-        };
-      }
-    },
-    // 表格2合并单元格
-    arraySpanMethod2({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.tableMain22.tableData;
-      let rowsPan = 1;
-      let thisColomnData = row[column["property"]];
-      // 相同合同列的行合并
-      if (column["property"] === "CONTRACT_NO" && thisColomnData) {
-        if (
-          rowIndex > 0 &&
-          thisColomnData === tableData[rowIndex - 1][column["property"]]
-        ) {
-          return {
-            rowspan: 0,
-            colspan: 0,
-          };
-        }
-        while (
-          tableData[rowIndex + rowsPan] &&
-          thisColomnData === tableData[rowIndex + rowsPan][column["property"]]
-        ) {
-          rowsPan += 1;
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1,
-        };
-      }
-    },
-    // 表格13(原始数据)合并单元格
-    arraySpanMethod13({ row, column, rowIndex, columnIndex }) {
-      let tableData = this.$refs.table13.tableData;
-      let rowsPan = 1;
-      let thisColomnData = row[column["property"]];
-      let st = row["ST_ID"];
-      // 相同合同列的行合并
-      // if (columnIndex > 0 && columnIndex < 5 && thisColomnData) {
-      //   if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
-      //     return {
-      //       rowspan: 0,
-      //       colspan: 0
-      //     };
-      //   }
-      //   while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
-      //     rowsPan += 1
-      //   }
-      //   return {
-      //     rowspan: rowsPan,
-      //     colspan: 1
-      //   };
-      // }
-      if (columnIndex > 0 && columnIndex < 8 && st) {
-        if (rowIndex > 0 && st === tableData[rowIndex - 1]["ST_ID"]) {
-          return {
-            rowspan: 0,
-            colspan: 0,
-          };
-        }
-        while (
-          tableData[rowIndex + rowsPan] &&
-          st === tableData[rowIndex + rowsPan]["ST_ID"]
-        ) {
-          rowsPan += 1;
-        }
-        return {
-          rowspan: rowsPan,
-          colspan: 1,
-        };
-      }
-    },
-    rollback() {
-      if (this.multipleSelection2.length == 0) {
-        this.$message.warning("请勾选需要撤回审核的数据");
-        return;
-      }
-      let ids = [];
-      this.multipleSelection2.forEach((item) => {
-        ids.push(item.SR_ID);
-      });
-      this.buttonLoadingBack = true;
-      this.$confirm("确定退回已审核数据吗?", "提醒", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.axios
-            .post("pass/testManagement/v1/limssampleresults/rollback", ids, {
-              individualType: "json",
-            })
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.$message.success(res.message);
-                this.buttonLoadingBack = false;
-                this.dataMainWl11();
-                this.dataMain2();
-              } else {
-                this.$message.error(res.message);
-                this.buttonLoadingBack = false;
-              }
-            })
-            .catch((e) => {
-              this.$message.error(e.message);
-              this.buttonLoadingBack = false;
-            });
-        })
-        .catch((e) => {
-          this.buttonLoadingBack = false;
-          this.$message.warning("已取消退回!");
-        });
-    },
-    showHistory(row) {
-      if (!row) {
-        return this.$message.warning("查询历史记录失败,参数错误!");
-      }
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssamplehistorys/queryHistoryTest",
-          row,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            //打开窗口
-            this.historyShowFlag = !this.historyShowFlag;
-            this.Params = Object.assign([{}], res.data);
-          } else {
-            this.$message.warning("查询历史记录失败!");
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    // 显示数据来源,valSource 格式 数值_stid_errstid_substid
-    showDataSource(row, valSource) {
-      if (!valSource || valSource.split("_").length < 4) {
-        this.$message.error("参数错误");
-        return;
-      }
-      // 记录参数,用于审核后刷新本页数据
-      // this.valSource = valSource;
-      this.curSrId = row.SR_ID;
-      this.tableData13 = [];
-      this.axios
-        .get(
-          "pass/testManagement/v1/limssampleresults/queryDataSource?valSource=" +
-          valSource
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData13 = res.data;
-            if (this.tableData13) {
-              this.tableData13.forEach((item) => {
-                item.isReportName =
-                  item.IS_REPORT == 0 ? "否" : item.IS_REPORT == 1 ? "是" : "";
-                item.isAlarmName =
-                  item.IS_ALARM == 0 ? "否" : item.IS_ALARM == 1 ? "是" : "";
-              });
-            }
-            this.batchShow = true;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchDataLoading = false;
-        })
-        .catch((e) => {
-          this.batchDataLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    // 选中未审核物料
-    handleCurrentChange11(val) {
-      this.click_main = val;
-      this.dataMain();
-    },
-    // 选中已审核物料
-    handleCurrentChange21(val) {
-      this.click_main2 = val;
-      this.dataMain2();
-    },
-    // 关闭原始记录页面
-    closebatch() {
-      this.multipleSelection13 = [];
-      this.batchShow = false;
-      // this.dataMain();
-    },
-    // 审批不通过
-    checkErr() {
-      if (this.multipleSelection13.length < 1) {
-        this.$message.warning("请先勾选要审批的原始数据");
-        return;
-      }
-      this.backLoading = true;
-      this.$confirm("确定审核不通过?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          // 审核不通过
-          let arr = this.multipleSelection13;
-          for (let item of arr) {
-            item["SR_ID"] = this.curSrId;
-            if (item["logMemo"] == null) {
-              this.$message.error("退回原因不能为空!");
-              return;
-            }
-          }
-          this.axios
-            .post(
-              "pass/testManagement/v1/limssampleresults/checkErrLimsSampleResult",
-              arr,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                if (res.data && res.data != "true") {
-                  this.$message.warning(res.data);
-                } else {
-                  this.$message.success(res.message);
-                }
-                this.dataMain();
-                this.closebatch();
-              } else {
-                this.$message.error(res.message);
-              }
-              this.backLoading = false;
-            })
-            .catch((e) => {
-              this.backLoading = false;
-              this.$message.error(e.message);
-            });
-        })
-        .catch((e) => {
-          this.backLoading = false;
-        });
-    },
-    selectStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 2) {
-        if (row.BS === "1") {
-          return "error-row";
-        }
-      }
-      if (row.IS_SEND_BACK === "1") {
-        return "row-green";
-      }
-    },
-  },
-};
-</script>
-<style scoped></style>
-<style lang="less">
-.secondApprove {
-  .common-title-name {
-    margin-right: 40px;
-  }
-}
-</style>
-<style>
-.row-green {
-  background-color: #caf982 !important;
-}
-
-.el-table__body tr.current-row.row-green>td {
-  background-color: #caf982 !important;
-}
-</style>
+<!-- 四级审核页面 -->
+<template>
+  <div class="examination secondApprove">
+    <div class="common-head-search">
+      <el-form :inline="true">
+        <el-form-item label="检验车间">
+          <el-select v-model="search.deptNo" filterable clearable style="width: 140px" @clear="clearSelect"
+            @change="selectClass" size="small">
+            <el-option v-for="item in sectionNameType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="检验班组">
+          <el-select v-model="search.sectionNo" filterable clearable style="width: 140px" size="small">
+            <el-option v-for="item in sectionClassType" :key="item.orgCode" :label="item.orgName" :value="item.orgCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="matClassNo" label="物料类型">
+          <el-select v-model="search.matClassNo" @change="selctMatName" clearable style="width: 100%" filterable
+            size="small">
+            <el-option v-for="item of matClassNameType" :key="item.matClassNo" :label="item.matClassName"
+              :value="item.matClassNo">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- <el-form-item prop="matNo" label="物料名称">
+          <el-select
+            v-model="search.matNo"
+            clearable
+            style="width: 100%"
+            filterable
+            size="small"
+          >
+            <el-option
+              v-for="item of matNameType"
+              :key="item.matNo"
+              :label="item.matName"
+              :value="item.matNo"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item> -->
+        <el-form-item label="委托编号">
+          <el-input v-model="search.carNo" @keyup.enter.native="searchData()" size="small" placeholder="请输入查询委托编号"
+            style="width: 150px" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="中心编号">
+          <el-input v-model="search.sampleNo" @keyup.enter.native="searchData()" size="small" placeholder="请输入中心编号样号查询"
+            style="width: 150px"></el-input>
+        </el-form-item>
+        <el-form-item label="创建日期">
+          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
+          </el-date-picker>
+          <!-- <el-date-picker
+            v-model="search.times"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            style="width: 300px"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd"
+          >
+          </el-date-picker> -->
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="el-icon-search" type="goon" size="mini" :disable="disSearch"
+            @click="searchData">查询</el-button>
+          <el-button icon="el-icon-refresh" type="info" plain size="mini" :disable="disSearch"
+            @click="resetData">重置</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-tabs type="border-card" v-model="activeName">
+      <el-tab-pane label="待审核" name="first">
+        <span slot="label">待审核<el-badge :max="10" :hidden="tableData11.length == 0" style="margin-top: -18px"
+            :value="tableData11.length"></el-badge></span>
+        <el-row>
+          <el-col :span="4">
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                待审物料
+              </div>
+              <div></div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain11" :height="theight1" v-loading="tableLoading11" :data="tableData11"
+                highlight-current-row @row-click="handleCurrentChange11" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
+                  label="物料名称"></el-table-column>
+              </el-table>
+            </div>
+          </el-col>
+          <el-col :span="20">
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                待审核内容
+              </div>
+              <div>
+                <el-form :inline="true" @submit.native.prevent>
+                  <el-form-item>
+                    <el-button icon="el-icon-check" type="goon" size="mini" :loading="buttonLoading1"
+                      v-privilege="activeMenu + 'audit'" @click="audit">审批通过</el-button>
+                    <el-button icon="el-icon-edit" type="goon" size="mini"
+                      v-privilege="activeMenu + 'editEntrustType'" @click="editEntrustType">修改委托类型</el-button>
+                    <!-- <el-button icon="el-icon-check" type="goon" size="mini" :loading='buttonLoading1' v-privilege="activeMenu + 'audit'" @click="audit">审批</el-button> -->
+                    <!-- <el-button icon="el-icon-remove-outline" type="danger" :loading='buttonLoading2' v-privilege="activeMenu + 'cancel'" @click="cancel" size="mini">
+                      取消
+                    </el-button> -->
+                  </el-form-item>
+                </el-form>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain12" :height="theight1" v-loading="tableLoading1" :data="tableData1"
+                @selection-change="searchFollow1" highlight-current-row :summary-method="getSummaries"
+                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod" border
+                :cell-class-name="selectStyle" style="width: 100%" :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO" label="合同号"></el-table-column>-->
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="120" prop="RECEIVED_DATE"
+                  label="收样日期"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
+                  label="委托类型"></el-table-column>
+                <el-table-column v-if="isShowSuppName" sortable show-overflow-tooltip align="center" width="135"
+                  prop="SUPP_NAME" label="供应商">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.SUPP_NAME
+                        ? scope.row.SUPP_NAME - 0 === -1
+                          ? ""
+                          : scope.row.SUPP_NAME
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column v-if="isShowNetNum" sortable show-overflow-tooltip align="center" prop="NET_NUM"
+                  width="135" label="发货量">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.NET_NUM
+                        ? scope.row.NET_NUM - 0 === -1
+                          ? ""
+                          : scope.row.NET_NUM
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
+                  label="检验车间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
+                  label="检验班组"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="50" prop="bool"
+                  label="状态"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="SAMPLE_NO" label="中心编号"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="CAR_NO" label="委托编号"></el-table-column>
+                <el-table-column v-if="isShowMarkNo" sortable show-overflow-tooltip fixed="left" prop="MARK_NO"
+                  align="center" min-width="120" label="N码">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.MARK_NO
+                        ? scope.row.MARK_NO - 0 === -1
+                          ? ""
+                          : scope.row.MARK_NO
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column v-if="isShowEncryNo" sortable show-overflow-tooltip fixed="left" prop="ENCRY_NO"
+                  align="center" min-width="100" label="S码">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.ENCRY_NO
+                        ? scope.row.ENCRY_NO - 0 === -1
+                          ? ""
+                          : scope.row.ENCRY_NO
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <!-- <el-table-column v-if="isShowLotsNo" sortable show-overflow-tooltip align="center" min-width="100" prop="LOTS_NO" label="到货批次号">
+                  <template slot-scope="scope">
+                    {{scope.row.LOTS_NO ? (scope.row.LOTS_NO - 0 === -1 ? '' : scope.row.LOTS_NO) : ''}}
+                  </template>
+                </el-table-column> -->
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="MAT_NAME" label="物料名称"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
+                  label="样品类型"></el-table-column>
+                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="STD_NAME" label="方法"></el-table-column> -->
+                <el-table-column label="分析项目" show-overflow-tooltip>
+                  <template v-for="col in cols">
+                    <el-table-column sortable :prop="col" show-overflow-tooltip min-width="72" align="center" :key="col"
+                      :label="col">
+                      <template slot-scope="scope">
+                        <span @click.stop="
+                          showDataSource(scope.row, scope.row[col])
+                          " style="cursor: pointer" :class="{
+                            'color-blue': scope.row[col],
+                            'color-danger':
+                              scope.row[col] &&
+                              scope.row[col].split('_')[2] &&
+                              !scope.row[col].split('_')[3],
+                            'color-warning':
+                              scope.row[col] && scope.row[col].split('_')[3],
+                          }">
+                          {{
+                            scope.row[col] || scope.row[col] == "0"
+                              ? scope.row[col].split("_")[0]
+                              : ""
+                          }}
+                        </span>
+                      </template>
+                    </el-table-column>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
+                  label="委托备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
+                  label="创建人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
+                  label="创建时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
+                  label="修改人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
+                  label="修改时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="SEND_BACK_MAN"
+                  label="退回人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="SEND_BACK_REASON"
+                  label="退回原因"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChangeMain" @current-change="handleCurrentChangeMain"
+                  :current-page.sync="pageIndex" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize"
+                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main"
+                  background></el-pagination>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+      <el-tab-pane label="已审核" name="second">
+        <el-row>
+          <el-col :span="4">
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                已审物料
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain21" :height="theight1" v-loading="tableLoading21" :data="tableData21"
+                highlight-current-row @row-click="handleCurrentChange21" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries11" show-summary border style="width: 100%" :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
+                  label="物料名称"></el-table-column>
+              </el-table>
+            </div>
+          </el-col>
+          <el-col :span="20">
+            <div class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                已审核内容
+              </div>
+              <div>
+                <el-form :inline="true" @submit.native.prevent>
+                  <el-form-item>
+                    <!-- <el-button icon="el-icon-check" type="danger" size="mini" :loading='buttonLoadingBack' @click="rollback">撤回审核</el-button> -->
+                    <el-button icon="el-icon-check" type="goon" size="mini" :loading="buttonLoading1" @click="audit1"
+                      v-privilege="activeMenu + 'check'">
+                      再次发送电文
+                    </el-button>
+                  </el-form-item>
+                </el-form>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="tableMain22" :height="theight2" v-loading="tableLoading2" :data="tableData2"
+                @selection-change="searchFollow2" highlight-current-row :summary-method="getSummaries"
+                :header-cell-style="tableHeaderCellStyle" show-summary :span-method="arraySpanMethod2" border
+                style="width: 100%" :icorePanelShown="100" :icore-filter-flag="icoreFilterFlag">
+                <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <!--                <el-table-column sortable show-overflow-tooltip align="center" width="135" prop="CONTRACT_NO" label="合同号"></el-table-column>-->
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="120" prop="RECEIVED_DATE"
+                  label="收样日期"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" width="80" prop="ENTR_TYPE_NAME"
+                  label="委托类型"></el-table-column>
+                <el-table-column v-if="isShowSuppName" sortable show-overflow-tooltip align="center" width="135"
+                  prop="SUPP_NAME" label="供应商">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.SUPP_NAME
+                        ? scope.row.SUPP_NAME - 0 === -1
+                          ? ""
+                          : scope.row.SUPP_NAME
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column v-if="isShowNetNum" sortable show-overflow-tooltip align="center" width="135"
+                  prop="NET_NUM" label="发货量">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.NET_NUM
+                        ? scope.row.NET_NUM - 0 === -1
+                          ? ""
+                          : scope.row.NET_NUM
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
+                  label="检验车间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
+                  label="检验班组"></el-table-column>
+                <el-table-column fixed="left" sortable show-overflow-tooltip align="center" min-width="100"
+                  prop="SAMPLE_NO" label="中心编号"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="CAR_NO" label="委托编号"></el-table-column>
+                <el-table-column v-if="isShowMarkNo" sortable show-overflow-tooltip fixed="left" align="center"
+                  min-width="120" prop="MARK_NO" label="N码">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.MARK_NO
+                        ? scope.row.MARK_NO - 0 === -1
+                          ? ""
+                          : scope.row.MARK_NO
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column v-if="isShowEncryNo" sortable show-overflow-tooltip fixed="left" align="center"
+                  min-width="100" prop="ENCRY_NO" label="S码">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.ENCRY_NO
+                        ? scope.row.ENCRY_NO - 0 === -1
+                          ? ""
+                          : scope.row.ENCRY_NO
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <!-- <el-table-column v-if="isShowLotsNo" sortable show-overflow-tooltip align="center" min-width="100" prop="LOTS_NO" label="到货批次号">
+                  <template slot-scope="scope">
+                    {{scope.row.LOTS_NO ? (scope.row.LOTS_NO - 0 === -1 ? '' : scope.row.LOTS_NO) : ''}}
+                  </template>
+                </el-table-column> -->
+                <el-table-column fixed="left" sortable show-overflow-tooltip align="center" min-width="100"
+                  prop="MAT_NAME" label="物料名称"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
+                  label="样品类型"></el-table-column>
+                <!-- <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="STD_NAME" label="方法"></el-table-column> -->
+                <el-table-column label="分析项目" show-overflow-tooltip>
+                  <template v-for="col in cols2">
+                    <el-table-column sortable :prop="col" show-overflow-tooltip min-width="72" align="center" :key="col"
+                      :label="col">
+                      <template slot-scope="scope">
+                        <span @click.stop="
+                          showDataSource(scope.row, scope.row[col])
+                          " style="cursor: pointer">
+                          {{
+                            scope.row[col] || scope.row[col] == "0"
+                              ? scope.row[col].split("_")[0]
+                              : ""
+                          }}
+                        </span>
+                      </template>
+                    </el-table-column>
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
+                  label="委托备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="AUDIT_MAN"
+                  label="审核人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="140" prop="AUDIT_TIME"
+                  label="审核时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="CREATE_MAN"
+                  label="创建人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="CREATE_TIME"
+                  label="创建时间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="UPDATE_MAN"
+                  label="修改人"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="125px" prop="UPDATE_TIME"
+                  label="修改时间"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChangeMain2" @current-change="handleCurrentChangeMain2"
+                  :current-page.sync="pageIndex2" :page-sizes="[100, 200, 500, 800, 1000, 1500]" :page-size="pageSize2"
+                  size="mini" layout="total, sizes, prev, pager, next, jumper" :total="total_main2"
+                  background></el-pagination>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+    </el-tabs>
+    <!-- 原始数据 -->
+    <el-dialog :close-on-click-modal="false" @close="closebatch" width="100%" :visible.sync="batchShow" top="0">
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left: 10px; font-size: 18px">原始数据</span>
+      </div>
+      <div class="common-title-name" style="padding-bottom: 3px">
+        <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
+          @click="checkErr">审批不通过</el-button>
+        <!--         <el-button icon="el-icon-check" type="goon" :loading='submitLoading' @click="checkSuc" size="mini"></el-button> -->
+      </div>
+      <el-table ref="table13" border :height="theight13" highlight-current-row :data="tableData13"
+        :span-method="arraySpanMethod13" @selection-change="searchFollow13" :header-cell-style="tableHeaderCellStyle"
+        :summary-method="getSummaries" show-summary>
+        <el-table-column type="index" label="NO" width="45" fixed align="center"></el-table-column>
+        <el-table-column type="selection" width="45" fixed align="center"></el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="180" fixed align="center" label="退回原因">
+          <template slot-scope="{ row }">
+            <el-input v-model="row.logMemo" size="small"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="118" fixed align="center" prop="SAMPLE_NO"
+          label="中心编号">
+          <template slot-scope="scope">
+            <div style="white-space: pre-wrap; word-wrap: break-word" @click.stop="showHistory(scope.row)" :class="{
+              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
+              'color-warning': scope.row.SUB == '1',
+              'color-blue': scope.row.ERR != '1' && scope.row.SUB != '1',
+            }">
+              {{ scope.row.SAMPLE_NO }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="125" fixed align="center" prop="MAT_NAME"
+          label="物料名称">
+          <template slot-scope="scope">
+            <div style="white-space: pre-wrap; word-wrap: break-word" :class="{
+              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
+              'color-warning': scope.row.SUB == '1',
+            }">
+              {{ scope.row.MAT_NAME }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="110" fixed align="center" prop="TEST_ITEM_NAME"
+          label="测试项目">
+          <template slot-scope="scope">
+            <div style="white-space: pre-wrap; word-wrap: break-word" :class="{
+              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
+              'color-warning': scope.row.SUB == '1',
+            }">
+              {{ scope.row.TEST_ITEM_NAME }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable width="80" fixed align="center" prop="CHECK_TIME" label="提交时间">
+          <template slot-scope="scope">
+            <div style="white-space: pre-wrap; word-wrap: break-word" :class="{
+              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
+              'color-warning': scope.row.SUB == '1',
+            }">
+              {{ scope.row.CHECK_TIME }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip sortable min-width="80" fixed align="center" prop="CREATE_MAN"
+          label="提交人">
+          <template slot-scope="scope">
+            <span :class="{
+              'color-danger': scope.row.ERR == '1' && !scope.row.SUB,
+              'color-warning': scope.row.SUB == '1',
+            }">
+              {{ scope.row.CREATE_MAN }}
+            </span>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip min-width="180" align="center" prop="ANLY_ITEM_NAME"
+          label="分析项目"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="ANLY_VALUE"
+          label="报出值"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="REVISE_VALUE"
+          label="录入值"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="DAS_VALUE"
+          label="采集值"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="CPT_VALUE"
+          label="计算值"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="REVISE_VALUE"
+          label="修约值"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="90" align="center" prop="UNIT_NAME"
+          label="单位"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="FORMULA_NAME"
+          label="计算公式"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="REVISE_RULE_NAME"
+          label="修约规则"></el-table-column>
+        <el-table-column show-overflow-tooltip min-width="100" align="center" prop="isReportName"
+          label="是否报出"></el-table-column>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="修改委托类型" :visible.sync="dialogEntrustVisible" width="80%" center>
+      <el-table ref="table12" border   :data="multipleSelection1">
+        <el-table-column type="index" label="NO" fixed="left" align="center" width="45"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" width="100" prop="ENTR_TYPE_NAME"
+                  label="委托类型">
+                  <template slot-scope="scope">
+                    <el-select
+                        v-model="scope.row.entrTypeCode"
+                        clearable
+                        filterable
+                        style="width: 100%"
+                        collapse-tags
+                        size="small"
+                      >
+                        <el-option
+                          v-for="(item, index) in entrTypeNameType"
+                          :key="index"
+                          :label="item.baseName"
+                          :value="item.baseCode"
+                        >
+                        </el-option>
+                      </el-select>
+                  </template>
+                </el-table-column>
+                <el-table-column v-if="isShowSuppName" sortable show-overflow-tooltip align="center" width="135"
+                  prop="SUPP_NAME" label="供应商">
+                  <template slot-scope="scope">
+                    {{
+                      scope.row.SUPP_NAME
+                        ? scope.row.SUPP_NAME - 0 === -1
+                          ? ""
+                          : scope.row.SUPP_NAME
+                        : ""
+                    }}
+                  </template>
+                </el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="DEPT_NAME"
+                  label="检验车间"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SECTION_NAME"
+                  label="检验班组"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="50" prop="bool"
+                  label="状态"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="SAMPLE_NO" label="中心编号"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="CAR_NO" label="委托编号"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip fixed="left" align="center" min-width="100"
+                  prop="MAT_NAME" label="物料名称"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="80" prop="SAMPLE_TYPE_NAME"
+                  label="样品类型"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip align="center" min-width="75px" prop="ENTR_MEMO"
+                  label="委托备注"></el-table-column>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closeDialog">取消</el-button>
+        <el-button size="mini" type="primary" icon="el-icon-check" @click="modifyEntrustData">保存</el-button>
+      </span>
+    </el-dialog>
+    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
+  </div>
+</template>
+<script>
+import { getCookie, formatDate } from "@/utils/util.js";
+import { cookieUserId, cookieUserName } from "@/config/config.js";
+import historyAlert from "../../testAnalysis/components/testManagement/historyAlert";
+let userName = getCookie(cookieUserName);
+let userId = getCookie(cookieUserId);
+export default {
+  components: { historyAlert },
+  data() {
+    return {
+      fromDaiban: null,
+      search: {
+        deptNo: "",
+        sectionNo: "",
+        matClassNo: "",
+        matNo: "",
+        carNo: "",
+        sampleTypeCode: "",
+        matName: "",
+        times: "",
+        type:""
+      },
+      dialogTableVisible: false,
+      dialogEntrustVisible: false,
+      historyShowFlag: false,
+      Params: {},
+      isShowSuppName: false,
+      isShowNetNum: false,
+      isShowMarkNo: false,
+      isShowEncryNo: false,
+      isShowLotsNo: false,
+      sampleTypeNameType: [],
+      saveAnalyAudit: [],
+      deptNo: "", // 登录人的部门(车间)
+      sectionNo: "", // 登录人的班组
+      classNo: "", // 登录人的岗位
+      disSearch: false,
+      saveAnlyData: [],
+      click_main: {}, // 选中物料行(未审核)
+      click_main2: {}, // 选中物料行(已审核)
+      theight1: 0,
+      theight2: 0,
+      isFixed: "left",
+      oldTableData: [],
+      oldTableLoading: false,
+      calculateLoading: false,
+      analyAuditLoading: false,
+      tableLoading11: false,
+      tableLoading1: false,
+      tableLoading2: false,
+      tableLoading21: false,
+      tableLoading3: false,
+      buttonLoading1: false,
+      buttonLoading2: false,
+      buttonLoading3: false,
+      buttonLoadingBack: false,
+      cols: [], // 未审核动态列
+      cols2: [], // 已审核动态列
+      tableData11: [], // 待审核物料
+      tableData21: [], // 已审核物料
+      tableData1: [],
+      tableData2: [],
+      tableData3: [],
+      tableData13: [], // 原始记录1
+      theight13: "",
+      pageIndex: 1,
+      pageSize: 500,
+      total_main: 0,
+      pageIndex2: 1,
+      pageSize2: 500,
+      total_main2: 0,
+      multipleSelection1: [], // 1表多选
+      multipleSelection2: [], // 2表多选
+      multipleSelection13: [], // 原始数据多选-审核
+      activeName: "first",
+      backManLoading: false,
+      backPlanLoading: false,
+      icoreFilterFlag: true,
+      sectionNameType: [], // 检验车间
+      sectionClassType: [], // 检验班组
+      companyNameType: [], // 公司
+      matNameType: [], // 物料名称-查询
+      matClassNameType: [], // 物料类型-查询
+      activeMenu: "",
+      batchShow: false, // 原始记录显示
+      backLoading: false, // 审核不通过
+      valSource: "", // 原始数据来源
+      curSrId: "", // 原始数据srid
+      entrTypeNameType: [],
+    };
+  },
+  created() {
+    this.theight1 = window.innerHeight - 240;
+    this.theight2 = window.innerHeight - 240;
+    this.theight13 = window.innerHeight - 240;
+    this.activeMenu = window.top.localStorage.getItem("activeMenu");
+    let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
+
+    this.fromDaiban = JSON.parse(sessionStorage.getItem("fromDaiban"));
+    sessionStorage.removeItem("fromDaiban");
+
+    if (this.fromDaiban) {
+      this.search.times = [this.fromDaiban.startTime, this.fromDaiban.endTime];
+      this.activeName = this.fromDaiban.status == 1 ? "second" : "first";
+    } else {
+      this.search.times = [
+        this.getYNM(new Date(timestamp)) + " 00:00:00",
+        this.getYNM(new Date()) + " 23:59:59",
+      ];
+    }
+
+    // 获取所有机构
+    this.axios
+      .post(
+        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
+        {},
+        { individualType: "json" }
+      )
+      .then((response) => {
+        this.companyNameType = response.data;
+        console.log(this.companyNameType);
+        // 获取检测中心下的机构
+        this.selectDepartment("JCZX");
+        console.log(this.sectionNameType);
+        // this.getCompany()
+      });
+    this.searchData();
+  },
+  watch: {
+  "$route.query.type"(newType) {
+    this.search.type = newType || '';
+  }
+},
+  mounted() {
+    this.search.type = this.$route.query.type  || '';
+    console.log('mounted.......',this.$route.query)
+    console.log('mounted........',this.$route.query.type);
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        { validFlag: 1, baseCode: 4801 },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.sampleTypeNameType = res.data;
+      });
+    //物料类型
+    this.axios
+      .get("pass/baseManagement/v1/limsbasematerialsclasss/?validFlag=1")
+      .then((res) => {
+        this.matClassNameType = res.data.list;
+      });
+  },
+  methods: {
+    closeDialog() {
+      this.dialogEntrustVisible = false;
+    },
+    editEntrustType() {
+      if (this.multipleSelection1.length === 0) {
+        this.$message.warning('请选择一条数据')
+        return
+      }
+      this.getEntrustType()
+      this.dialogEntrustVisible = true;
+    },
+    modifyEntrustData() {
+      this.$confirm("确定修改以上单据的委托类型吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        let map = {}
+        map.userName = userName
+        map.list = this.multipleSelection1
+        this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/updateEntrustType",
+          map,
+          { individualType: "json" }
+        ).then((res) => {
+          if (res.status === "succeed") {
+            this.$message.success("修改成功");
+            this.dataMain();
+            this.dialogEntrustVisible = false
+          }else{
+            this.$message.error(res.message);
+          }
+        });
+      }).catch((err) => {
+          this.$message.error(err.message);
+      });
+    },
+    getEntrustType() {
+      this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        { validFlag: 1, baseCode: 4802 },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.entrTypeNameType = res.data;
+        // this.baseData.entrTypeCode = this.getCode(
+        //   "内部",
+        //   this.entrTypeNameType,
+        //   "baseName",
+        //   "baseCode"
+        // );
+      });
+    },
+        getCode(code, arr, codeKey, nameKey) {
+      if (!code || !arr) {
+        return "";
+      }
+      let targetRow = arr.find((item) => {
+        return item[codeKey] === code;
+      });
+      // console.log(targetRow, 'targetRow');
+      return targetRow ? targetRow[nameKey] : "";
+    },
+    getYNM(date) {
+      let year = date.getFullYear().toString();
+      let month = date.getMonth() + 1;
+      let day = date.getDate();
+      month = month < 10 ? "0" + month : month;
+      day = day < 10 ? "0" + day : day;
+      return `${year}-${month}-${day}`;
+    },
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "合计";
+        }
+        if (index === 1) {
+          sums[index] = data.length;
+        }
+      });
+      return sums;
+    },
+    getSummaries11(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "合计:" + data.length;
+        }
+      });
+      return sums;
+    },
+    //获取个人所属哪个公司
+    getCompany() {
+      this.axios
+        .get("pass/baseManagement/v1/limslrcemps/" + userId)
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.search.deptNo = res.data ? res.data.deptNo : "";
+            this.selectClass(this.search.deptNo);
+            this.search.sectionNo = res.data ? res.data.sectionNo : "";
+            this.searchData();
+          } else {
+            this.disSearch = true;
+            this.$message.error(e.message);
+          }
+        })
+        .catch((e) => {
+          this.disSearch = true;
+          this.$message.error(e.message);
+        });
+    },
+    resetData() {
+      this.search.deptNo = "";
+      this.search.sectionNo = "";
+      this.search.matClassNo = "";
+      this.search.matNo = "";
+      this.search.sampleNo = "";
+      let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
+
+      this.search.times = [
+        this.getYNM(new Date(timestamp)) + " 00:00:00",
+        this.getYNM(new Date()) + " 23:59:59",
+      ];
+      this.searchData();
+    },
+    refresh() { },
+    // 审批通过
+    audit() {
+      if (this.multipleSelection1.length < 1) {
+        this.$message.warning("请先勾选要审批的数据");
+        return;
+      }
+      console.log("未处理参数是:", this.multipleSelection1);
+      this.buttonLoading1 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/checkLimsSampleResultsBf",
+          this.multipleSelection1,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            if (res.data) {
+              if (res.data == "1") {
+                this.$message.error("您在这些样品的提交人中,不可审核!");
+              } else {
+                this.$message.error("中心编号" + res.data + "有未提交的任务!");
+              }
+              this.searchData();
+              this.buttonLoading1 = false;
+              // this.$confirm('中心编号' + res.data +'有未提交的任务,是否继续审核?', '提示', {
+              //     confirmButtonText: '确定',
+              //     cancelButtonText: '取消',
+              //     type: 'warning'
+              // }).then(()=>{
+              //   this.axios.post('pass/testManagement/v1/limssampleresults/checkLimsSampleResults', this.multipleSelection1, {individualType: 'json'}).then(res =>{
+              //     if (res.code == 0 || res.code == 200) {
+              //       if(res.data && res.data != 'true'){
+              //         this.$message.warning(res.data)
+              //       }else{
+              //         this.$message.success(res.message)
+              //       }
+              //       this.searchData()
+              //     } else {
+              //       this.$message.error(res.message)
+              //     }
+              //     this.buttonLoading1 = false
+              //   }).catch(e =>{
+              //     this.buttonLoading1 = false
+              //     this.$message.error(e.message)
+              //   })
+              // }).catch(e => {
+              //   this.buttonLoading1 = false
+              // });
+            } else {
+              // 审核
+              this.axios
+                .post(
+                  "pass/testManagement/v1/limssampleresults/checkLimsSampleResults",
+                  this.multipleSelection1,
+                  { individualType: "json" }
+                )
+                .then((res) => {
+                  if (res.code == 0 || res.code == 200) {
+                    this.$message.success(res.message);
+                  } else {
+                    this.$message.error(res.message);
+                  }
+
+                  this.audit2();
+                  this.buttonLoading1 = false;
+                })
+                .catch((e) => {
+                  this.buttonLoading1 = false;
+                  this.$message.error(e.message);
+                });
+              // this.axios.post('pass/testManagement/v1/limssampleresults/checkLimsSampleResults', this.multipleSelection1, {individualType: 'json'}).then(res =>{
+              //     if (res.code == 0 || res.code == 200) {
+              //       if(res.data && res.data != 'true'){
+              //         this.$message.warning(res.data)
+              //       }else{
+              //         this.$message.success(res.message)
+              //       }
+              //       this.searchData()
+              //     } else {
+              //       this.$message.error(res.message)
+              //     }
+              //     this.buttonLoading1 = false
+              //   }).catch(e =>{
+              //     this.buttonLoading1 = false
+              //     this.$message.error(e.message)
+              //   })
+            }
+          } else {
+            // this.audit2()
+            // this.searchData()
+            this.buttonLoading1 = false;
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.buttonLoading1 = false;
+          this.$message.error(err.message);
+        });
+    },
+    async audit2() {
+      if (this.multipleSelection1.length < 1) {
+        this.$message.warning("请先勾选要发送的数据");
+        return;
+      }
+      this.buttonLoading1 = true;
+      let aa = 0; //成功
+      let bb = 0; //失败
+      let cc = 0; //取消
+      let length = this.multipleSelection1.length;
+      for (var i = 0; i < length; i++) {
+        var arr = [];
+        var item = this.multipleSelection1[i];
+        arr.push(item);
+        console.log("发送电文参数是:", i, item, arr, length);
+        const cfs = await this.axios.post(
+          "pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases",
+          arr,
+          { individualType: "json" }
+        );
+        if (cfs.code == 0 || cfs.code == 200) {
+          if (cfs.data.info) {
+            this.$message.warning(cfs.data);
+          } else {
+            let info = "";
+            let map = {
+              msgTopic: "lims/xcom/LS/CX/99",
+              msgSource: cfs.data.byteData,
+              msgFrom: "LS",
+            };
+            const cfs1 = await this.axios.post(
+              "pass/mqtt/v1/sends/sendMessage",
+              map,
+              { individualType: "json" }
+            );
+            if (cfs1 == 0) {
+              aa++;
+            } else {
+              bb++;
+              this.$message.error(
+                "样号是:" +
+                this.multipleSelection1[i].sampleNo +
+                "发送电文错误!"
+              );
+            }
+          }
+        } else {
+          bb++;
+          this.$message.error(cfs.message);
+        }
+      }
+      this.buttonLoading1 = false;
+      this.searchData();
+      if (bb == 0 && cc == 0) {
+        this.$message.success("执行完毕,成功提交 " + aa + " 条数据");
+      } else {
+        this.$message.warning(
+          "执行完毕,成功提交 " +
+          aa +
+          " 条数据,失败 " +
+          bb +
+          " 条, 取消" +
+          cc +
+          " 条"
+        );
+      }
+    },
+    async audit1() {
+      if (this.multipleSelection2.length < 1) {
+        this.$message.warning("请先勾选要发送的数据");
+        return;
+      }
+      this.buttonLoading1 = true;
+      let aa = 0; //成功
+      let bb = 0; //失败
+      let cc = 0; //取消
+      for (let i = 0; i < this.multipleSelection2.length; i++) {
+        let arr = [];
+        arr.push(this.multipleSelection2[i]);
+        const cfs = await this.axios.post(
+          "pass/testManagement/v1/limssamplereleases/checkLimsSampleReleases",
+          arr,
+          { individualType: "json" }
+        );
+        if (cfs.code == 0 || cfs.code == 200) {
+          if (cfs.data.info) {
+            this.$message.warning(cfs.data);
+          } else {
+            let info = "";
+            let map = {
+              msgTopic: "lims/xcom/LS/CX/99",
+              msgSource: cfs.data.byteData,
+              msgFrom: "LS",
+            };
+            const cfs1 = await this.axios.post(
+              "pass/mqtt/v1/sends/sendMessage",
+              map,
+              { individualType: "json" }
+            );
+            if (cfs1 == 0) {
+              aa++;
+            } else {
+              bb++;
+              this.$message.error(
+                "样号是:" +
+                this.multipleSelection2[i].sampleNo +
+                "发送电文错误!"
+              );
+            }
+          }
+        } else {
+          bb++;
+          this.$message.error(cfs.message);
+        }
+      }
+      this.buttonLoading1 = false;
+      this.searchData();
+      if (bb == 0 && cc == 0) {
+        this.$message.success("执行完毕,成功提交 " + aa + " 条数据");
+      } else {
+        this.$message.warning(
+          "执行完毕,成功提交 " +
+          aa +
+          " 条数据,失败 " +
+          bb +
+          " 条, 取消" +
+          cc +
+          " 条"
+        );
+      }
+    },
+    //取消-
+    cancel() {
+      if (JSON.stringify(this.click_main) === "{}") {
+        this.$message.warning("请先点击选中一条审核内容数据");
+        return;
+      }
+      if (this.click_main.stateFlag == 5) {
+        this.$message.warning("数据已审核,不可进行取消操作");
+        return;
+      }
+      this.buttonLoading2 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/cancelLimsSampleResult?id=" +
+          this.click_main.srId,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.buttonLoading2 = false;
+        })
+        .catch((err) => {
+          this.buttonLoading2 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 退回到个人
+    backMan() {
+      if (this.saveAnlyData.length < 1) {
+        this.$message.warning("请选勾选需要退回的数据");
+        return;
+      }
+      for (let i = 0; i < this.saveAnlyData.length; i++) {
+        if (this.saveAnlyData[i].stateFlag == "2") {
+          this.$message.warning("已审核的数据不能进行计算");
+          return;
+        }
+      }
+      let tempArr = [];
+      this.saveAnlyData.map((item) => {
+        tempArr.push(item.id);
+      });
+      this.backmanLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresultds/sendBackSampleTest",
+          tempArr,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.backmanLoading = false;
+        })
+        .catch((err) => {
+          this.backmanLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 退回到任务池
+    backPlan() {
+      if (this.saveAnlyData.length < 1) {
+        this.$message.warning("请选勾选需要退回的数据");
+        return;
+      }
+      for (let i = 0; i < this.saveAnlyData.length; i++) {
+        if (this.saveAnlyData[i].stateFlag == "2") {
+          this.$message.warning("已审核的数据不能进行计算");
+          return;
+        }
+      }
+      let tempArr = [];
+      this.saveAnlyData.map((item) => {
+        tempArr.push(item.id);
+      });
+      this.backPlanLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresultds/sendBackTaskTest",
+          tempArr,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.backPlanLoading = false;
+        })
+        .catch((err) => {
+          this.backPlanLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    //查询
+    searchData() {
+      if (!this.search.times) {
+        this.$message.error("请先选择时间");
+        return true;
+      }
+      this.pageIndex = 1;
+      this.pageSize = 500;
+      this.pageIndex2 = 1;
+      this.pageSize2 = 500;
+      this.dataMainWl11();
+      this.dataMainWl21();
+      // this.dataMain()
+      // this.dataMain2()
+    },
+    // 车间列表(检测中心下)
+    selectDepartment(val) {
+      this.sectionNameType = [];
+      this.companyNameType.find((item) => {
+        if (val === item.orgCode) {
+          this.sectionNameType = item.sysOrgList;
+        }
+      });
+    },
+    // 根据选中的车间名称,查询班组名称
+    selectClass(val) {
+      this.sectionClassType = [];
+      this.sectionNameType.find((item) => {
+        if (val === item.orgCode) {
+          this.sectionClassType = item.sysOrgList;
+          this.search.sectionNo = "";
+        }
+      });
+    },
+    // 未审核物料
+    dataMainWl11() {
+      this.click_main = {};
+      this.tableData1 = [];
+      this.total_main = 0;
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime = this.search.times[0];
+        endTime = this.search.times[1];
+      }
+      let obj = {
+        object: {
+          validFlag: "1",
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo,
+        },
+        carNo: this.search.carNo,
+        list: [4],
+        mode: this.search.matClassNo,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.search.type
+      };
+      this.tableLoading11 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultWl",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData11 = res.data;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading11 = false;
+        })
+        .catch((err) => {
+          this.tableLoading11 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 已审核物料
+    dataMainWl21() {
+      this.click_main2 = {};
+      this.tableData2 = [];
+      this.total_main2 = 0;
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime = this.search.times[0];
+        endTime = this.search.times[1];
+      }
+      let obj = {
+        object: {
+          validFlag: "1",
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo,
+        },
+        carNo: this.search.carNo,
+        list: [5],
+        mode: this.search.matClassNo,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.search.type
+      };
+      this.tableLoading21 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultWl",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData21 = res.data;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading21 = false;
+        })
+        .catch((err) => {
+          this.tableLoading21 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 未审核数据
+    dataMain() {
+      if (!this.click_main || !this.click_main.MAT_NO) {
+        return false;
+      }
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime = this.search.times[0];
+        endTime = this.search.times[1];
+      }
+      let obj = {
+        object: {
+          matNo: this.click_main.MAT_NO,
+          validFlag: "1",
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+          sampleNo: this.search.sampleNo,
+        },
+        list: [4],
+        startTime: startTime,
+        endTime: endTime,
+        pageIndex: this.pageIndex,
+        pageSize: this.pageSize,
+      };
+      this.tableLoading1 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultPage2",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData1 = res.data.data.list;
+            this.cols = res.data.head;
+            this.total_main = res.data.data.total;
+            if (this.tableData1.length > 0) {
+              this.isShowSuppName = res.data.data.list[0].SUPP_NAME
+                ? true
+                : false;
+              this.isShowNetNum = res.data.data.list[0].NET_NUM ? true : false;
+              this.isShowMarkNo = res.data.data.list[0].MARK_NO ? true : false;
+              this.isShowEncryNo = res.data.data.list[0].ENCRY_NO
+                ? true
+                : false;
+              this.isShowLotsNo = res.data.data.list[0].LOTS_NO ? true : false;
+            }
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading1 = false;
+        })
+        .catch((err) => {
+          this.tableLoading1 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 已审核数据
+    dataMain2() {
+      if (!this.click_main2 || !this.click_main2.MAT_NO) {
+        return;
+      }
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime = this.search.times[0];
+        endTime = this.search.times[1];
+      }
+      let obj = {
+        object: {
+          matNo: this.click_main2.MAT_NO,
+          validFlag: "1",
+          deptNo: this.search.deptNo,
+          sectionNo: this.search.sectionNo,
+        },
+        list: [5],
+        startTime: startTime,
+        endTime: endTime,
+        pageIndex: this.pageIndex2,
+        pageSize: this.pageSize2,
+      };
+      this.tableLoading2 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresults/queryLimsSampleResultPage2",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData2 = res.data.data.list;
+            this.cols2 = res.data.head;
+            this.total_main2 = res.data.data.total;
+            if (this.tableData2.length > 0) {
+              this.isShowSuppName = res.data.data.list[0].SUPP_NAME
+                ? true
+                : false;
+              this.isShowNetNum = res.data.data.list[0].NET_NUM ? true : false;
+              this.isShowMarkNo = res.data.data.list[0].MARK_NO ? true : false;
+              this.isShowEncryNo = res.data.data.list[0].ENCRY_NO
+                ? true
+                : false;
+              this.isShowLotsNo = res.data.data.list[0].LOTS_NO ? true : false;
+            }
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading2 = false;
+        })
+        .catch((err) => {
+          this.tableLoading2 = false;
+          this.$message.error(err.message);
+        });
+    },
+    handleSizeChangeMain(pageSize) {
+      this.pageIndex = 1;
+      this.pageSize = pageSize;
+      this.dataMain();
+    },
+    handleCurrentChangeMain(pageIndex) {
+      this.pageIndex = pageIndex;
+      this.dataMain();
+    },
+    handleSizeChangeMain2(pageSize) {
+      this.pageIndex2 = 1;
+      this.pageSize2 = pageSize;
+      this.dataMain2();
+    },
+    handleCurrentChangeMain2(pageIndex) {
+      this.pageIndex2 = pageIndex;
+      this.dataMain2();
+    },
+    tableHeaderCellStyle() {
+      return "color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;";
+    },
+    // 根据物料类型查询物料 - 查询
+    selctMatName(val) {
+      this.matNameType = [];
+      this.search.matNo = "";
+      if (!val) {
+        return;
+      }
+      //物料名称
+      this.axios
+        .post(
+          "pass/baseManagement/v1/limsbasematerialss/queryLimsBaseMaterialsPage/",
+          {
+            object: { validFlag: 1, matClassNo: val },
+            pageIndex: 1,
+            pageSize: 99999,
+          },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.matNameType = res.data.list;
+        });
+    },
+    clearSelect() {
+      this.search.sectionNo = "";
+    },
+    //选中数据1
+    searchFollow1(val) {
+      this.multipleSelection1 = val;
+    },
+    //选中数据2
+    searchFollow2(val) {
+      this.multipleSelection2 = val;
+    },
+    //选中数据13 (原始数据)
+    searchFollow13(val) {
+      this.multipleSelection13 = val;
+    },
+    // 表格1合并单元格
+    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.tableMain12.tableData;
+      let rowsPan = 1;
+      let thisColomnData = row[column["property"]];
+      // 相同合同列的行合并
+      if (column["property"] === "CONTRACT_NO" && thisColomnData) {
+        if (
+          rowIndex > 0 &&
+          thisColomnData === tableData[rowIndex - 1][column["property"]]
+        ) {
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
+        }
+        while (
+          tableData[rowIndex + rowsPan] &&
+          thisColomnData === tableData[rowIndex + rowsPan][column["property"]]
+        ) {
+          rowsPan += 1;
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1,
+        };
+      }
+    },
+    // 表格2合并单元格
+    arraySpanMethod2({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.tableMain22.tableData;
+      let rowsPan = 1;
+      let thisColomnData = row[column["property"]];
+      // 相同合同列的行合并
+      if (column["property"] === "CONTRACT_NO" && thisColomnData) {
+        if (
+          rowIndex > 0 &&
+          thisColomnData === tableData[rowIndex - 1][column["property"]]
+        ) {
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
+        }
+        while (
+          tableData[rowIndex + rowsPan] &&
+          thisColomnData === tableData[rowIndex + rowsPan][column["property"]]
+        ) {
+          rowsPan += 1;
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1,
+        };
+      }
+    },
+    // 表格13(原始数据)合并单元格
+    arraySpanMethod13({ row, column, rowIndex, columnIndex }) {
+      let tableData = this.$refs.table13.tableData;
+      let rowsPan = 1;
+      let thisColomnData = row[column["property"]];
+      let st = row["ST_ID"];
+      // 相同合同列的行合并
+      // if (columnIndex > 0 && columnIndex < 5 && thisColomnData) {
+      //   if (rowIndex > 0 && thisColomnData === tableData[rowIndex - 1][column['property']]) {
+      //     return {
+      //       rowspan: 0,
+      //       colspan: 0
+      //     };
+      //   }
+      //   while (tableData[rowIndex + rowsPan] && thisColomnData === tableData[rowIndex + rowsPan][column['property']]) {
+      //     rowsPan += 1
+      //   }
+      //   return {
+      //     rowspan: rowsPan,
+      //     colspan: 1
+      //   };
+      // }
+      if (columnIndex > 0 && columnIndex < 8 && st) {
+        if (rowIndex > 0 && st === tableData[rowIndex - 1]["ST_ID"]) {
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
+        }
+        while (
+          tableData[rowIndex + rowsPan] &&
+          st === tableData[rowIndex + rowsPan]["ST_ID"]
+        ) {
+          rowsPan += 1;
+        }
+        return {
+          rowspan: rowsPan,
+          colspan: 1,
+        };
+      }
+    },
+    rollback() {
+      if (this.multipleSelection2.length == 0) {
+        this.$message.warning("请勾选需要撤回审核的数据");
+        return;
+      }
+      let ids = [];
+      this.multipleSelection2.forEach((item) => {
+        ids.push(item.SR_ID);
+      });
+      this.buttonLoadingBack = true;
+      this.$confirm("确定退回已审核数据吗?", "提醒", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.axios
+            .post("pass/testManagement/v1/limssampleresults/rollback", ids, {
+              individualType: "json",
+            })
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.$message.success(res.message);
+                this.buttonLoadingBack = false;
+                this.dataMainWl11();
+                this.dataMain2();
+              } else {
+                this.$message.error(res.message);
+                this.buttonLoadingBack = false;
+              }
+            })
+            .catch((e) => {
+              this.$message.error(e.message);
+              this.buttonLoadingBack = false;
+            });
+        })
+        .catch((e) => {
+          this.buttonLoadingBack = false;
+          this.$message.warning("已取消退回!");
+        });
+    },
+    showHistory(row) {
+      if (!row) {
+        return this.$message.warning("查询历史记录失败,参数错误!");
+      }
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssamplehistorys/queryHistoryTest",
+          row,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            //打开窗口
+            this.historyShowFlag = !this.historyShowFlag;
+            this.Params = Object.assign([{}], res.data);
+          } else {
+            this.$message.warning("查询历史记录失败!");
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    // 显示数据来源,valSource 格式 数值_stid_errstid_substid
+    showDataSource(row, valSource) {
+      if (!valSource || valSource.split("_").length < 4) {
+        this.$message.error("参数错误");
+        return;
+      }
+      // 记录参数,用于审核后刷新本页数据
+      // this.valSource = valSource;
+      this.curSrId = row.SR_ID;
+      this.tableData13 = [];
+      this.axios
+        .get(
+          "pass/testManagement/v1/limssampleresults/queryDataSource?valSource=" +
+          valSource
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData13 = res.data;
+            if (this.tableData13) {
+              this.tableData13.forEach((item) => {
+                item.isReportName =
+                  item.IS_REPORT == 0 ? "否" : item.IS_REPORT == 1 ? "是" : "";
+                item.isAlarmName =
+                  item.IS_ALARM == 0 ? "否" : item.IS_ALARM == 1 ? "是" : "";
+              });
+            }
+            this.batchShow = true;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchDataLoading = false;
+        })
+        .catch((e) => {
+          this.batchDataLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    // 选中未审核物料
+    handleCurrentChange11(val) {
+      this.click_main = val;
+      this.dataMain();
+    },
+    // 选中已审核物料
+    handleCurrentChange21(val) {
+      this.click_main2 = val;
+      this.dataMain2();
+    },
+    // 关闭原始记录页面
+    closebatch() {
+      this.multipleSelection13 = [];
+      this.batchShow = false;
+      // this.dataMain();
+    },
+    // 审批不通过
+    checkErr() {
+      if (this.multipleSelection13.length < 1) {
+        this.$message.warning("请先勾选要审批的原始数据");
+        return;
+      }
+      this.backLoading = true;
+      this.$confirm("确定审核不通过?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          // 审核不通过
+          let arr = this.multipleSelection13;
+          for (let item of arr) {
+            item["SR_ID"] = this.curSrId;
+            if (item["logMemo"] == null) {
+              this.$message.error("退回原因不能为空!");
+              return;
+            }
+          }
+          this.axios
+            .post(
+              "pass/testManagement/v1/limssampleresults/checkErrLimsSampleResult",
+              arr,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                if (res.data && res.data != "true") {
+                  this.$message.warning(res.data);
+                } else {
+                  this.$message.success(res.message);
+                }
+                this.dataMain();
+                this.closebatch();
+              } else {
+                this.$message.error(res.message);
+              }
+              this.backLoading = false;
+            })
+            .catch((e) => {
+              this.backLoading = false;
+              this.$message.error(e.message);
+            });
+        })
+        .catch((e) => {
+          this.backLoading = false;
+        });
+    },
+    selectStyle({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 2) {
+        if (row.BS === "1") {
+          return "error-row";
+        }
+      }
+      if (row.IS_SEND_BACK === "1") {
+        return "row-green";
+      }
+    },
+  },
+};
+</script>
+<style scoped></style>
+<style lang="less">
+.secondApprove {
+  .common-title-name {
+    margin-right: 40px;
+  }
+}
+</style>
+<style>
+.row-green {
+  background-color: #caf982 !important;
+}
+
+.el-table__body tr.current-row.row-green>td {
+  background-color: #caf982 !important;
+}
+</style>

+ 1673 - 1659
src/views/approveManagement/components/secondApprove.vue

@@ -1,1659 +1,1673 @@
-<!-- 二级审核 -->
-<template>
-  <div class="examination testManagement">
-    <div class="common-head-search">
-      <el-form :inline="true" @submit.native.prevent ref="searchForm" :model="searchForm"
-        class="demo-form-inline sui-search-form">
-        <el-form-item label="样品名称">
-          <el-input v-model="searchForm.matName" @keyup.enter.native="searchData()" size="small" placeholder="请输入查询内容"
-            style="width: 150px"></el-input>
-        </el-form-item>
-        <el-form-item label="样品类型">
-          <el-select v-model="searchForm.sampleTypeCode" clearable filterable collapse-tags size="small"
-            style="width: 150px" placeholder="请选择查询内容">
-            <el-option v-for="item in sampleTypeNameType" :key="item.baseName" :label="item.baseName"
-              :value="item.baseCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="创建时间">
-          <el-date-picker v-model="searchForm.times[0]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="date"
-            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
-          </el-date-picker>
-          <span>至</span>
-          <el-date-picker v-model="searchForm.times[1]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="date"
-            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
-          </el-date-picker>
-          <!-- <el-date-picker
-            v-model="searchForm.times"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width: 350px"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']"
-          >
-          </el-date-picker> -->
-        </el-form-item>
-        <el-form-item>
-          <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
-          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="resetData">重置</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-    <el-row>
-      <el-col :span="10">
-        <el-tabs type="border-card" v-model="activeName" class="testManagement_left">
-          <el-tab-pane label="未审核数据" name="first">
-            <span slot="label">待审核数据<el-badge :max="10" :hidden="total_main == 0" style="margin-top: -18px"
-                :value="total_main"></el-badge></span>
-            <div class="common-title-div" style="height: auto">
-              <div class="common-title-name" style="margin-right: 10px">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                待审核
-              </div>
-              <div>
-                <el-form :inline="true" @submit.native.prevent>
-                  <el-form-item style="margin-bottom: 0">
-                    <el-button icon="el-icon-check" type="goon" :loading="sampleLoading" @click="audit"
-                      v-privilege="activeMenu + 'audit'" size="mini">审批通过</el-button>
-                    <el-button icon="el-icon-check" type="goon" :loading="batchDataLoading" @click="showBatch"
-                      v-privilege="activeMenu + 'batch'" size="mini">批量审核</el-button>
-                    <el-button icon="el-icon-check" type="danger" :loading="backAuditLoading" @click="showBackData"
-                      v-privilege="activeMenu + 'back'" size="mini">审批不通过</el-button>
-                  </el-form-item>
-                </el-form>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="table1" :height="theight1" v-loading="tableLoading4" :data="tableData4"
-                :cell-class-name="tableRowClassName" :summary-method="getSummaries2" show-summary
-                @row-click="searchAnalyze" border @selection-change="searchFollow"
-                :header-cell-style="tableHeaderCellStyle" highlight-current-row :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag" :exchangeFilterMap="{
-                  lock_flag: { '0': '未锁定', '1': '已锁定' },
-                }" style="width: 100%">
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="state"
-                  label="状态"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
-                  label="委托编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
-                  label="中心编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showHistory(scope.row)" style="cursor: pointer"
-                      :class="{ 'color-blue': scope.row.sampleNo }">
-                      {{ scope.row.sampleNo }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
-                  label="物料名称"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
-                  label="测试项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="entrTypeName"
-                  label="委托类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="sampleTypeName"
-                  label="样品类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="entrMemo"
-                  label="委托备注"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testMemo"
-                  label="检测标准"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="nantNo"
-                  label="测试设备"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="checkMan"
-                  label="提交人"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="checkTime"
-                  label="提交时间"></el-table-column>
-              </el-table>
-            </div>
-            <div class="common-foot-style">
-              <el-pagination @size-change="handleSizeChangeMain" @current-change="Data4()"
-                :current-page.sync="pageIndex4" :page-sizes="[50, 100, 200, 500, 800, 1000]" :page-size="pageSize4"
-                layout="total, sizes, prev, pager, next, jumper" :total="total4" background></el-pagination>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="已审核数据" name="second">
-            <div class="common-title-div" style="height: auto">
-              <div class="common-title-name" style="margin-right: 10px">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                已审核
-              </div>
-              <div class="buttons">
-                <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
-                  v-privilege="activeMenu + 'withdraw'" @click="showBackAuditData">撤回已审核</el-button>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table v-loading="tableLoading42" ref="table2" :row-class-name="tableRowClassName0"
-                :cell-class-name="cellClassName" @selection-change="SelectionValues"
-                @current-change="handleCurrentChange" border @row-click="searchAnalyze" :height="theight2"
-                highlight-current-row :data="tableData42" :icore-filter-flag="icoreFilterFlag"
-                :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries2" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="state"
-                  label="状态"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
-                  label="委托编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
-                  label="中心编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showHistory(scope.row)" style="cursor: pointer"
-                      :class="{ 'color-blue': scope.row.sampleNo }">
-                      {{ scope.row.sampleNo }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
-                  label="物料名称"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="170" align="center" prop="testItemName"
-                  label="测试项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="entrTypeName"
-                  label="委托类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeCode"
-                  label="样品类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
-                  label="测试部门"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
-                  label="检测标准"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="nantNo"
-                  label="测试设备"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
-                  label="委托备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="checkMan" label="提交人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="checkTime" label="提交时间"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="auditMan" label="审核人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="auditTime" label="审核时间"
-                  align="center"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChangeDep" @current-change="Data5()"
-                  :current-page.sync="pageIndex42" :page-sizes="[50, 100, 200, 500, 800, 1000]" :page-size="pageSize42"
-                  layout="total, sizes, prev, pager, next, jumper" :total="total42" background></el-pagination>
-              </div>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </el-col>
-      <el-col :span="14">
-        <el-tabs type="border-card" v-model="activeName2">
-          <el-tab-pane :label="analyzeVal.matName
-              ? '【 ' +
-              analyzeVal.matName +
-              ' 】 - 【 ' +
-              analyzeVal.testItemName +
-              ' 】'
-              : '未选择数据'
-            " name="first2">
-            <div style="height: auto; padding-top: 1px" class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
-                分析项目
-              </div>
-              <div class="buttons"></div>
-              <div></div>
-            </div>
-            <div class="common-table-div">
-              <el-table v-loading="tableLoading3" border :height="theight3" @selection-change="selectMultiples"
-                highlight-current-row @row-click="clickRow" :data="tableData3" :icore-filter-flag="icoreFilterFlag"
-                :header-cell-style="tableHeaderCellStyle" @row-dblclick="showCell"
-                :cell-class-name="fxTableRowClassName" :summary-method="getSummaries2" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" fixed="left" align="center"
-                  prop="anlyItemName" label="分析项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="anlyValue"
-                  label="报出值">
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseValue"
-                  label="录入值">
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="dasValue"
-                  label="采集值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="cptValue"
-                  label="计算值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="备注">
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="文件预览">
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="unitName"
-                  label="单位"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="formulaName"
-                  label="计算公式"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseRuleName"
-                  label="修约规则"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isReportName"
-                  label="是否报出"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="outputTypeName"
-                  label="输出类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minSign"
-                  label="最小符号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minValue"
-                  label="最小值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxSign"
-                  label="最大符号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxValue"
-                  label="最大值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxLimit"
-                  label="方法上限值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minLimit"
-                  label="方法下限值"></el-table-column>
-              </el-table>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </el-col>
-    </el-row>
-    <!-- 批量审核 -->
-    <el-dialog class="testManagement-pllr" :close-on-click-modal="false" @close="closebatch" width="100%"
-      :visible.sync="batchShow" top="0">
-      <div slot="title" class="titleBox">
-        <div>
-          <i class="el-icon-document" style="font-size: 20px"></i>
-          <span style="margin-left: 10px; font-size: 18px">批量审核</span>
-        </div>
-      </div>
-      <el-table ref="tablePllr" border :height="theight4" highlight-current-row :data="tableData"
-        :header-cell-style="tableHeaderCellStyle" :cell-class-name="tableRowBatch" :summary-method="getSummaries2"
-        show-summary>
-        <el-table-column type="index" label="NO" fixed="left" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.$index }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column width="50px" fixed="left" label="操作" align="center">
-          <template slot-scope="scope">
-            <el-button v-if="scope.$index > 0" type="text" style="padding: 0"
-              @click="delData(scope.row, scope.$index)">删除</el-button>
-          </template>
-        </el-table-column>
-        <template v-for="col in cols">
-          <el-table-column :prop="col.prop" :fixed="col.prop == 'sampleNo' ||
-            col.prop == 'matName' ||
-            col.prop == 'carNo'
-            " show-overflow-tooltip min-width="90" align="center" :key="col.prop" :label="col.label">
-            <template slot-scope="scope">
-              <span v-if="col.prop == 'matName'">{{
-                tableData[scope.$index].matName
-              }}</span>
-              <span v-else-if="col.prop == 'sampleNo'">{{
-                tableData[scope.$index].sampleNo
-              }}</span>
-              <span v-else-if="col.prop == 'carNo'">{{
-                tableData[scope.$index].carNo
-              }}</span>
-              <span v-else-if="scope.$index > 0">{{
-                scope.row[col.prop]
-              }}</span>
-            </template>
-          </el-table-column>
-        </template>
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading"
-          @click="batchAudit()">审批通过</el-button>
-        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
-      </span>
-    </el-dialog>
-    <!-- 撤回审核 -->
-    <el-dialog :close-on-click-modal="false" width="80%" :visible.sync="dialog.show" @close="closeBack">
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left: 10px; font-size: 18px">审批不通过</span>
-      </div>
-      <div style="padding: 10px 0">
-        <el-form ref="dialog_form" :model="dialog.form.data" size="mini" label-width="100px">
-          <el-row>
-            <el-col :span="24">
-              <el-table v-loading="glDialogLoading" ref="dataTable" border :height="heightTop" highlight-current-row
-                :data="dialog.form.tableData" :header-cell-style="tableHeaderCellStyle"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column type="index" label="NO" align="center"></el-table-column>
-                <el-table-column width="100px" show-overflow-tooltip label="操作" align="center">
-                  <template slot-scope="scope">
-                    <el-button type="text" style="padding: 0"
-                      @click="dialogDeleteData(scope.row, scope.$index)">删除</el-button>
-                  </template>
-                </el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="sampleNo" label="中心编号"
-                  align="center"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="matName" label="物料名称"
-                  align="center"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
-                  label="测试项目" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
-                  label="退回原因" align="center">
-                  <template slot-scope="{ row }">
-                    <el-input v-model="row.logMemo" @blur="saveCell" @keyup.enter.native="saveCell" size="small"
-                      style="width: 100%"></el-input>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <div style="margin-top: 20px; margin-left: 10px">
-                <el-pagination style="float: right" @size-change="glDialogSizeTest"
-                  @current-change="glDialogPageChangeTest" :current-page="glDialog.pageNum"
-                  :page-sizes="[10, 20, 50, 100, 200]" :page-size="glDialog.pageSize"
-                  layout="total, sizes, prev, pager, next" :total="glDialog.totalPage" background>
-                </el-pagination>
-              </div>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="danger" size="mini" :loading="backAuditLoading"
-          @click="tableType === 1 ? back() : backAudit()">审批不通过</el-button>
-        <el-button type="goon" size="mini" @click="closeBack">取 消</el-button>
-      </span>
-    </el-dialog>
-    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
-  </div>
-</template>
-<script>
-import { getCookie, formatDate } from "@/utils/util.js";
-import { cookieUserId, cookieUserName } from "@/config/config.js";
-import historyAlert from "../../testAnalysis/components/testManagement/historyAlert";
-let userName = getCookie(cookieUserName);
-let userId = getCookie(cookieUserId);
-export default {
-  components: { historyAlert },
-  data() {
-    return {
-      fromDaiban: null,
-      searchForm: {
-        times: "",
-        matName: "",
-        sampleTypeCode: "",
-        eqpNo: "",
-      },
-      autoCollData: {
-        eqpTypeCode: "",
-        eqpNo: "",
-      },
-      historyShowFlag: false,
-      gangwei: "",
-      showFlag: false,
-      resetShowFlag: false,
-      deleteFlag: false,
-      dataCollectionFlag: false,
-      Params: {},
-      Params2: [],
-      matNameType: [],
-      autoColl: {
-        eqpTypeCode: [
-          { required: true, message: "不能为空", trigger: "change" },
-        ],
-        eqpNo: [{ required: true, message: "不能为空", trigger: "change" }],
-      },
-      table: {
-        listTests: [],
-        collectionData: [],
-        selectCollectionData: [],
-        sampleData: [],
-      },
-      activeName: "first",
-      activeName2: "first2",
-      backLoading: false,
-      tableType: 0,
-      withdrawLoading: false,
-      batchDataLoading: false,
-      buttonLoading1: false,
-      buttonLoading2: false,
-      batchLoading: false,
-      addByLoading: false,
-      addKbLoading: false,
-      addGlyLoading: false,
-      testTable: [],
-      cols: [],
-      tableData: [],
-      resultData: [],
-      collectionLoading: false,
-      autoColletLoading: false,
-      clickColl: false,
-      batchShow: false,
-      eqpType: [],
-      autoEqpType: [],
-      facilityType: [],
-      selectVal: [], // 已审 多选
-      selectVal4: [],
-      selectVal42: [], //
-      selectMul: [],
-      companyNameType: [],
-      userdeptNo: "",
-      usersectionNo: "",
-      userjobs: "",
-      selectRecall: [],
-      testShow: false,
-      checked: true,
-      interval: null,
-      saveValue: "",
-      saveMainData: [],
-      cllotData: [],
-      addRetestLoading: false,
-      dataLoading: false,
-      glDialogLoading: false,
-      sampleLoading: false,
-      backAuditLoading: false,
-      saveLoading: false,
-      errorLoading: false,
-      submitLoading: false,
-      isAutoColl: false,
-      sampleTypeNameType: [],
-      analyzeVal: {},
-      analyzeValues: {},
-      formulacomLoading: false,
-      isOneHint: false,
-      theight1: 0,
-      theight2: 0,
-      theight3: 0,
-      theight4: 0,
-      testItemName2: "",
-      pageTests: {
-        pageSize: 50,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      glDialog: {
-        pageSize: 50,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      equipment: {
-        nantNo: [],
-        itemTemp: "",
-      },
-      addByShow: false,
-      deleteLoading: false,
-      collectionShow: false,
-      recallShow: false,
-      addCollectionLoading: false,
-      tableLoading1: false,
-      tableLoading2: false,
-      tableLoading3: false,
-      tableLoading4: false,
-      tableLoading42: false,
-      tableLoading5: false,
-      selectLine: {},
-      tabClickIndex: null,
-      func: "",
-      originalData: [],
-      tableData1: [],
-      tableData2: [],
-      tableData3: [],
-      tableData4: [],
-      tableData42: [],
-      tableData5: [],
-      pageIndex: 1,
-      pageSize: 100,
-      total_main: 0,
-      pageIndex_dep: 1,
-      pageSize_dep: 100,
-      total_dep: 0,
-      pageIndex4: 1,
-      pageSize4: 100,
-      pageIndex42: 1,
-      pageSize42: 100,
-      total4: 0,
-      total42: 0,
-      scale: "",
-      allFacility: [],
-      scaleId: null,
-      inputLoading: false,
-      values: "",
-      saveAnaly: {},
-      timeId: null,
-      icoreFilterFlag: true,
-      heightTop: 0,
-      activeMenu: "",
-      dialog: {
-        show: false,
-        form: {
-          data: {
-            sampleNo: "",
-            matName: "",
-          },
-          tableData: [],
-          rules: {
-            sampleNo: [
-              { required: true, message: "该项不能为空", trigger: "blur" },
-            ],
-            matName: [
-              { require: true, message: "物料名称不能为空!", trigger: "blur" },
-            ],
-          },
-        },
-      },
-      dialog2: {
-        show: false,
-        form: {
-          data: {
-            sampleNum: "6", // 标准点数量
-            yuansu: "",
-          },
-          rules: {
-            sampleNum: [
-              { required: true, message: "该项不能为空", trigger: "blur" },
-            ],
-          },
-        },
-      },
-    };
-  },
-  created() {
-    this.theight1 =
-      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
-    this.theight2 =
-      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
-    this.theight3 =
-      window.innerHeight - 230 < 249 ? 249 : window.innerHeight - 230;
-    this.theight4 =
-      window.innerHeight - 140 < 249 ? 249 : window.innerHeight - 140;
-    this.heightTop =
-      window.innerHeight / 2 - 130 < 249 ? 249 : window.innerHeight / 2 - 130;
-    let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
-
-    this.fromDaiban = JSON.parse(sessionStorage.getItem("fromDaiban"));
-    sessionStorage.removeItem("fromDaiban");
-
-    if (this.fromDaiban) {
-      this.searchForm.times = [
-        this.fromDaiban.startTime,
-        this.fromDaiban.endTime,
-      ];
-      this.activeName = this.fromDaiban.status == 1 ? "second" : "first";
-    } else {
-      this.searchForm.times = [
-        this.getYNM(new Date(timestamp)) + " 00:00:00",
-        this.getYNM(new Date()) + " 23:59:59",
-      ];
-    }
-
-    this.activeMenu = window.top.localStorage.getItem("activeMenu");
-    this.axios
-      .post(
-        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
-        {},
-        { individualType: "json" }
-      )
-      .then((response) => {
-        this.companyNameType = response.data;
-        this.getCompany();
-      });
-  },
-  mounted() {
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4801 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.sampleTypeNameType = res.data;
-      });
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4808 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.facilityType = res.data;
-      });
-    this.axios
-      .get(
-        "pass/baseManagement/v1/limslrceqpinfos/like/" +
-        "?pageNum=1" +
-        "&pageSize=9999" +
-        "&eqpTypeName=" +
-        "" +
-        "&stateFlag=" +
-        ""
-      )
-      .then((res) => {
-        this.allFacility = res.data.list;
-      });
-    // 设备信息
-    this.axios
-      .post("pass/baseManagement/v1/limslrceqpinfos/queryAll", {
-        individualType: "json",
-      })
-      .then((res) => {
-        this.matNameType = res.data;
-      });
-    this.searchData();
-  },
-  methods: {
-    getYNM(date) {
-      let year = date.getFullYear().toString();
-      let month = date.getMonth() + 1;
-      let day = date.getDate();
-      month = month < 10 ? "0" + month : month;
-      day = day < 10 ? "0" + day : day;
-      return `${year}-${month}-${day}`;
-    },
-    refresh() {
-      this.searchAnalyze(this.analyzeVal, true);
-    },
-    refresh2() {
-      this.searchData();
-    },
-    refresh3() {
-      // console.log('批量采集执行完毕');
-    },
-    getSummaries2(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = "总计";
-        }
-        if (index === 1) {
-          sums[index] = data.length;
-        } else if (column.property === "quantity") {
-          let val = 0;
-          for (let i in data) {
-            val = this.floatComputed(
-              data[i].quantity ? data[i].quantity : 0,
-              val,
-              "+"
-            );
-          }
-          sums[index] = val;
-        }
-      });
-      return sums;
-    },
-    recall() {
-      if (this.selectRecall.length < 1) {
-        this.$message.warning("请勾选需要撤回的数据!");
-        return;
-      }
-      let tempIds = this.selectRecall.map((item) => item.stIdD);
-      this.deleteLoading = true;
-      let obj = {
-        id: tempIds,
-        validFlag: "1",
-      };
-      this.axios
-        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.deleteLoading = false;
-          this.recallShow = !this.recallShow;
-        })
-        .catch((e) => {
-          this.deleteLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    addAnaly() {
-      if (JSON.stringify(this.analyzeVal) == "{}") {
-        this.$message.warning("请选择一条需要新增的主数据!");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "选中的已接收数据为已提交的数据,不能进行新增!,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      this.showFlag = !this.showFlag;
-      this.Params = this.analyzeVal;
-    },
-    clickRow(val) {
-      this.saveAnaly = val;
-    },
-    //删除分析项目
-    deleteData() {
-      if (this.selectMul.length < 1) {
-        this.$message.warning("请勾选需要删除的数据!");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "选中的已接收数据为已提交的数据,不能进行删除!,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      let tempIds = this.selectMul.map((item) => item.stIdD);
-      this.deleteLoading = true;
-      let obj = {
-        id: tempIds,
-        validFlag: "0",
-      };
-      this.axios
-        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.deleteLoading = false;
-        })
-        .catch((e) => {
-          this.deleteLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    selectAuto(val) {
-      this.autoEqpType = [];
-      this.scale = "";
-      this.autoCollData.eqpNo = "";
-      if (!val) {
-        return;
-      }
-      this.axios
-        .post(
-          "pass/baseManagement/v1/limslrceqpinfos/queryeqpName",
-          { eqpTypeCode: val },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.autoEqpType = res.data;
-        });
-    },
-    resetData() {
-      this.searchForm.matName = "";
-      this.searchForm.sampleTypeCode = "";
-      this.searchForm.eqpNo = "";
-      let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
-
-      this.searchForm.times = [
-        this.getYNM(new Date(timestamp)) + " 00:00:00",
-        this.getYNM(new Date()) + " 23:59:59",
-      ];
-      this.searchData();
-    },
-    SelectionValues(val) {
-      this.selectVal = val;
-    },
-    // 已提交、无效数据,多选
-    SelectionValues4(val) {
-      this.selectVal4 = val;
-    },
-    SelectionValues42(val) {
-      this.selectVal42 = val;
-    },
-    selectMultiples(val) {
-      this.selectMul = val;
-      this.selectRecall = val;
-    },
-    //点击选中样品信息数据
-    searchFollow(val) {
-      this.saveMainData = val;
-    },
-    //获取选中已接任务数据
-    handleCurrentChange(val) {
-      this.selectLine = val;
-    },
-    //撤回已提交数据
-    backWithdraw() {
-      if (this.selectVal4.length < 1) {
-        this.$message.warning("请先勾选您要撤回的数据");
-        return;
-      }
-      for (let item of this.selectVal4) {
-        if (item.validFlag == "0") {
-          this.$message.warning("请选择有效数据");
-          return;
-        }
-      }
-      this.withdrawLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/withdraw",
-          this.selectVal4,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.withdrawLoading = false;
-        })
-        .catch((err) => {
-          this.withdrawLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    //打开批量审核窗口
-    showBatch() {
-      if (this.saveMainData.length < 1) {
-        this.$message.warning("请勾选测试项目的数据");
-        return;
-      }
-      let temp = [];
-      this.saveMainData.map((item) => {
-        temp.push(item.stId);
-      });
-      this.batchDataLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limssampletestds/transData", temp, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            if (res.data.badyData.length > 0) {
-              // 增加第一行用于批量修改
-              let obj = Object.assign({}, res.data.badyData[0]);
-              for (let key in obj) {
-                obj[key] = "";
-              }
-              let arr = res.data.badyData;
-              arr.splice(0, 0, obj);
-              this.cols = res.data.head;
-              this.tableData = arr;
-              this.testTable = res.data.headBabyData;
-            }
-            this.batchShow = true;
-            this.$nextTick(() => {
-              this.$refs["tablePllr"].bodyWrapper.scrollTop = 0;
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchDataLoading = false;
-        })
-        .catch((e) => {
-          this.batchDataLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    // 批量审核删除数据(前端删除)
-    delData(row, index) {
-      let that = this;
-      // console.log(row, index)
-      that.tableData.splice(index, 1);
-      that.testTable.splice(index - 1, 1);
-      let srow = that.saveMainData[index - 1];
-      that.saveMainData.splice(index - 1, 1);
-      that.$refs.table2.toggleRowSelection(srow, false);
-    },
-    // 批量审核
-    batchAudit() {
-      let tempData = [];
-      this.saveMainData.map((item) => {
-        tempData.push(item.stId);
-      });
-      this.batchLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limssampletests/firstAudit", tempData, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success("批量审核成功!");
-            this.batchShow = false;
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchLoading = false;
-        })
-        .catch((err) => {
-          this.batchLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    //审核
-    audit() {
-      if (this.saveMainData.length < 1) {
-        this.$message.warning("请先勾选您要审核的数据!");
-        return;
-      }
-      this.sampleLoading = true;
-      let ids = [];
-      this.saveMainData.forEach((item) => {
-        ids.push(item.id);
-      });
-      this.axios
-        .post("pass/testManagement/v1/limssampletests/firstAudit", ids, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.sampleLoading = false;
-        })
-        .catch((err) => {
-          this.sampleLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 显示撤回已审核操作的数据
-    showBackAuditData() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请先勾选您要退回的数据!");
-        return;
-      }
-      this.backLoading = true;
-      this.selectVal.forEach((item) => {
-        item.logMemo = "";
-        this.dialog.form.tableData.push(item);
-      });
-      this.dialog.show = true;
-      this.backLoading = false;
-      this.tableType = 1;
-    },
-    // 显示审批不通过的数据
-    showBackData() {
-      if (this.saveMainData.length < 1) {
-        this.$message.warning("请先勾选您要退回的数据!");
-        return;
-      }
-      this.backAuditLoading = true;
-
-      this.saveMainData.forEach((item) => {
-        item.logMemo = "";
-        this.dialog.form.tableData.push(item);
-      });
-      this.dialog.show = true;
-      this.backAuditLoading = false;
-      this.tableType = 0;
-    },
-    backAudit() {
-      let bool = false;
-      this.dialog.form.tableData.forEach((ss) => {
-        if (ss.logMemo == "" || ss.logMemo == null) {
-          bool = true;
-        }
-      });
-      if (bool) {
-        this.$message.warning("请输入退回原因!");
-        return;
-      }
-      this.backAuditLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/backAuditData",
-          this.dialog.form.tableData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.closeBack();
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.backAuditLoading = false;
-        })
-        .catch((err) => {
-          this.backAuditLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 撤回已审核
-    back() {
-      if (this.dialog.form.tableData.length < 1) {
-        this.$message.warning("请先勾选您要退回的数据!");
-        return;
-      }
-      let bool = false;
-      this.dialog.form.tableData.forEach((ss) => {
-        if (ss.logMemo == "" || ss.logMemo == null) {
-          bool = true;
-        }
-      });
-      if (bool) {
-        this.$message.warning("请输入退回原因!");
-        return;
-      }
-      this.backLoading = true;
-      this.backAuditLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/firstBack",
-          this.dialog.form.tableData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.closeBack();
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.backLoading = false;
-          this.backAuditLoading = false;
-        })
-        .catch((err) => {
-          this.backLoading = false;
-          this.backAuditLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    autoSubmit(val) {
-      if (!this.values) {
-        this.$message.warning("请先用扫码枪扫描标签");
-        return;
-      }
-      if (!this.timeId) {
-        this.timeId = setTimeout(() => {
-          this.inputLoading = true;
-          this.axios
-            .post(
-              "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
-              this.values,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.$message.success(res.message);
-                this.searchData();
-              } else {
-                this.$message.error(res.message);
-              }
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-            })
-            .catch((e) => {
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-            })
-            .catch((e) => {
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-              this.$message.error(e.message);
-            });
-          this.timeId = null;
-        }, 1000);
-      }
-    },
-    autoScale(val) {
-      if (!this.scale) {
-        this.$message.warning("请先用扫码枪扫描二维码");
-        return;
-      }
-      if (!this.scaleId) {
-        this.scaleId = setTimeout(() => {
-          this.autoCollData.eqpTypeCode = "";
-          this.autoEqpType = this.allFacility;
-          this.autoCollData.eqpNo = this.scale;
-          this.scaleId = null;
-        }, 1000);
-      }
-    },
-    //扫码接样
-    changeval() {
-      if (!this.values) {
-        this.$message.warning("请先用扫码枪扫描标签");
-        return;
-      }
-      this.inputLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
-          this.values,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.values = "";
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.inputLoading = false;
-        })
-        .catch((e) => {
-          this.inputLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    stopall() {
-      if (this.interval != null) {
-        clearInterval(this.interval);
-      }
-      this.autoColletLoading = false;
-    },
-    changeIsOneHint(val) {
-      this.isOneHint = val;
-    },
-    realTimeCollect(val) {
-      if (val && this.tableData3.length <= 0) {
-        this.$message.warning("测试分析项目不能为空");
-        this.stopall();
-        return;
-      }
-      if (val && this.autoCollData.eqpNo && this.autoCollData.eqpTypeCode) {
-      } else {
-        this.$message.warning("请选择【设备类型】【设备名称】,不能为空");
-        this.stopall();
-        // this.checked  = false
-        return;
-      }
-    },
-    startTime(tableLength, openOff, times) {
-      let that = this;
-      var timesRun = 0;
-      that.interval = setInterval(function () {
-        timesRun += 1;
-        if (!openOff) {
-          clearInterval(that.interval);
-        }
-        if (!tableLength) {
-          clearInterval(that.interval);
-        }
-        if (timesRun > tableLength) {
-          clearInterval(that.interval);
-        }
-        that.autoCollet();
-      }, times);
-    },
-    getCompany() {
-      this.axios
-        .get("pass/baseManagement/v1/limslrcemps/" + userId)
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.userdeptNo = res.data ? res.data.deptNo : "";
-            this.usersectionNo = res.data ? res.data.sectionNo : "";
-            this.userjobs = res.data ? res.data.postNo : "";
-          } else {
-            this.$message.error(e.message);
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    closebatch() {
-      this.batchShow = false;
-      this.batchLoading = false;
-      this.recallShow = false;
-      this.cols = [];
-      this.tableData = [];
-      this.testTable = [];
-    },
-    closeBack() {
-      this.dialog.show = false;
-      this.addByShow = false;
-      this.dialog.form.data.sampleNo = "";
-      this.dialog.form.tableData = [];
-    },
-    inputData(val, index, prop) {
-      let that = this;
-      // 修改第一行数据,联动修改同列其他行数据
-      if (index == 0 && that.tableData.length > 1) {
-        for (let i = 1; i < that.tableData.length; i++) {
-          that.tableData[i][prop] = val;
-        }
-      }
-    },
-    //保存
-    saveData() {
-      if (this.tableData3.length < 1) {
-        this.$message.warning("表格中无数据,无法进行保存");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "已提交的数据不能进行保存,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      if (this.analyzeVal.validFlag == "0") {
-        this.$message.warning("停用的数据不能进行保存");
-        return;
-      }
-      this.saveLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/testAnalysisUpdateLimsSampleTestDList",
-          this.tableData3,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-            // this.searchData()
-          } else {
-            this.$message.error(res.message);
-          }
-          this.saveLoading = false;
-        })
-        .catch((err) => {
-          this.saveLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    //查询操作
-    searchData() {
-      this.pageIndex4 = 1;
-      this.pageSize4 = 500;
-      this.pageIndex42 = 1;
-      this.pageSize42 = 500;
-      this.tableData3 = [];
-      this.Data4(); // 未审核数据
-      this.Data5(); // 已审核数据
-    },
-    // 未审核
-    Data4() {
-      let startTime = "";
-      let endTime = "";
-      if (!this.searchForm.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime = this.searchForm.times[0];
-        endTime = this.searchForm.times[1];
-      }
-      let obj = {
-        object: {
-          matName: this.searchForm.matName,
-          sampleTypeCode: this.searchForm.sampleTypeCode,
-        },
-        mode: "1", // mode 1 表示查询已提交、或者无效数据
-        list: "3",
-        list2: [484003], // 测试分析模块
-        pageSize: this.pageSize4,
-        pageIndex: this.pageIndex4,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading4 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData4 = res.data.list;
-            this.total4 = res.data.total;
-            this.tableData4.forEach((item) => {
-              item.state =
-                item.validFlag == 0
-                  ? "无效"
-                  : item.validFlag == 1
-                    ? item.stateFlag === "3"
-                      ? "待审核"
-                      : "未知"
-                    : "无效";
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading4 = false;
-        })
-        .catch((err) => {
-          this.tableLoading4 = false;
-          this.$message.error(err.message);
-        });
-    },
-    dialogDeleteData(row, index) {
-      row.glMatName = "";
-      row.glSampleNo = "";
-      row.glCount = 1;
-      this.dialog.form.tableData.splice(index, 1);
-      this.glDialog.totalPage = this.glDialog.totalPage - 1;
-    },
-    Data5() {
-      let startTime = "";
-      let endTime = "";
-      if (!this.searchForm.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime = this.searchForm.times[0];
-        endTime = this.searchForm.times[1];
-      }
-      let obj = {
-        object: {
-          matName: this.searchForm.matName,
-          sampleTypeCode: this.searchForm.sampleTypeCode,
-        },
-        list: [4], // 查询已审
-        list2: [484003], // 测试分析模块
-        pageSize: this.pageSize42,
-        pageIndex: this.pageIndex42,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading42 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData42 = res.data.list;
-            this.total42 = res.data.total;
-            this.tableData42.forEach((item) => {
-              item.state =
-                item.validFlag == 0
-                  ? "无效"
-                  : item.validFlag == 1
-                    ? item.stateFlag === "4"
-                      ? "已审核"
-                      : "未知"
-                    : "无效";
-            });
-            this.tableLoading42 = false;
-          } else {
-            this.$message.error(res.message);
-            this.tableLoading42 = false;
-          }
-        })
-        .catch((err) => {
-          this.tableLoading42 = false;
-          this.$message.error(err.message);
-        });
-    },
-    searchResultD(row) {
-      //保存点击的样品信息数据,保存、提交操作时刷新
-      this.tableLoading3 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampleresultds/queryLimsSampleResultDList?srId=" +
-          row.SR_ID
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData3 = res.data;
-            this.tableData3.forEach((item) => {
-              item.isReportName =
-                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
-              item.isAlarmName =
-                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading3 = false;
-        })
-        .catch((err) => {
-          this.tableLoading3 = false;
-          this.$message.error(err.message);
-        });
-    },
-    //点击测试项目,查询分析项目
-    searchAnalyze(row, notColl) {
-      //保存点击的样品信息数据,保存、提交操作时刷新
-      this.saveAnaly = {};
-      this.analyzeVal = row;
-      this.tableLoading3 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList?stId=" +
-          this.analyzeVal.id
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData3 = res.data;
-            this.tableData3.forEach((item) => {
-              item.isReportName =
-                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
-              item.isAlarmName =
-                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading3 = false;
-        })
-        .catch((err) => {
-          this.tableLoading3 = false;
-          this.$message.error(err.message);
-        });
-    },
-    showHistory(row) {
-      if (!row) {
-        return this.$message.warning("查询历史记录失败,参数错误!");
-      }
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssamplehistorys/queryHistoryTest",
-          row,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            //打开窗口
-            this.historyShowFlag = !this.historyShowFlag;
-            this.Params = Object.assign([{}], res.data);
-          } else {
-            this.$message.warning("查询历史记录失败!");
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    //表格数据右移
-    rightData2(row) {
-      //新增的数据清空id
-      row.cretNoD = "";
-      this.table.addTest.push(row);
-    },
-    showCell(row) {
-      this.tabClickIndex = row.index;
-    },
-    saveCell(row) {
-      this.tabClickIndex = null;
-    },
-    tableRowName({ row, rowIndex }) {
-      row.index = rowIndex;
-      if (row.state === "无效") {
-        return "error-row";
-      } else {
-        return "error-green";
-      }
-    },
-    handleSizeChangeMain(pageSize) {
-      this.pageIndex4 = 1;
-      this.pageSize4 = pageSize;
-      this.Data4();
-    },
-    handleSizeChangeDep(pageSize) {
-      this.pageIndex42 = 1;
-      this.pageSize42 = pageSize;
-      this.Data5();
-    },
-    handleSizeChange4(pageSize) {
-      this.pageIndex4 = 1;
-      this.pageSize4 = pageSize;
-      this.Data4();
-    },
-    handleSizeChange5(pageSize) {
-      this.pageIndex42 = 1;
-      this.pageSize42 = pageSize;
-      this.Data5();
-    },
-    glDialogSizeTest(size) {
-      this.glDialog.pageSize = size;
-    },
-    glDialogPageChangeTest(index) {
-      this.glDialog.pageNum = index;
-    },
-    SizeTest(size) {
-      this.pageTests.pageSize = size;
-      this.getDataListTest2();
-    },
-    pageChangeTest(index) {
-      this.pageTests.pageNum = index;
-      this.getDataListTest2();
-    },
-    tableRowClassName0({ row, rowIndex }) {
-      if (row.state === "无效") {
-        return "error-row";
-      } else if (row.state === "未知") {
-        return "error-green";
-      }
-      return "";
-    },
-    cellClassName({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 2) {
-        if (row.state === "已审核") {
-          return "error-green";
-        }
-        return "";
-      }
-    },
-    tableRowClassName({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 2) {
-        if (row.yearMonth === "1") {
-          return "error-row";
-        }
-      }
-      if (row.STATE === "无效") {
-        return "error-row";
-      } else if (row.STATE === "未知") {
-        return "error-green";
-      }
-      return "";
-    },
-    tableRowBatch({ row, column, rowIndex, columnIndex }) { },
-    fxTableRowClassName({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 3) {
-        //最大符号与最小符号必须同时存在,最大值与最小值必须有一项要有值,否则直接return不进入判断
-        if (row.maxSign && row.minSign && (row.maxValue || row.minValue)) {
-          if (row.maxSign == "<=" && row.minSign == ">=") {
-            if (
-              Number(row.anlyValue) <=
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-          if (row.maxSign == "<=" && row.minSign == ">") {
-            if (
-              Number(row.anlyValue) <=
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-          if (row.maxSign == "<" && row.minSign == ">=") {
-            if (
-              Number(row.anlyValue) <
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-          if (row.maxSign == "<" && row.minSign == ">") {
-            if (
-              Number(row.anlyValue) <
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-        }
-        return "";
-      } else if (column.property === "reviseValue") {
-        return "error-blue";
-      }
-    },
-    tableHeaderCellStyle() {
-      return "background-color: rgb(249,249,249) !important;color: rgb(73, 72, 72);border-bottom: 1px solid #DCDFE7;border-top:3px solid #3ac1ea;";
-    },
-    selectStyle({ row, column, rowIndex, columnIndex }) {
-      if (row.warning) {
-        return "row-green";
-      }
-    },
-  },
-};
-</script>
-<style scoped></style>
-<style lang="less">
-.testManagement {
-  .buttons {
-    .el-button {
-      margin: 2px 3px 0 0;
-    }
-  }
-
-  .textOverflow {
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
-  }
-
-  .testManagement_left {
-    .el-table .el-table__body tr.error-row {
-      background-color: rgb(253, 89, 89) !important;
-    }
-
-    .el-table .el-table__body tr.error-row>td {
-      background-color: rgb(253, 89, 89) !important;
-    }
-
-    .el-table .el-table__body tr.error-green {
-      background-color: rgb(202, 249, 130) !important;
-    }
-
-    .el-table .el-table__body tr.error-green>td {
-      background-color: rgb(202, 249, 130) !important;
-    }
-  }
-
-  .testManagement-pllr {
-    .el-table .el-table__body tr.current-row>td {
-      //background-color: rgba(26, 75, 236, 0.2) !important;
-      background-color: rgba(64, 158, 255, 0.3) !important;
-    }
-  }
-}
-</style>
+<!-- 二级审核 -->
+<template>
+  <div class="examination testManagement">
+    <div class="common-head-search">
+      <el-form :inline="true" @submit.native.prevent ref="searchForm" :model="searchForm"
+        class="demo-form-inline sui-search-form">
+        <el-form-item label="样品名称">
+          <el-input v-model="searchForm.matName" @keyup.enter.native="searchData()" size="small" placeholder="请输入查询内容"
+            style="width: 150px"></el-input>
+        </el-form-item>
+        <el-form-item label="样品类型">
+          <el-select v-model="searchForm.sampleTypeCode" clearable filterable collapse-tags size="small"
+            style="width: 150px" placeholder="请选择查询内容">
+            <el-option v-for="item in sampleTypeNameType" :key="item.baseName" :label="item.baseName"
+              :value="item.baseCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="创建时间">
+          <el-date-picker v-model="searchForm.times[0]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="date"
+            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="searchForm.times[1]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="date"
+            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
+          </el-date-picker>
+          <!-- <el-date-picker
+            v-model="searchForm.times"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            style="width: 350px"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            :default-time="['00:00:00', '23:59:59']"
+          >
+          </el-date-picker> -->
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
+          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="resetData">重置</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-row>
+      <el-col :span="10">
+        <el-tabs type="border-card" v-model="activeName" class="testManagement_left">
+          <el-tab-pane label="未审核数据" name="first">
+            <span slot="label">待审核数据<el-badge :max="10" :hidden="total_main == 0" style="margin-top: -18px"
+                :value="total_main"></el-badge></span>
+            <div class="common-title-div" style="height: auto">
+              <div class="common-title-name" style="margin-right: 10px">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                待审核
+              </div>
+              <div>
+                <el-form :inline="true" @submit.native.prevent>
+                  <el-form-item style="margin-bottom: 0">
+                    <el-button icon="el-icon-check" type="goon" :loading="sampleLoading" @click="audit"
+                      v-privilege="activeMenu + 'audit'" size="mini">审批通过</el-button>
+                    <el-button icon="el-icon-check" type="goon" :loading="batchDataLoading" @click="showBatch"
+                      v-privilege="activeMenu + 'batch'" size="mini">批量审核</el-button>
+                    <el-button icon="el-icon-check" type="danger" :loading="backAuditLoading" @click="showBackData"
+                      v-privilege="activeMenu + 'back'" size="mini">审批不通过</el-button>
+                  </el-form-item>
+                </el-form>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="table1" :height="theight1" v-loading="tableLoading4" :data="tableData4"
+                :cell-class-name="tableRowClassName" :summary-method="getSummaries2" show-summary
+                @row-click="searchAnalyze" border @selection-change="searchFollow"
+                :header-cell-style="tableHeaderCellStyle" highlight-current-row :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag" :exchangeFilterMap="{
+                  lock_flag: { '0': '未锁定', '1': '已锁定' },
+                }" style="width: 100%">
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="state"
+                  label="状态"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
+                  label="委托编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
+                  label="中心编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showHistory(scope.row)" style="cursor: pointer"
+                      :class="{ 'color-blue': scope.row.sampleNo }">
+                      {{ scope.row.sampleNo }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
+                  label="物料名称"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
+                  label="测试项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="entrTypeName"
+                  label="委托类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="sampleTypeName"
+                  label="样品类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="entrMemo"
+                  label="委托备注"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testMemo"
+                  label="检测标准"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="nantNo"
+                  label="测试设备"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="checkMan"
+                  label="提交人"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="checkTime"
+                  label="提交时间"></el-table-column>
+              </el-table>
+            </div>
+            <div class="common-foot-style">
+              <el-pagination @size-change="handleSizeChangeMain" @current-change="Data4()"
+                :current-page.sync="pageIndex4" :page-sizes="[50, 100, 200, 500, 800, 1000]" :page-size="pageSize4"
+                layout="total, sizes, prev, pager, next, jumper" :total="total4" background></el-pagination>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="已审核数据" name="second">
+            <div class="common-title-div" style="height: auto">
+              <div class="common-title-name" style="margin-right: 10px">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                已审核
+              </div>
+              <div class="buttons">
+                <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
+                  v-privilege="activeMenu + 'withdraw'" @click="showBackAuditData">撤回已审核</el-button>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table v-loading="tableLoading42" ref="table2" :row-class-name="tableRowClassName0"
+                :cell-class-name="cellClassName" @selection-change="SelectionValues"
+                @current-change="handleCurrentChange" border @row-click="searchAnalyze" :height="theight2"
+                highlight-current-row :data="tableData42" :icore-filter-flag="icoreFilterFlag"
+                :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries2" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="state"
+                  label="状态"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
+                  label="委托编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
+                  label="中心编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showHistory(scope.row)" style="cursor: pointer"
+                      :class="{ 'color-blue': scope.row.sampleNo }">
+                      {{ scope.row.sampleNo }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
+                  label="物料名称"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="170" align="center" prop="testItemName"
+                  label="测试项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="entrTypeName"
+                  label="委托类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeCode"
+                  label="样品类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
+                  label="测试部门"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
+                  label="检测标准"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="nantNo"
+                  label="测试设备"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
+                  label="委托备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="checkMan" label="提交人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="checkTime" label="提交时间"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="auditMan" label="审核人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="auditTime" label="审核时间"
+                  align="center"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChangeDep" @current-change="Data5()"
+                  :current-page.sync="pageIndex42" :page-sizes="[50, 100, 200, 500, 800, 1000]" :page-size="pageSize42"
+                  layout="total, sizes, prev, pager, next, jumper" :total="total42" background></el-pagination>
+              </div>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+      <el-col :span="14">
+        <el-tabs type="border-card" v-model="activeName2">
+          <el-tab-pane :label="analyzeVal.matName
+              ? '【 ' +
+              analyzeVal.matName +
+              ' 】 - 【 ' +
+              analyzeVal.testItemName +
+              ' 】'
+              : '未选择数据'
+            " name="first2">
+            <div style="height: auto; padding-top: 1px" class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
+                分析项目
+              </div>
+              <div class="buttons"></div>
+              <div></div>
+            </div>
+            <div class="common-table-div">
+              <el-table v-loading="tableLoading3" border :height="theight3" @selection-change="selectMultiples"
+                highlight-current-row @row-click="clickRow" :data="tableData3" :icore-filter-flag="icoreFilterFlag"
+                :header-cell-style="tableHeaderCellStyle" @row-dblclick="showCell"
+                :cell-class-name="fxTableRowClassName" :summary-method="getSummaries2" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" fixed="left" align="center"
+                  prop="anlyItemName" label="分析项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="anlyValue"
+                  label="报出值">
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseValue"
+                  label="录入值">
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="dasValue"
+                  label="采集值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="cptValue"
+                  label="计算值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="备注">
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="文件预览">
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="unitName"
+                  label="单位"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="formulaName"
+                  label="计算公式"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseRuleName"
+                  label="修约规则"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isReportName"
+                  label="是否报出"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="outputTypeName"
+                  label="输出类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minSign"
+                  label="最小符号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minValue"
+                  label="最小值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxSign"
+                  label="最大符号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxValue"
+                  label="最大值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxLimit"
+                  label="方法上限值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minLimit"
+                  label="方法下限值"></el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+    <!-- 批量审核 -->
+    <el-dialog class="testManagement-pllr" :close-on-click-modal="false" @close="closebatch" width="100%"
+      :visible.sync="batchShow" top="0">
+      <div slot="title" class="titleBox">
+        <div>
+          <i class="el-icon-document" style="font-size: 20px"></i>
+          <span style="margin-left: 10px; font-size: 18px">批量审核</span>
+        </div>
+      </div>
+      <el-table ref="tablePllr" border :height="theight4" highlight-current-row :data="tableData"
+        :header-cell-style="tableHeaderCellStyle" :cell-class-name="tableRowBatch" :summary-method="getSummaries2"
+        show-summary>
+        <el-table-column type="index" label="NO" fixed="left" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.$index }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column width="50px" fixed="left" label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button v-if="scope.$index > 0" type="text" style="padding: 0"
+              @click="delData(scope.row, scope.$index)">删除</el-button>
+          </template>
+        </el-table-column>
+        <template v-for="col in cols">
+          <el-table-column :prop="col.prop" :fixed="col.prop == 'sampleNo' ||
+            col.prop == 'matName' ||
+            col.prop == 'carNo'
+            " show-overflow-tooltip min-width="90" align="center" :key="col.prop" :label="col.label">
+            <template slot-scope="scope">
+              <span v-if="col.prop == 'matName'">{{
+                tableData[scope.$index].matName
+              }}</span>
+              <span v-else-if="col.prop == 'sampleNo'">{{
+                tableData[scope.$index].sampleNo
+              }}</span>
+              <span v-else-if="col.prop == 'carNo'">{{
+                tableData[scope.$index].carNo
+              }}</span>
+              <span v-else-if="scope.$index > 0">{{
+                scope.row[col.prop]
+              }}</span>
+            </template>
+          </el-table-column>
+        </template>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading"
+          @click="batchAudit()">审批通过</el-button>
+        <el-button size="mini" type="danger" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
+      </span>
+    </el-dialog>
+    <!-- 撤回审核 -->
+    <el-dialog :close-on-click-modal="false" width="80%" :visible.sync="dialog.show" @close="closeBack">
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left: 10px; font-size: 18px">审批不通过</span>
+      </div>
+      <div style="padding: 10px 0">
+        <el-form ref="dialog_form" :model="dialog.form.data" size="mini" label-width="100px">
+          <el-row>
+            <el-col :span="24">
+              <el-table v-loading="glDialogLoading" ref="dataTable" border :height="heightTop" highlight-current-row
+                :data="dialog.form.tableData" :header-cell-style="tableHeaderCellStyle"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column type="index" label="NO" align="center"></el-table-column>
+                <el-table-column width="100px" show-overflow-tooltip label="操作" align="center">
+                  <template slot-scope="scope">
+                    <el-button type="text" style="padding: 0"
+                      @click="dialogDeleteData(scope.row, scope.$index)">删除</el-button>
+                  </template>
+                </el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="sampleNo" label="中心编号"
+                  align="center"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="matName" label="物料名称"
+                  align="center"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
+                  label="测试项目" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
+                  label="退回原因" align="center">
+                  <template slot-scope="{ row }">
+                    <el-input v-model="row.logMemo" @blur="saveCell" @keyup.enter.native="saveCell" size="small"
+                      style="width: 100%"></el-input>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <div style="margin-top: 20px; margin-left: 10px">
+                <el-pagination style="float: right" @size-change="glDialogSizeTest"
+                  @current-change="glDialogPageChangeTest" :current-page="glDialog.pageNum"
+                  :page-sizes="[10, 20, 50, 100, 200]" :page-size="glDialog.pageSize"
+                  layout="total, sizes, prev, pager, next" :total="glDialog.totalPage" background>
+                </el-pagination>
+              </div>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="danger" size="mini" :loading="backAuditLoading"
+          @click="tableType === 1 ? back() : backAudit()">审批不通过</el-button>
+        <el-button type="goon" size="mini" @click="closeBack">取 消</el-button>
+      </span>
+    </el-dialog>
+    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
+  </div>
+</template>
+<script>
+import { getCookie, formatDate } from "@/utils/util.js";
+import { cookieUserId, cookieUserName } from "@/config/config.js";
+import historyAlert from "../../testAnalysis/components/testManagement/historyAlert";
+let userName = getCookie(cookieUserName);
+let userId = getCookie(cookieUserId);
+export default {
+  components: { historyAlert },
+  data() {
+    return {
+      fromDaiban: null,
+      searchForm: {
+        times: "",
+        matName: "",
+        sampleTypeCode: "",
+        eqpNo: "",
+        type:''
+      },
+      autoCollData: {
+        eqpTypeCode: "",
+        eqpNo: "",
+      },
+      historyShowFlag: false,
+      gangwei: "",
+      showFlag: false,
+      resetShowFlag: false,
+      deleteFlag: false,
+      dataCollectionFlag: false,
+      Params: {},
+      Params2: [],
+      matNameType: [],
+      autoColl: {
+        eqpTypeCode: [
+          { required: true, message: "不能为空", trigger: "change" },
+        ],
+        eqpNo: [{ required: true, message: "不能为空", trigger: "change" }],
+      },
+      table: {
+        listTests: [],
+        collectionData: [],
+        selectCollectionData: [],
+        sampleData: [],
+      },
+      activeName: "first",
+      activeName2: "first2",
+      backLoading: false,
+      tableType: 0,
+      withdrawLoading: false,
+      batchDataLoading: false,
+      buttonLoading1: false,
+      buttonLoading2: false,
+      batchLoading: false,
+      addByLoading: false,
+      addKbLoading: false,
+      addGlyLoading: false,
+      testTable: [],
+      cols: [],
+      tableData: [],
+      resultData: [],
+      collectionLoading: false,
+      autoColletLoading: false,
+      clickColl: false,
+      batchShow: false,
+      eqpType: [],
+      autoEqpType: [],
+      facilityType: [],
+      selectVal: [], // 已审 多选
+      selectVal4: [],
+      selectVal42: [], //
+      selectMul: [],
+      companyNameType: [],
+      userdeptNo: "",
+      usersectionNo: "",
+      userjobs: "",
+      selectRecall: [],
+      testShow: false,
+      checked: true,
+      interval: null,
+      saveValue: "",
+      saveMainData: [],
+      cllotData: [],
+      addRetestLoading: false,
+      dataLoading: false,
+      glDialogLoading: false,
+      sampleLoading: false,
+      backAuditLoading: false,
+      saveLoading: false,
+      errorLoading: false,
+      submitLoading: false,
+      isAutoColl: false,
+      sampleTypeNameType: [],
+      analyzeVal: {},
+      analyzeValues: {},
+      formulacomLoading: false,
+      isOneHint: false,
+      theight1: 0,
+      theight2: 0,
+      theight3: 0,
+      theight4: 0,
+      testItemName2: "",
+      pageTests: {
+        pageSize: 50,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      glDialog: {
+        pageSize: 50,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      equipment: {
+        nantNo: [],
+        itemTemp: "",
+      },
+      addByShow: false,
+      deleteLoading: false,
+      collectionShow: false,
+      recallShow: false,
+      addCollectionLoading: false,
+      tableLoading1: false,
+      tableLoading2: false,
+      tableLoading3: false,
+      tableLoading4: false,
+      tableLoading42: false,
+      tableLoading5: false,
+      selectLine: {},
+      tabClickIndex: null,
+      func: "",
+      originalData: [],
+      tableData1: [],
+      tableData2: [],
+      tableData3: [],
+      tableData4: [],
+      tableData42: [],
+      tableData5: [],
+      pageIndex: 1,
+      pageSize: 100,
+      total_main: 0,
+      pageIndex_dep: 1,
+      pageSize_dep: 100,
+      total_dep: 0,
+      pageIndex4: 1,
+      pageSize4: 100,
+      pageIndex42: 1,
+      pageSize42: 100,
+      total4: 0,
+      total42: 0,
+      scale: "",
+      allFacility: [],
+      scaleId: null,
+      inputLoading: false,
+      values: "",
+      saveAnaly: {},
+      timeId: null,
+      icoreFilterFlag: true,
+      heightTop: 0,
+      activeMenu: "",
+      dialog: {
+        show: false,
+        form: {
+          data: {
+            sampleNo: "",
+            matName: "",
+          },
+          tableData: [],
+          rules: {
+            sampleNo: [
+              { required: true, message: "该项不能为空", trigger: "blur" },
+            ],
+            matName: [
+              { require: true, message: "物料名称不能为空!", trigger: "blur" },
+            ],
+          },
+        },
+      },
+      dialog2: {
+        show: false,
+        form: {
+          data: {
+            sampleNum: "6", // 标准点数量
+            yuansu: "",
+          },
+          rules: {
+            sampleNum: [
+              { required: true, message: "该项不能为空", trigger: "blur" },
+            ],
+          },
+        },
+      },
+    };
+  },
+  created() {
+    this.theight1 =
+      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
+    this.theight2 =
+      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
+    this.theight3 =
+      window.innerHeight - 230 < 249 ? 249 : window.innerHeight - 230;
+    this.theight4 =
+      window.innerHeight - 140 < 249 ? 249 : window.innerHeight - 140;
+    this.heightTop =
+      window.innerHeight / 2 - 130 < 249 ? 249 : window.innerHeight / 2 - 130;
+    let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
+
+    this.fromDaiban = JSON.parse(sessionStorage.getItem("fromDaiban"));
+    sessionStorage.removeItem("fromDaiban");
+
+    if (this.fromDaiban) {
+      this.searchForm.times = [
+        this.fromDaiban.startTime,
+        this.fromDaiban.endTime,
+      ];
+      this.activeName = this.fromDaiban.status == 1 ? "second" : "first";
+    } else {
+      this.searchForm.times = [
+        this.getYNM(new Date(timestamp)) + " 00:00:00",
+        this.getYNM(new Date()) + " 23:59:59",
+      ];
+    }
+
+    this.activeMenu = window.top.localStorage.getItem("activeMenu");
+    this.axios
+      .post(
+        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
+        {},
+        { individualType: "json" }
+      )
+      .then((response) => {
+        this.companyNameType = response.data;
+        this.getCompany();
+      });
+  },
+  watch: {
+  "$route.query.type"(newType) {
+    this.searchForm.type = newType || '';
+  }
+},
+  mounted() {
+    console.log('2mounted.....',this.$route.query.type)
+    this.searchForm.type=this.$route.query.type||'';
+    console.log('1mounted.....',this.searchForm.type)
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        // 
+        { validFlag: 1, baseCode: 4801},
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.sampleTypeNameType = res.data;
+      });
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        { validFlag: 1, baseCode: 4808},
+        { individualType: "json"}
+      )
+      .then((res) => {
+        this.facilityType = res.data;
+      });
+    this.axios
+      .get(
+        "pass/baseManagement/v1/limslrceqpinfos/like/" +
+        "?pageNum=1" +
+        "&pageSize=9999" +
+        "&eqpTypeName=" +
+        "" +
+        "&stateFlag=" +
+        ""
+        // "&sectionName="+this.searchForm.type
+      )
+      .then((res) => {
+        this.allFacility = res.data.list;
+      });
+    // 设备信息
+    this.axios
+      .post("pass/baseManagement/v1/limslrceqpinfos/queryAll", {
+        individualType: "json",
+      })
+      .then((res) => {
+        this.matNameType = res.data;
+      });
+    this.searchData();
+  },
+  methods: {
+    getYNM(date) {
+      let year = date.getFullYear().toString();
+      let month = date.getMonth() + 1;
+      let day = date.getDate();
+      month = month < 10 ? "0" + month : month;
+      day = day < 10 ? "0" + day : day;
+      return `${year}-${month}-${day}`;
+    },
+    refresh() {
+      this.searchAnalyze(this.analyzeVal, true);
+    },
+    refresh2() {
+      this.searchData();
+    },
+    refresh3() {
+      // console.log('批量采集执行完毕');
+    },
+    getSummaries2(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "总计";
+        }
+        if (index === 1) {
+          sums[index] = data.length;
+        } else if (column.property === "quantity") {
+          let val = 0;
+          for (let i in data) {
+            val = this.floatComputed(
+              data[i].quantity ? data[i].quantity : 0,
+              val,
+              "+"
+            );
+          }
+          sums[index] = val;
+        }
+      });
+      return sums;
+    },
+    recall() {
+      if (this.selectRecall.length < 1) {
+        this.$message.warning("请勾选需要撤回的数据!");
+        return;
+      }
+      let tempIds = this.selectRecall.map((item) => item.stIdD);
+      this.deleteLoading = true;
+      let obj = {
+        id: tempIds,
+        validFlag: "1",
+      };
+      this.axios
+        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.deleteLoading = false;
+          this.recallShow = !this.recallShow;
+        })
+        .catch((e) => {
+          this.deleteLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    addAnaly() {
+      if (JSON.stringify(this.analyzeVal) == "{}") {
+        this.$message.warning("请选择一条需要新增的主数据!");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "选中的已接收数据为已提交的数据,不能进行新增!,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      this.showFlag = !this.showFlag;
+      this.Params = this.analyzeVal;
+    },
+    clickRow(val) {
+      this.saveAnaly = val;
+    },
+    //删除分析项目
+    deleteData() {
+      if (this.selectMul.length < 1) {
+        this.$message.warning("请勾选需要删除的数据!");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "选中的已接收数据为已提交的数据,不能进行删除!,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      let tempIds = this.selectMul.map((item) => item.stIdD);
+      this.deleteLoading = true;
+      let obj = {
+        id: tempIds,
+        validFlag: "0",
+      };
+      this.axios
+        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.deleteLoading = false;
+        })
+        .catch((e) => {
+          this.deleteLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    selectAuto(val) {
+      this.autoEqpType = [];
+      this.scale = "";
+      this.autoCollData.eqpNo = "";
+      if (!val) {
+        return;
+      }
+      this.axios
+        .post(
+          "pass/baseManagement/v1/limslrceqpinfos/queryeqpName",
+          { eqpTypeCode: val },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.autoEqpType = res.data;
+        });
+    },
+    resetData() {
+      this.searchForm.matName = "";
+      this.searchForm.sampleTypeCode = "";
+      this.searchForm.eqpNo = "";
+      let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
+
+      this.searchForm.times = [
+        this.getYNM(new Date(timestamp)) + " 00:00:00",
+        this.getYNM(new Date()) + " 23:59:59",
+      ];
+      this.searchData();
+    },
+    SelectionValues(val) {
+      this.selectVal = val;
+    },
+    // 已提交、无效数据,多选
+    SelectionValues4(val) {
+      this.selectVal4 = val;
+    },
+    SelectionValues42(val) {
+      this.selectVal42 = val;
+    },
+    selectMultiples(val) {
+      this.selectMul = val;
+      this.selectRecall = val;
+    },
+    //点击选中样品信息数据
+    searchFollow(val) {
+      this.saveMainData = val;
+    },
+    //获取选中已接任务数据
+    handleCurrentChange(val) {
+      this.selectLine = val;
+    },
+    //撤回已提交数据
+    backWithdraw() {
+      if (this.selectVal4.length < 1) {
+        this.$message.warning("请先勾选您要撤回的数据");
+        return;
+      }
+      for (let item of this.selectVal4) {
+        if (item.validFlag == "0") {
+          this.$message.warning("请选择有效数据");
+          return;
+        }
+      }
+      this.withdrawLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/withdraw",
+          this.selectVal4,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.withdrawLoading = false;
+        })
+        .catch((err) => {
+          this.withdrawLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    //打开批量审核窗口
+    showBatch() {
+      if (this.saveMainData.length < 1) {
+        this.$message.warning("请勾选测试项目的数据");
+        return;
+      }
+      let temp = [];
+      this.saveMainData.map((item) => {
+        temp.push(item.stId);
+      });
+      this.batchDataLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limssampletestds/transData", temp, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            if (res.data.badyData.length > 0) {
+              // 增加第一行用于批量修改
+              let obj = Object.assign({}, res.data.badyData[0]);
+              for (let key in obj) {
+                obj[key] = "";
+              }
+              let arr = res.data.badyData;
+              arr.splice(0, 0, obj);
+              this.cols = res.data.head;
+              this.tableData = arr;
+              this.testTable = res.data.headBabyData;
+            }
+            this.batchShow = true;
+            this.$nextTick(() => {
+              this.$refs["tablePllr"].bodyWrapper.scrollTop = 0;
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchDataLoading = false;
+        })
+        .catch((e) => {
+          this.batchDataLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    // 批量审核删除数据(前端删除)
+    delData(row, index) {
+      let that = this;
+      // console.log(row, index)
+      that.tableData.splice(index, 1);
+      that.testTable.splice(index - 1, 1);
+      let srow = that.saveMainData[index - 1];
+      that.saveMainData.splice(index - 1, 1);
+      that.$refs.table2.toggleRowSelection(srow, false);
+    },
+    // 批量审核
+    batchAudit() {
+      let tempData = [];
+      this.saveMainData.map((item) => {
+        tempData.push(item.stId);
+      });
+      this.batchLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limssampletests/firstAudit", tempData, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success("批量审核成功!");
+            this.batchShow = false;
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchLoading = false;
+        })
+        .catch((err) => {
+          this.batchLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    //审核
+    audit() {
+      if (this.saveMainData.length < 1) {
+        this.$message.warning("请先勾选您要审核的数据!");
+        return;
+      }
+      this.sampleLoading = true;
+      let ids = [];
+      this.saveMainData.forEach((item) => {
+        ids.push(item.id);
+      });
+      this.axios
+        .post("pass/testManagement/v1/limssampletests/firstAudit", ids, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.sampleLoading = false;
+        })
+        .catch((err) => {
+          this.sampleLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 显示撤回已审核操作的数据
+    showBackAuditData() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请先勾选您要退回的数据!");
+        return;
+      }
+      this.backLoading = true;
+      this.selectVal.forEach((item) => {
+        item.logMemo = "";
+        this.dialog.form.tableData.push(item);
+      });
+      this.dialog.show = true;
+      this.backLoading = false;
+      this.tableType = 1;
+    },
+    // 显示审批不通过的数据
+    showBackData() {
+      if (this.saveMainData.length < 1) {
+        this.$message.warning("请先勾选您要退回的数据!");
+        return;
+      }
+      this.backAuditLoading = true;
+
+      this.saveMainData.forEach((item) => {
+        item.logMemo = "";
+        this.dialog.form.tableData.push(item);
+      });
+      this.dialog.show = true;
+      this.backAuditLoading = false;
+      this.tableType = 0;
+    },
+    backAudit() {
+      let bool = false;
+      this.dialog.form.tableData.forEach((ss) => {
+        if (ss.logMemo == "" || ss.logMemo == null) {
+          bool = true;
+        }
+      });
+      if (bool) {
+        this.$message.warning("请输入退回原因!");
+        return;
+      }
+      this.backAuditLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/backAuditData",
+          this.dialog.form.tableData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.closeBack();
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.backAuditLoading = false;
+        })
+        .catch((err) => {
+          this.backAuditLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 撤回已审核
+    back() {
+      if (this.dialog.form.tableData.length < 1) {
+        this.$message.warning("请先勾选您要退回的数据!");
+        return;
+      }
+      let bool = false;
+      this.dialog.form.tableData.forEach((ss) => {
+        if (ss.logMemo == "" || ss.logMemo == null) {
+          bool = true;
+        }
+      });
+      if (bool) {
+        this.$message.warning("请输入退回原因!");
+        return;
+      }
+      this.backLoading = true;
+      this.backAuditLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/firstBack",
+          this.dialog.form.tableData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.closeBack();
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.backLoading = false;
+          this.backAuditLoading = false;
+        })
+        .catch((err) => {
+          this.backLoading = false;
+          this.backAuditLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    autoSubmit(val) {
+      if (!this.values) {
+        this.$message.warning("请先用扫码枪扫描标签");
+        return;
+      }
+      if (!this.timeId) {
+        this.timeId = setTimeout(() => {
+          this.inputLoading = true;
+          this.axios
+            .post(
+              "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
+              this.values,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.$message.success(res.message);
+                this.searchData();
+              } else {
+                this.$message.error(res.message);
+              }
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+            })
+            .catch((e) => {
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+            })
+            .catch((e) => {
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+              this.$message.error(e.message);
+            });
+          this.timeId = null;
+        }, 1000);
+      }
+    },
+    autoScale(val) {
+      if (!this.scale) {
+        this.$message.warning("请先用扫码枪扫描二维码");
+        return;
+      }
+      if (!this.scaleId) {
+        this.scaleId = setTimeout(() => {
+          this.autoCollData.eqpTypeCode = "";
+          this.autoEqpType = this.allFacility;
+          this.autoCollData.eqpNo = this.scale;
+          this.scaleId = null;
+        }, 1000);
+      }
+    },
+    //扫码接样
+    changeval() {
+      if (!this.values) {
+        this.$message.warning("请先用扫码枪扫描标签");
+        return;
+      }
+      this.inputLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
+          this.values,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.values = "";
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.inputLoading = false;
+        })
+        .catch((e) => {
+          this.inputLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    stopall() {
+      if (this.interval != null) {
+        clearInterval(this.interval);
+      }
+      this.autoColletLoading = false;
+    },
+    changeIsOneHint(val) {
+      this.isOneHint = val;
+    },
+    realTimeCollect(val) {
+      if (val && this.tableData3.length <= 0) {
+        this.$message.warning("测试分析项目不能为空");
+        this.stopall();
+        return;
+      }
+      if (val && this.autoCollData.eqpNo && this.autoCollData.eqpTypeCode) {
+      } else {
+        this.$message.warning("请选择【设备类型】【设备名称】,不能为空");
+        this.stopall();
+        // this.checked  = false
+        return;
+      }
+    },
+    startTime(tableLength, openOff, times) {
+      let that = this;
+      var timesRun = 0;
+      that.interval = setInterval(function () {
+        timesRun += 1;
+        if (!openOff) {
+          clearInterval(that.interval);
+        }
+        if (!tableLength) {
+          clearInterval(that.interval);
+        }
+        if (timesRun > tableLength) {
+          clearInterval(that.interval);
+        }
+        that.autoCollet();
+      }, times);
+    },
+    getCompany() {
+      this.axios
+        .get("pass/baseManagement/v1/limslrcemps/" + userId)
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.userdeptNo = res.data ? res.data.deptNo : "";
+            this.usersectionNo = res.data ? res.data.sectionNo : "";
+            this.userjobs = res.data ? res.data.postNo : "";
+          } else {
+            this.$message.error(e.message);
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    closebatch() {
+      this.batchShow = false;
+      this.batchLoading = false;
+      this.recallShow = false;
+      this.cols = [];
+      this.tableData = [];
+      this.testTable = [];
+    },
+    closeBack() {
+      this.dialog.show = false;
+      this.addByShow = false;
+      this.dialog.form.data.sampleNo = "";
+      this.dialog.form.tableData = [];
+    },
+    inputData(val, index, prop) {
+      let that = this;
+      // 修改第一行数据,联动修改同列其他行数据
+      if (index == 0 && that.tableData.length > 1) {
+        for (let i = 1; i < that.tableData.length; i++) {
+          that.tableData[i][prop] = val;
+        }
+      }
+    },
+    //保存
+    saveData() {
+      if (this.tableData3.length < 1) {
+        this.$message.warning("表格中无数据,无法进行保存");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "已提交的数据不能进行保存,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      if (this.analyzeVal.validFlag == "0") {
+        this.$message.warning("停用的数据不能进行保存");
+        return;
+      }
+      this.saveLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/testAnalysisUpdateLimsSampleTestDList",
+          this.tableData3,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+            // this.searchData()
+          } else {
+            this.$message.error(res.message);
+          }
+          this.saveLoading = false;
+        })
+        .catch((err) => {
+          this.saveLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    //查询操作
+    searchData() {
+      this.pageIndex4 = 1;
+      this.pageSize4 = 500;
+      this.pageIndex42 = 1;
+      this.pageSize42 = 500;
+      this.tableData3 = [];
+      this.Data4(); // 未审核数据
+      this.Data5(); // 已审核数据
+    },
+    // 未审核
+    Data4() {
+      let startTime = "";
+      let endTime = "";
+      if (!this.searchForm.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime = this.searchForm.times[0];
+        endTime = this.searchForm.times[1];
+      }
+      let obj = {
+        object: {
+          matName: this.searchForm.matName,
+          sampleTypeCode: this.searchForm.sampleTypeCode,
+        },
+        mode: "1", // mode 1 表示查询已提交、或者无效数据
+        list: "3",
+        list2: [484003], // 测试分析模块
+        pageSize: this.pageSize4,
+        pageIndex: this.pageIndex4,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.searchForm.type
+      };
+      this.tableLoading4 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData4 = res.data.list;
+            this.total4 = res.data.total;
+            this.tableData4.forEach((item) => {
+              item.state =
+                item.validFlag == 0
+                  ? "无效"
+                  : item.validFlag == 1
+                    ? item.stateFlag === "3"
+                      ? "待审核"
+                      : "未知"
+                    : "无效";
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading4 = false;
+        })
+        .catch((err) => {
+          this.tableLoading4 = false;
+          this.$message.error(err.message);
+        });
+    },
+    dialogDeleteData(row, index) {
+      row.glMatName = "";
+      row.glSampleNo = "";
+      row.glCount = 1;
+      this.dialog.form.tableData.splice(index, 1);
+      this.glDialog.totalPage = this.glDialog.totalPage - 1;
+    },
+    Data5() {
+      let startTime = "";
+      let endTime = "";
+      if (!this.searchForm.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime = this.searchForm.times[0];
+        endTime = this.searchForm.times[1];
+      }
+      let obj = {
+        object: {
+          matName: this.searchForm.matName,
+          sampleTypeCode: this.searchForm.sampleTypeCode,
+        },
+        list: [4], // 查询已审
+        list2: [484003], // 测试分析模块
+        pageSize: this.pageSize42,
+        pageIndex: this.pageIndex42,
+        startTime: startTime,
+        endTime: endTime,
+        // sectionName:this.searchForm.sectionName
+        sectionName:this.searchForm.type
+      };
+      this.tableLoading42 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData42 = res.data.list;
+            this.total42 = res.data.total;
+            this.tableData42.forEach((item) => {
+              item.state =
+                item.validFlag == 0
+                  ? "无效"
+                  : item.validFlag == 1
+                    ? item.stateFlag === "4"
+                      ? "已审核"
+                      : "未知"
+                    : "无效";
+            });
+            this.tableLoading42 = false;
+          } else {
+            this.$message.error(res.message);
+            this.tableLoading42 = false;
+          }
+        })
+        .catch((err) => {
+          this.tableLoading42 = false;
+          this.$message.error(err.message);
+        });
+    },
+    searchResultD(row) {
+      //保存点击的样品信息数据,保存、提交操作时刷新
+      this.tableLoading3 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampleresultds/queryLimsSampleResultDList?srId=" +
+          row.SR_ID
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData3 = res.data;
+            this.tableData3.forEach((item) => {
+              item.isReportName =
+                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
+              item.isAlarmName =
+                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading3 = false;
+        })
+        .catch((err) => {
+          this.tableLoading3 = false;
+          this.$message.error(err.message);
+        });
+    },
+    //点击测试项目,查询分析项目
+    searchAnalyze(row, notColl) {
+      //保存点击的样品信息数据,保存、提交操作时刷新
+      this.saveAnaly = {};
+      this.analyzeVal = row;
+      this.tableLoading3 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList?stId=" +
+          this.analyzeVal.id
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData3 = res.data;
+            this.tableData3.forEach((item) => {
+              item.isReportName =
+                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
+              item.isAlarmName =
+                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading3 = false;
+        })
+        .catch((err) => {
+          this.tableLoading3 = false;
+          this.$message.error(err.message);
+        });
+    },
+    showHistory(row) {
+      if (!row) {
+        return this.$message.warning("查询历史记录失败,参数错误!");
+      }
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssamplehistorys/queryHistoryTest",
+          row,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            //打开窗口
+            this.historyShowFlag = !this.historyShowFlag;
+            this.Params = Object.assign([{}], res.data);
+          } else {
+            this.$message.warning("查询历史记录失败!");
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    //表格数据右移
+    rightData2(row) {
+      //新增的数据清空id
+      row.cretNoD = "";
+      this.table.addTest.push(row);
+    },
+    showCell(row) {
+      this.tabClickIndex = row.index;
+    },
+    saveCell(row) {
+      this.tabClickIndex = null;
+    },
+    tableRowName({ row, rowIndex }) {
+      row.index = rowIndex;
+      if (row.state === "无效") {
+        return "error-row";
+      } else {
+        return "error-green";
+      }
+    },
+    handleSizeChangeMain(pageSize) {
+      this.pageIndex4 = 1;
+      this.pageSize4 = pageSize;
+      this.Data4();
+    },
+    handleSizeChangeDep(pageSize) {
+      this.pageIndex42 = 1;
+      this.pageSize42 = pageSize;
+      this.Data5();
+    },
+    handleSizeChange4(pageSize) {
+      this.pageIndex4 = 1;
+      this.pageSize4 = pageSize;
+      this.Data4();
+    },
+    handleSizeChange5(pageSize) {
+      this.pageIndex42 = 1;
+      this.pageSize42 = pageSize;
+      this.Data5();
+    },
+    glDialogSizeTest(size) {
+      this.glDialog.pageSize = size;
+    },
+    glDialogPageChangeTest(index) {
+      this.glDialog.pageNum = index;
+    },
+    SizeTest(size) {
+      this.pageTests.pageSize = size;
+      this.getDataListTest2();
+    },
+    pageChangeTest(index) {
+      this.pageTests.pageNum = index;
+      this.getDataListTest2();
+    },
+    tableRowClassName0({ row, rowIndex }) {
+      if (row.state === "无效") {
+        return "error-row";
+      } else if (row.state === "未知") {
+        return "error-green";
+      }
+      return "";
+    },
+    cellClassName({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 2) {
+        if (row.state === "已审核") {
+          return "error-green";
+        }
+        return "";
+      }
+    },
+    tableRowClassName({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 2) {
+        if (row.yearMonth === "1") {
+          return "error-row";
+        }
+      }
+      if (row.STATE === "无效") {
+        return "error-row";
+      } else if (row.STATE === "未知") {
+        return "error-green";
+      }
+      return "";
+    },
+    tableRowBatch({ row, column, rowIndex, columnIndex }) { },
+    fxTableRowClassName({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 3) {
+        //最大符号与最小符号必须同时存在,最大值与最小值必须有一项要有值,否则直接return不进入判断
+        if (row.maxSign && row.minSign && (row.maxValue || row.minValue)) {
+          if (row.maxSign == "<=" && row.minSign == ">=") {
+            if (
+              Number(row.anlyValue) <=
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+          if (row.maxSign == "<=" && row.minSign == ">") {
+            if (
+              Number(row.anlyValue) <=
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+          if (row.maxSign == "<" && row.minSign == ">=") {
+            if (
+              Number(row.anlyValue) <
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+          if (row.maxSign == "<" && row.minSign == ">") {
+            if (
+              Number(row.anlyValue) <
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+        }
+        return "";
+      } else if (column.property === "reviseValue") {
+        return "error-blue";
+      }
+    },
+    tableHeaderCellStyle() {
+      return "background-color: rgb(249,249,249) !important;color: rgb(73, 72, 72);border-bottom: 1px solid #DCDFE7;border-top:3px solid #3ac1ea;";
+    },
+    selectStyle({ row, column, rowIndex, columnIndex }) {
+      if (row.warning) {
+        return "row-green";
+      }
+    },
+  },
+};
+</script>
+<style scoped></style>
+<style lang="less">
+.testManagement {
+  .buttons {
+    .el-button {
+      margin: 2px 3px 0 0;
+    }
+  }
+
+  .textOverflow {
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+  }
+
+  .testManagement_left {
+    .el-table .el-table__body tr.error-row {
+      background-color: rgb(253, 89, 89) !important;
+    }
+
+    .el-table .el-table__body tr.error-row>td {
+      background-color: rgb(253, 89, 89) !important;
+    }
+
+    .el-table .el-table__body tr.error-green {
+      background-color: rgb(202, 249, 130) !important;
+    }
+
+    .el-table .el-table__body tr.error-green>td {
+      background-color: rgb(202, 249, 130) !important;
+    }
+  }
+
+  .testManagement-pllr {
+    .el-table .el-table__body tr.current-row>td {
+      //background-color: rgba(26, 75, 236, 0.2) !important;
+      background-color: rgba(64, 158, 255, 0.3) !important;
+    }
+  }
+}
+</style>

+ 10 - 1
src/views/approveManagement/components/threeApprove.vue

@@ -615,11 +615,17 @@ export default {
         this.getCompany();
       });
   },
+   watch: {
+  "$route.query.type"(newType) {
+    this.searchForm.type = newType || '';
+  }
+},
   mounted() {
+    this.searchForm.type = this.$route.query.type  || '';
     this.axios
       .post(
         "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4801 },
+        { validFlag: 1, baseCode: 4801},
         { individualType: "json" }
       )
       .then((res) => {
@@ -643,6 +649,7 @@ export default {
         "" +
         "&stateFlag=" +
         ""
+        // "&sectionName="+this.searchForm.type
       )
       .then((res) => {
         this.allFacility = res.data.list;
@@ -1347,6 +1354,7 @@ export default {
         pageIndex: this.pageIndex4,
         startTime: startTime,
         endTime: endTime,
+        sectionName:this.searchForm.type
       };
       this.tableLoading4 = true;
       this.axios
@@ -1409,6 +1417,7 @@ export default {
         pageIndex: this.pageIndex42,
         startTime: startTime,
         endTime: endTime,
+        sectionName:this.searchForm.type
       };
       this.tableLoading42 = true;
       this.axios

+ 89 - 89
src/views/approveManagement/router/index.js

@@ -1,89 +1,89 @@
-import Vue from "vue";
-import Router from "vue-router";
-
-import routerBefore from "@/config/routerBefore.js";
-// 主要
-// import main from '@/components/main.vue'
-// 页面示例
-// import mypage from '../components/myPage.vue'
-Vue.use(Router);
-const constantRouterMap = [
-  {
-    path: "/",
-    name: "main",
-    component: (resolve) => require(["@/components/main.vue"], resolve),
-    redirect: {
-      name: "secondApprove",
-    },
-    children: [
-      {
-        path: "secondApprove",
-        name: "secondApprove",
-        component: (resolve) =>
-          require(["../components/secondApprove"], resolve),
-      },
-      {
-        path: "threeApprove",
-        name: "threeApprove",
-        component: (resolve) =>
-          require(["../components/threeApprove"], resolve),
-      },
-      {
-        path: "fourApprove",
-        name: "fourApprove",
-        component: (resolve) => require(["../components/fourApprove"], resolve),
-      },
-      {
-        path: "fiveApprove",
-        name: "fiveApprove",
-        component: (resolve) => require(["../components/fiveApprove"], resolve),
-      },
-      {
-        path: "batchApprove",
-        name: "batchApprove",
-        component: (resolve) =>
-          require(["../components/batchApprove"], resolve),
-      },
-      {
-        path: "batchModifyApprove",
-        name: "batchModifyApprove",
-        component: (resolve) =>
-          require(["../components/batchModifyApprove"], resolve),
-      },
-      {
-        path: "sixApprove",
-        name: "sixApprove",
-        component: (resolve) => require(["../components/sixApprove"], resolve),
-      },
-      {
-        path: "notificationConfig",
-        name: "notificationConfig",
-        component: (resolve) =>
-          require(["../components/notificationConfig"], resolve),
-      },
-    ],
-  },
-];
-const router = new Router({
-  routes: constantRouterMap,
-});
-
-//  before
-routerBefore(router, constantRouterMap);
-
-export default router;
-//  constantRouterMap
-export const routes = constantRouterMap;
-// export default new Router({
-//   routes: [
-//     {
-//       path: '/',
-//       name: 'main',
-//       component: main,
-//       redirect: {name: 'mypage'},
-//       children: [
-//         {path: 'mypage', name: 'mypage', component: mypage}
-//         ]
-//     }
-//   ]
-// })
+import Vue from "vue";
+import Router from "vue-router";
+
+import routerBefore from "@/config/routerBefore.js";
+// 主要
+// import main from '@/components/main.vue'
+// 页面示例
+// import mypage from '../components/myPage.vue'
+Vue.use(Router);
+const constantRouterMap = [
+  {
+    path: "/",
+    name: "main",
+    component: (resolve) => require(["@/components/main.vue"], resolve),
+    redirect: {
+      name: "secondApprove",
+    },
+    children: [
+      {
+        path: "secondApprove/",
+        name: "secondApprove",
+        component: (resolve) =>
+          require(["../components/secondApprove"], resolve),
+      },
+      {
+        path: "threeApprove/",
+        name: "threeApprove",
+        component: (resolve) =>
+          require(["../components/threeApprove"], resolve),
+      },
+      {
+        path: "fourApprove/",
+        name: "fourApprove",
+        component: (resolve) => require(["../components/fourApprove"], resolve),
+      },
+      {
+        path: "fiveApprove/",
+        name: "fiveApprove",
+        component: (resolve) => require(["../components/fiveApprove"], resolve),
+      },
+      {
+        path: "batchApprove",
+        name: "batchApprove",
+        component: (resolve) =>
+          require(["../components/batchApprove"], resolve),
+      },
+      {
+        path: "batchModifyApprove",
+        name: "batchModifyApprove",
+        component: (resolve) =>
+          require(["../components/batchModifyApprove"], resolve),
+      },
+      {
+        path: "sixApprove",
+        name: "sixApprove",
+        component: (resolve) => require(["../components/sixApprove"], resolve),
+      },
+      {
+        path: "notificationConfig",
+        name: "notificationConfig",
+        component: (resolve) =>
+          require(["../components/notificationConfig"], resolve),
+      },
+    ],
+  },
+];
+const router = new Router({
+  routes: constantRouterMap,
+});
+
+//  before
+routerBefore(router, constantRouterMap);
+
+export default router;
+//  constantRouterMap
+export const routes = constantRouterMap;
+// export default new Router({
+//   routes: [
+//     {
+//       path: '/',
+//       name: 'main',
+//       component: main,
+//       redirect: {name: 'mypage'},
+//       children: [
+//         {path: 'mypage', name: 'mypage', component: mypage}
+//         ]
+//     }
+//   ]
+// })

+ 1744 - 1743
src/views/entrustedManagement/components/inspectionProudects/inspectionProudects.vue

@@ -1,1743 +1,1744 @@
-<!-- 检验委托-成品 -->
-<template>
-  <div class="examination">
-    <div class="common-head-search">
-      <el-form :inline="true">
-        <el-form-item label="委托单位">
-          <el-select v-model="search.planCompanyNo" clearable filterable collapse-tags size="small"
-            style="width: 200px; margin-right: 10px" placeholder="请选择查询内容">
-            <el-option v-for="item in entrOrgNameType" :key="item.baseName" :label="item.orgName" :value="item.orgCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="物料名称">
-          <el-input v-model="search.matName" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
-            style="width: 200px; margin-right: 10px"></el-input>
-        </el-form-item>
-        <el-form-item label="批次号">
-          <el-input v-model="search.batchNo" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
-            style="width: 200px; margin-right: 10px"></el-input>
-        </el-form-item>
-        <el-form-item label="委托编号">
-          <el-input v-model="search.carNo" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
-            style="width: 200px; margin-right: 10px" clearable></el-input>
-        </el-form-item>
-        <el-form-item label="中心编号">
-          <el-input v-model="search.sampleNo" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
-            style="width: 200px; margin-right: 10px" clearable></el-input>
-        </el-form-item>
-        <el-form-item label="委托日期">
-          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
-            placeholder="开始日期" size="mini" style="width: 140px">
-          </el-date-picker>
-          <span>至</span>
-          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
-            placeholder="结束日期" size="mini" style="width: 140px">
-          </el-date-picker>
-          <!-- <el-date-picker
-            v-model="search.times"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width: 300px"
-            format="yyyy-MM-dd"
-            value-format="yyyy-MM-dd"
-          >
-          </el-date-picker> -->
-        </el-form-item>
-        <el-form-item>
-          <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
-          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="reset">重置</el-button>
-        </el-form-item>
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        <el-input v-model="values" ref="autoInput" size="mini" style="display: inline-block; width: 150px"
-          @input="autoSubmit()" placeholder="扫码接收" clearable :disabled="inputLoading"></el-input>
-      </el-form>
-    </div>
-    <el-row>
-      <el-col :span="14">
-        <el-tabs v-model="activeName" type="border-card">
-          <el-tab-pane label="有效委托" name="first">
-            <div class="common-title-div" style="height: auto; margin-top: -10px">
-              <div class="common-title-name" style="width: 280px">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                检验委托信息
-              </div>
-              <el-button icon="el-icon-search" style="height: 100%; margin-left: -220px; margin-top: 28px" type="goon"
-                size="mini" @click="countList">物料统计</el-button>
-              <div>
-                <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini" v-privilege="activeMenu + 'add'"
-                  @click="addData" style="border: 3px">新增</el-button>
-                <!-- <el-button icon="el-icon-edit" type="goon" size="mini" @click="modifyData">修改</el-button> -->
-                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoading"
-                  v-privilege="activeMenu + 'submit'" @click="submitData" style="border: 3px">提交</el-button>
-                <el-button icon="el-icon-edit" type="goon" size="mini" v-privilege="activeMenu + 'PUT'"
-                  @click="modifyData" style="border: 3px">修改</el-button>
-                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoading8" @click="updateSampleNo"
-                  style="border: 3px">修改委托编号</el-button>
-                <el-button icon="el-icon-back" type="danger" size="mini" :loading="subLoading"
-                  v-privilege="activeMenu + 'submit'" @click="cancelData" style="margin-top: 2px">取消提交</el-button>
-                <el-button icon="el-icon-back" type="danger" size="mini" :loading="subLoading"
-                  v-privilege="activeMenu + 'submit'" @click="disable" style="border: 3px">停用</el-button>
-                <el-button icon="el-icon-download" type="goon" size="mini" :loading="exportFileLoading"
-                  @click="exportFile">导出检测委托书</el-button>
-                <el-button icon="el-icon-edit-outline" type="goon" size="mini" :loading="false"
-                  @click="showQRCodeInfo">编辑二维码</el-button>
-                <el-button icon="el-icon-printer" type="goon" size="mini" :loading="printLoading" @click="printQRCode"
-                  style="border: 3px">打印标签</el-button>
-              </div>
-            </div>
-            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
-              <el-table id="excelTable" v-loading="dataLoading" ref="dataTable" border :height="height_top"
-                highlight-current-row @row-click="saveDataMain" :data="table.list" :icore-filter-flag="icoreFilterFlag"
-                :header-cell-style="tableHeaderCellStyle" @cell-click="searchFollow" @selection-change="selectRow"
-                :cell-class-name="tableRowClassName" :summary-method="getSummaries" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" width="35" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="60px" prop="stateFlag1" label="状态"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="carNo" label="委托编号"
-                  align="center">
-                  <template slot-scope="{ row }">
-                    <el-input v-model="row.carNo" size="small" style="width: 100%">
-                    </el-input>
-                  </template>
-                </el-table-column>
-                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="entrId" label="委托编号" align="center"></el-table-column> -->
-                <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="sampleNo" label="中心编号"
-                  align="center"></el-table-column>
-                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="id" label="编号" align="center"></el-table-column> -->
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="planCompanyName" label="委托单位"  align="center"></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="125px" prop="matName" label="物料名称"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="entrTime1" label="委托日期"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="memo" label="备注"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planCompanyName"
-                  label="生产单位" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planDeptName"
-                  label="生产车间" align="center"></el-table-column>
-                <!-- <el-table-column
-                    sortable
-                    :show-overflow-tooltip="true"
-                    min-width="150px"
-                    prop="batchNo"
-                    label="批次号"
-                    align="center"
-                  >
-                    <template slot-scope="{ row }">
-                      <el-input
-                        v-if="row.stateFlag == '0'"
-                        v-model="row.batchNo"
-                        size="small"
-                        style="width: 100%"
-                      >
-                      </el-input>
-                      <span v-else>{{ row.batchNo }}</span>
-                    </template>
-                  </el-table-column> -->
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="entrTypeName" label="委托类型"  align="center"></el-table-column>
-                  <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="sampleTypeName" label="样品类型" align="center"></el-table-column>
-                  <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="gradeName" label="牌号" align="center"></el-table-column>
-                  <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matClassName" label="物料分类"  align="center"></el-table-column> -->
-
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="testTypeName"
-                  label="检验类型" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeliName"
-                  label="取样频次" align="center"></el-table-column>
-                <!-- <el-table-column
-                    sortable
-                    :show-overflow-tooltip="true"
-                    min-width="80px"
-                    prop="gradeName"
-                    label="牌号"
-                    align="center"
-                  ></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matShapeName"
-                  label="试样形状" align="center"></el-table-column>
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="anlyItemName" label="分析项目"  align="center"></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="companyName"
-                  label="检验单位" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="deptName" label="检验车间"
-                  align="center"></el-table-column>
-                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="sectionName"
-                  label="检验班组" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpCompanyName"
-                  label="取样单位" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeptName"
-                  label="取样车间" align="center"></el-table-column>
-                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="smpSectionName"
-                  label="取样班组" align="center"></el-table-column>
-                <!-- <el-table-column
-                    sortable
-                    :show-overflow-tooltip="true"
-                    min-width="100px"
-                    prop="spec"
-                    label="规格"
-                    align="center"
-                  ></el-table-column> -->
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="rollNo" label="轧批号" align="center"></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="createMan" label="创建人"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="createTime" label="创建时间"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="updateMan" label="修改人"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="updateTime" label="修改时间"
-                  align="center"></el-table-column>
-              </el-table>
-            </div>
-            <div class="common-foot-style">
-              <el-pagination @size-change="pageSizeChange" @current-change="pageCurrentChange"
-                :current-page="page.pageNum" :page-sizes="[100, 200, 500, 800, 1000]" :page-size="page.pageSize"
-                layout="total, sizes, prev, pager, next, jumper" :total="page.totalPage" background>
-              </el-pagination>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="停用委托" name="first1">
-            <div class="common-title-div" style="height: auto; margin-top: -10px">
-              <div class="common-title-name" style="width: 280px">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                检验委托信息
-              </div>
-              <div>
-                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoadingq"
-                  v-privilege="activeMenu + 'submit'" @click="enable" style="border: 3px">启用</el-button>
-                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoadingq"
-                  v-privilege="activeMenu + 'submit'" @click="removeNumber"
-                  style="border: 3px; margin-top: 3px">清除编号</el-button>
-              </div>
-            </div>
-            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
-              <el-table id="invalidTable" v-loading="invalidLoading" ref="dataTable" border :height="height_top"
-                highlight-current-row @row-click="saveDataMain" :data="table.list1" :icore-filter-flag="icoreFilterFlag"
-                :header-cell-style="tableHeaderCellStyle" @cell-click="searchFollow" @selection-change="selectRow1"
-                :cell-class-name="tableRowClassName" :summary-method="getSummaries" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" width="35" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="60px" prop="stateFlag1" label="状态"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="carNo" label="委托编号"
-                  align="center">
-                  <template slot-scope="{ row }">
-                    <el-input v-model="row.carNo" size="small" style="width: 100%">
-                    </el-input>
-                  </template>
-                </el-table-column>
-                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="entrId" label="委托编号" align="center"></el-table-column> -->
-                <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="sampleNo" label="中心编号"
-                  align="center"></el-table-column>
-                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="id" label="编号" align="center"></el-table-column> -->
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="planCompanyName" label="委托单位"  align="center"></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="125px" prop="matName" label="物料名称"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="entrTime1" label="委托日期"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="memo" label="备注"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planCompanyName"
-                  label="生产单位" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planDeptName"
-                  label="生产车间" align="center"></el-table-column>
-                <!-- <el-table-column
-                    sortable
-                    :show-overflow-tooltip="true"
-                    min-width="150px"
-                    prop="batchNo"
-                    label="批次号"
-                    align="center"
-                  >
-                    <template slot-scope="{ row }">
-                      <el-input
-                        v-if="row.stateFlag == '0'"
-                        v-model="row.batchNo"
-                        size="small"
-                        style="width: 100%"
-                      >
-                      </el-input>
-                      <span v-else>{{ row.batchNo }}</span>
-                    </template>
-                  </el-table-column> -->
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="entrTypeName" label="委托类型"  align="center"></el-table-column>
-                  <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="sampleTypeName" label="样品类型" align="center"></el-table-column>
-                  <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="gradeName" label="牌号" align="center"></el-table-column>
-                  <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matClassName" label="物料分类"  align="center"></el-table-column> -->
-
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="testTypeName"
-                  label="检验类型" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeliName"
-                  label="取样频次" align="center"></el-table-column>
-                <!-- <el-table-column
-                    sortable
-                    :show-overflow-tooltip="true"
-                    min-width="80px"
-                    prop="gradeName"
-                    label="牌号"
-                    align="center"
-                  ></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matShapeName"
-                  label="试样形状" align="center"></el-table-column>
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="anlyItemName" label="分析项目"  align="center"></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="companyName"
-                  label="检验单位" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="deptName" label="检验车间"
-                  align="center"></el-table-column>
-                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="sectionName"
-                  label="检验班组" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpCompanyName"
-                  label="取样单位" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeptName"
-                  label="取样车间" align="center"></el-table-column>
-                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="smpSectionName"
-                  label="取样班组" align="center"></el-table-column>
-                <!-- <el-table-column
-                    sortable
-                    :show-overflow-tooltip="true"
-                    min-width="100px"
-                    prop="spec"
-                    label="规格"
-                    align="center"
-                  ></el-table-column> -->
-                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="rollNo" label="轧批号" align="center"></el-table-column> -->
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="createMan" label="创建人"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="createTime" label="创建时间"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="updateMan" label="修改人"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="updateTime" label="修改时间"
-                  align="center"></el-table-column>
-              </el-table>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </el-col>
-      <el-col :span="10">
-        <el-tabs v-model="activeName2" type="border-card" class="testManagement_left">
-          <el-tab-pane label="检验项目" name="first">
-            <div class="common-title-div" style="height: 75px; margin-top: 25px">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                计划检验项目表
-              </div>
-              <div>
-                <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini"
-                  v-privilege="activeMenu + 'addDep'" @click="addData2">新增</el-button>
-                <el-button icon="el-icon-remove-outline" type="danger" size="mini"
-                  v-privilege="activeMenu + 'deleteDep'" @click="deleteData2">删除</el-button>
-              </div>
-            </div>
-            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
-              <el-table v-loading="dataLoading2" ref="dataTable2" border :height="height_bot" @row-click="saveData"
-                highlight-current-row @selection-change="selectData" :data="table.list2"
-                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
-                :cell-class-name="tableRowClassName2" :summary-method="getSummaries" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="90px" prop="anlyItemNo"
-                  label="分析项目编号" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="anlyItemName"
-                  label="分析项目" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="minSign" label="下限符"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="90px" prop="minValue" label="最小值"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="maxSign" label="上限符"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="90px" prop="maxValue" label="最大值"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="memo" label="备注"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="createMan" label="创建人"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="createTime" label="创建时间"
-                  align="center"></el-table-column>
-              </el-table>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="接收电文" name="second">
-            <div class="common-title-div" style="height: 75px; margin-top: 25px">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                接收电文
-              </div>
-              <div></div>
-            </div>
-            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
-              <el-table v-loading="dataLoading3" ref="dataTable3" border :height="height_bot" highlight-current-row
-                :data="table.list3" :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
-                :cell-class-name="tableRowClassName2" :summary-method="getSummaries" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="400px" prop="msgSource" label="电文内容"
-                  align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="createDate" label="创建时间"
-                  align="center"></el-table-column>
-              </el-table>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="发送电文" name="three">
-            <div class="common-title-div" style="height: 75px; margin-top: 25px">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                发送电文
-              </div>
-              <div></div>
-            </div>
-            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
-              <el-table v-loading="dataLoading4" ref="dataTable2" border :height="height_bot" highlight-current-row
-                :data="table.list4" :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
-                :cell-class-name="tableRowClassName2" :summary-method="getSummaries" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="600px" prop="msgSource" label="电文内容"
-                  align="center"></el-table-column>
-              </el-table>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </el-col>
-    </el-row>
-    <div is="alertComponets" :showFlag="showFlag" :Params="Params" @refresh="refresh"></div>
-    <div is="alertComponets2" :showFlag2="showFlag2" :Params="Params" :Params2="Params2" @refresh="refresh2"></div>
-    <div is="alertComponets3" :showFlag="showFlag3" :Params="Params3" @refresh="refresh3"></div>
-    <el-dialog @close="closeDialog" :visible.sync="dialogTableCount" width="80%">
-      <el-table id="excelTable3" ref="dataTable3" border :data="tableCount">
-        <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="MAT_NAME" label="物料编号"
-          align="center"></el-table-column>
-        <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="COUNT" label="个数"
-          align="center"></el-table-column>
-      </el-table>
-    </el-dialog>
-    <div id="printContainer2" style="margin-left: 20px; margin-top: 3px" v-show="false">
-      <div id="printContent">
-        <div v-for="item in printData" :key="item.id" style="width: 439px; border: 1px solid #fff; position: relative">
-          <div>
-            <div v-for="subItem in item.list" :key="subItem.id" style="font-size: 15px">
-              {{ subItem.fieldKeyName }}:{{ subItem.fieldValue }}
-            </div>
-            <div :id="`Qrcode${item.id}`" style="margin-top: 20px"></div>
-            <div v-if="printData.length > 1" style="page-break-after: always"></div>
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <!-- 二维码编辑 -->
-    <el-dialog title="二维码信息详情" :visible.sync="isShowQrCodeInfo" width="70%">
-      <el-button type="goon" size="mini" @click="addQrCodeInfo" style="margin-bottom: 10px">新增</el-button>
-      <el-button type="goon" size="mini" @click="resetQrCodeInfo" style="margin-bottom: 10px">重置</el-button>
-      <el-table ref="qrCodeInfoTable" :data="qrCodeInfoData" stripe border tooltip-effect="dark" height="500"
-        @selection-change="handleQrCodeInfoSelectionChange">
-        <el-table-column type="selection" width="55" align="center">
-        </el-table-column>
-        <el-table-column label="字段名" align="center" prop="fieldKeyName">
-        </el-table-column>
-        <el-table-column prop="fieldValue" label="字段值" align="center">
-        </el-table-column>
-        <el-table-column label="操作" width="120" align="center">
-          <template slot-scope="scope">
-            <el-button @click="editQrCodeInfoRow(scope.$index, scope.row)" type="text" size="small">
-              编辑
-            </el-button>
-            <el-button v-if="scope.row.fieldKey != 'sampleNo'" @click="delQrCodeInfoRow(scope.$index, scope.row)"
-              type="text" size="small">
-              删除
-            </el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <div slot="footer" class="dialog-footer">
-        <div style="
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-          ">
-          <div>
-            <el-pagination @size-change="pageSizeChange3" @current-change="pageCurrentChange3"
-              :current-page="page3.pageNum" :page-sizes="[10, 20, 30, 50, 100]" :page-size="page3.pageSize"
-              layout="total, sizes, prev, pager, next, jumper" :total="page3.totalPage" background>
-            </el-pagination>
-          </div>
-          <div>
-            <el-button size="mini" @click="isShowQrCodeInfo = false">取消</el-button>
-            <el-button size="mini" icon="el-icon-printer" type="primary" @click="saveQRCode">保存</el-button>
-            <el-button size="mini" icon="el-icon-printer" type="primary" @click="saveAndPrintQRCode">保存打印二维码</el-button>
-          </div>
-        </div>
-      </div>
-    </el-dialog>
-    <!-- 新增二维码字段 -->
-    <el-dialog title="新增二维码字段信息" :visible.sync="isShowAddQrCodeInfo" width="30%">
-      <el-form :model="addQrCodeInfoForm">
-        <el-form-item label="字段名">
-          <el-input v-model="addQrCodeInfoForm.fieldKeyName" auto-complete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="字段值">
-          <el-input v-model="addQrCodeInfoForm.fieldValue" auto-complete="off"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button size="mini" @click="isShowAddQrCodeInfo = false">取消</el-button>
-        <el-button size="mini" type="primary" @click="confirmAddQrCodeInfo">确定</el-button>
-      </div>
-    </el-dialog>
-    <!-- 编辑二维码字段 -->
-    <el-dialog title="编辑二维码字段信息" :visible.sync="isShowEditQrCodeInfo" width="30%">
-      <el-form :model="editQrCodeInfoForm">
-        <el-form-item label="字段名">
-          <el-input v-model="editQrCodeInfoForm.fieldKeyName" auto-complete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="字段值">
-          <el-input v-model="editQrCodeInfoForm.fieldValue" auto-complete="off"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button size="mini" @click="isShowEditQrCodeInfo = false">取消</el-button>
-        <el-button size="mini" type="primary" @click="confirmEditQrCodeInfo">确定</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-<script>
-import { getCookie, formatDate } from "@/utils/util.js";
-import { cookieUserId, cookieUserName } from "@/config/config.js";
-import alertComponets from "./alertComponents";
-import alertComponets2 from "./alertComponents2";
-import alertComponets3 from "./alertComponents3";
-import JsBarcode from "jsbarcode";
-let userName = getCookie(cookieUserName);
-let userId = getCookie(cookieUserId);
-export default {
-  components: { alertComponets, alertComponets2, alertComponets3 },
-  data() {
-    return {
-      table: {
-        list: [],
-        list1: [],
-        list2: [],
-        list3: [],
-        list4: [],
-      },
-      activeName: "first",
-      activeName2: "first",
-      dataLoading: false,
-      invalidLoading: false,
-      dataLoading2: false,
-      dataLoading3: false,
-      dataLoading4: false,
-      subLoading: false,
-      subLoading1: false,
-      subLoading2: false,
-      subLoading3: false,
-      subLoadingq: false,
-      icoreFilterFlag: true,
-      values: "",
-      inputLoading: false,
-      timeId: null,
-      page: {
-        pageSize: 200,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      page3: {
-        pageSize: 10,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      saveRow: {},
-      savaDep: {},
-      list: [],
-      entrId: "",
-      showFlag: false,
-      showFlag3: false,
-      Params3: {},
-      Params: {},
-      showFlag2: false,
-      Params2: {},
-      entrOrgNameType: [],
-      entrOrgNameType1: [],
-      selectDataList: [],
-      sampleTypeNameType: [],
-      multipleSelection3: [],
-      multipleSelection4: [],
-      tableCount: [],
-      dialogTableCount: false,
-      search: {
-        batchNo: "",
-        entrTime: "",
-        times: [],
-        planCompanyName: "",
-        matName: "",
-        carNo:"",
-        sampleNo:""
-        
-      },
-      height_top: 0,
-      height_bot: 0,
-      activeMenu: "",
-      piciIndex: "",
-      printData: [],
-      printLoading: false,
-      exportFileLoading: false,
-      // editRow: {},
-      selectRows: [],
-      selectRow1s: [],
-      subLoading8: false,
-
-      isShowQrCodeInfo: false,
-      qrCodeInfoData: [],
-      isShowAddQrCodeInfo: false,
-      addQrCodeInfoForm: {},
-      isShowEditQrCodeInfo: false,
-      editQrCodeInfoForm: {},
-      editQrCodeInfoIndex: 0,
-      deleteIds: [],
-      isSetDefault: false,
-    };
-  },
-  created() {
-    this.height_top = window.innerHeight - 200;
-    this.height_bot = window.innerHeight - 200;
-    this.search.times = [this.getYNM(new Date()), this.getYNM(new Date())];
-    this.activeMenu = window.top.localStorage.getItem("activeMenu");
-  },
-  mounted() {
-    this.axios
-      .post(
-        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
-        {},
-        { individualType: "json" }
-      )
-      .then((response) => {
-        this.entrOrgNameType = response.data;
-      });
-    this.searchData();
-    this.addScreen();
-    this.addScreen2();
-  },
-  methods: {
-    getYNM(date) {
-      let year = date.getFullYear().toString();
-      let month = date.getMonth() + 1;
-      let day = date.getDate();
-      month = month < 10 ? "0" + month : month;
-      day = day < 10 ? "0" + day : day;
-      return `${year}-${month}-${day}`;
-    },
-    getSummaries(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = "合计";
-        }
-        if (index === 1) {
-          sums[index] = data.length;
-        }
-      });
-      return sums;
-    },
-    refresh() {
-      this.mainData();
-    },
-    refresh2() {
-      this.depData(this.entrId);
-    },
-    refresh3() {
-      this.mainData();
-    },
-    saveDataMain(row) {
-      this.piciIndex = row.id;
-      this.saveRow = Object.assign({}, row);
-    },
-    addData() {
-      let _this = this;
-      _this.showFlag = !_this.showFlag;
-      _this.Params = null;
-    },
-    modifyData() {
-      if (JSON.stringify(this.saveRow) === "{}") {
-        this.$message.warning("请点击选中一条您要修改的数据");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可进行修改");
-        return;
-      }
-      this.Params3 = this.saveRow;
-      this.showFlag3 = !this.showFlag3;
-    },
-    update() {
-      if (JSON.stringify(this.saveRow) === "{}") {
-        this.$message.warning("请点击选中一条您要提交的数据");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("请选择编辑状态!");
-        return;
-      }
-      let index = this.table.list.findIndex((arr) => arr.id == this.piciIndex);
-      let arr = this.table.list[index];
-      this.subLoading2 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/updateEntrustBatchNo",
-          arr,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.mainData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.subLoading2 = false;
-        })
-        .catch((e) => {
-          this.subLoading2 = false;
-          this.$message.error(e.message);
-        });
-    },
-    //清除中心编号的生成规则的记录
-    removeNumber() {
-      this.subLoadingq = true;
-      this.axios
-        .post("pass/testManagement/v1/api/reflection/removeMapPkALL")
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.subLoadingq = false;
-            this.$message.success(res.message);
-          } else {
-            this.subLoadingq = false;
-            this.$message.error(res.message);
-          }
-        });
-    },
-    updateSampleNo() {
-      if (this.selectRows.length == 0) {
-        return this.$message.warning("请至少勾选一条您要修改的数据!");
-      }
-      this.subLoading8 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/saveLimsTestEntrustList",
-          this.selectRows,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.succeed) {
-            this.subLoading8 = false;
-            this.$message.success("修改成功");
-            this.searchData();
-          } else {
-            this.subLoading8 = false;
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.subLoading8 = false;
-          this.$message.error(e.message);
-        });
-    }, //扫码提交
-    autoSubmit() {
-      if (!this.values) {
-        this.$message.warning("请先用扫码枪扫描标签");
-        return;
-      }
-      if (!this.timeId) {
-        this.timeId = setTimeout(() => {
-          this.inputLoading = true;
-          this.axios
-            .post(
-              "pass/testManagement/v1/limstestentrusts/scanningSubmit",
-              { carNo: this.values },
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.$nextTick(() => {
-                  this.$refs.autoInput.focus();
-                });
-                this.values = "";
-                this.inputLoading = false;
-                this.$message.success("操作成功!");
-                this.mainData();
-              } else {
-                this.$nextTick(() => {
-                  this.$refs.autoInput.focus();
-                });
-                this.values = "";
-                this.inputLoading = false;
-                this.$message.error(res.message);
-              }
-            })
-            .catch((e) => {
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-              this.$message.error(e.message);
-            });
-          this.timeId = null;
-        }, 1000);
-      }
-    },
-    exportFile() {
-      if (this.selectRows.length == 0) {
-        this.$message.warning("请勾选您要导出的一条数据!");
-        return;
-      }
-      this.exportFileLoading = true;
-      let str = [];
-      this.selectRows.forEach((s) => {
-        str.push(s.entrId);
-      });
-      this.axios
-        .get(
-          "pass/testManagement/v1/limstestentrusts/newJywts/" + str,
-          { responseType: "blob" },
-          { headers: { "content-type": "application/x-www-form-urlencoded" } }
-        )
-        .then((res) => {
-          let blob = new Blob([res]);
-          let elink = document.createElement("a");
-          elink.download = "BBWXCLJC-4-08-03.docx";
-          elink.style.display = "none";
-          elink.target = "_blank";
-          elink.href = URL.createObjectURL(blob);
-          document.body.appendChild(elink);
-          elink.click();
-          URL.revokeObjectURL(elink.href); // 释放URL对象
-          document.body.removeChild(elink);
-          this.exportFileLoading = false;
-        })
-        .catch((e) => {
-          this.exportFileLoading = false;
-          return this.$message.error(e.message);
-        });
-    },
-    // 打印二维码
-    // printQRCode() {
-    //   if (this.selectRows.length == 0) {
-    //     this.$message.warning("请勾选您要打印的数据");
-    //     return;
-    //   }
-    //   let flag = this.selectRows.some((u) => u.stateFlag != 1);
-    //   if (flag) {
-    //     return this.$message.warning(
-    //       "未提交数据不允许进行打印,请重新进行勾选"
-    //     );
-    //   }
-    //   let entrIds = [];
-    //   this.selectRows.forEach((p) => {
-    //     entrIds.push(p.entrId);
-    //   });
-    //   this.axios
-    //     .post(
-    //       "pass/testManagement/v1/limssampleinfos/queryLimsSampleInfosPage",
-    //       { object: { entrIds }, pageIndex: 1, pageSize: 200 },
-    //       { individualType: "json" }
-    //     )
-    //     .then((res) => {
-    //       if (res.code == 0 || res.code == 200) {
-    //         this.$message.success(res.message);
-    //         this.printData = res.data.list;
-    //         this.printData.forEach((item) => {
-    //           item.carNo = this.saveRow.carNo;
-    //         });
-    //         this.runPrint(this.printData);
-    //         this.searchData();
-    //       } else {
-    //         this.$message.error(res.message);
-    //       }
-    //     });
-    // },
-    // runPrint(arr) {
-    //   console.log("arr", arr);
-    //   setTimeout(() => {
-    //     arr.forEach((item) => {
-    //       const qrcode = document.getElementById(`Qrcode${item.id}`);
-    //       qrcode.innerHTML = "";
-    //       new QRCode(qrcode, {
-    //         text: item.sampleNo,
-    //         width: 100,
-    //         height: 100,
-    //         colorDark: "#000000",
-    //         colorLight: "#ffffff",
-    //       });
-    //     });
-    //     setTimeout(() => {
-    //       this.printPage("printContent");
-    //     }, 1500);
-    //   }, 100);
-    // },
-
-    // 打印条形码
-    async printQRCode() {
-      if (this.selectRows.length == 0) {
-        this.$message.warning("请勾选您要打印的数据");
-        return;
-      }
-      let flag = this.selectRows.some((u) => u.stateFlag != 1);
-      if (flag) {
-        return this.$message.warning(
-          "未提交数据不允许进行打印,请重新进行勾选"
-        );
-      }
-      let entrIds = [];
-      this.selectRows.forEach((p) => {
-        entrIds.push(p.entrId);
-      });
-
-      const list0 = [];
-      entrIds.forEach((item) => {
-        list0.push(this.initQrCode(item));
-      });
-
-      await Promise.all(list0);
-
-      const list = [];
-      entrIds.forEach((item) => {
-        list.push(this.getQrCodeInfoListById(item));
-      });
-
-      Promise.all(list).then((res) => {
-        this.printData = res.map((item, index) => {
-          if (item.code == 0 || item.code == 200) {
-            return {
-              id: entrIds[index],
-              list: item.data.list.filter((subItem) => subItem.isCheck === 1),
-            };
-          } else {
-            return {
-              id: entrIds[index],
-              list: [],
-            };
-          }
-        });
-        console.log("this.printData");
-        console.log(this.printData);
-        this.runPrint(this.printData);
-      });
-    },
-    runPrint(arr) {
-      setTimeout(() => {
-        arr.forEach((item) => {
-          const qrcode = document.getElementById(`Qrcode${item.id}`);
-          qrcode.innerHTML = "";
-
-          let sampleNo = "";
-          for (let i = 0; i < item.list.length; i++) {
-            if (item.list[i].fieldKey === "sampleNo") {
-              sampleNo = item.list[i].fieldValue;
-              break;
-            }
-          }
-          new QRCode(qrcode, {
-            text: sampleNo,
-            width: 100,
-            height: 100,
-            colorDark: "#000000",
-            colorLight: "#ffffff",
-          });
-        });
-        setTimeout(() => {
-          this.printPage("printContent");
-        }, 1500);
-      }, 100);
-    },
-    getpici() {
-      if (JSON.stringify(this.saveRow) === "{}") {
-        this.$message.warning("请点击选中一条您要提交的数据");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("请选择编辑状态!");
-        return;
-      }
-      this.subLoading1 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/getNextBacthNoToRule",
-          this.saveRow,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            let index = this.table.list.findIndex(
-              (arr) => arr.id == this.piciIndex
-            );
-            if (res.data != null) {
-              this.table.list[index].batchNo = res.data;
-            }
-            this.saveRow.batchNo = res.data;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.subLoading1 = false;
-        })
-        .catch((e) => {
-          this.subLoading1 = false;
-          this.$message.error(e.message);
-        });
-    },
-    async submitData() {
-      if (this.selectRows.length == 0) {
-        return this.$message.warning("请至少勾选一条数据进行提交!");
-      }
-      let ids = [];
-      for (let i = 0; i < this.selectRows.length; i++) {
-        let item = this.selectRows[i];
-        if (item.stateFlag === "1") {
-          return this.$message.warning(
-            "委托编号为[" + item.id + "]的数据已经提交,无法再次进行提交!"
-          );
-        }
-        if (item.validFlag === "1") {
-          ids.push(item.id);
-        }
-      }
-      this.subLoading = true;
-      for (let i = 0; i < this.selectRows.length; i++) {
-        let item = this.selectRows[i];
-        const str = await this.axios.post(
-          "pass/testManagement/v1/limstestentrusts/saveLimsTestEntrust",
-          item,
-          { individualType: "json" }
-        );
-        if (str.succeed) {
-          const str1 = await this.axios.post(
-            "pass/testManagement/v1/limstestentrusts/submit",
-            [item.entrId],
-            { individualType: "json" }
-          );
-          if (str1.code == 0 || str1.code == 200) {
-            this.$message.success(str1.message);
-          } else {
-            this.$message.error(str1.message);
-          }
-        } else {
-          this.$message.error(str.message);
-        }
-      }
-      this.subLoading = false;
-      this.refresh();
-    },
-    selectData(val) {
-      this.selectDataList = val;
-    },
-    saveData(row) {
-      this.savaDep = Object.assign({}, row);
-    },
-    addData2() {
-      if (JSON.stringify(this.saveRow) === "{}") {
-        this.$message.warning("请点击选中一条检验委托信息数据");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可进行新增");
-        return;
-      }
-      this.showFlag2 = !this.showFlag2;
-      this.Params2 = null;
-      this.Params = this.saveRow;
-    },
-    enable() {
-      //启用
-      if (this.selectRow1s.length < 1) {
-        this.$message.warning("请至少勾选一条您要启用的数据");
-        return;
-      }
-      // if (this.saveRow.validFlag != 0) {
-      //   this.$message.warning('数据未停用,不可启用!')
-      //   return
-      // }
-      let ids = [];
-      for (let i = 0; i < this.selectRow1s.length; i++) {
-        let item = this.selectRow1s[i];
-        if (item.validFlag === "1") {
-          return this.$message.warning(
-            "委托编号为[" + item.id + "]的数据为启用状态,无法进行启用!"
-          );
-        }
-        if (item.validFlag === "0") {
-          ids.push(item.id);
-        }
-      }
-      this.subLoadingq = true;
-      this.axios
-        .post("pass/testManagement/v1/limstestentrusts/enable", ids, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.mainData();
-            this.mainData1();
-            this.subLoadingq = false;
-            this.$message.success(res.message);
-          } else {
-            this.subLoadingq = false;
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.subLoadingq = false;
-          this.$message.error(e.message);
-        });
-    },
-    disable() {
-      //停用
-      if (this.selectRows.length < 1) {
-        this.$message.warning("请至少勾选一条您要停用的数据");
-        return;
-      }
-      let ids = [];
-      for (let i = 0; i < this.selectRows.length; i++) {
-        let item = this.selectRows[i];
-        if (item.validFlag === "0") {
-          return this.$message.warning(
-            "委托编号为[" + item.id + "]的数据为停用状态,无法进行停用!"
-          );
-        }
-        if (item.validFlag === "1") {
-          ids.push(item.id);
-        }
-      }
-      this.subLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limstestentrusts/disable", ids, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.mainData();
-            this.mainData1();
-            this.subLoading = false;
-          } else {
-            this.subLoading = false;
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.subLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    cancelData() {
-      //取消提交
-      if (this.selectRows.length < 1) {
-        this.$message.warning("请至少勾选一条您要取消提交的数据");
-        return;
-      }
-      // if (this.saveRow.stateFlag != 1) {
-      //   this.$message.warning('数据不是提交状态,不可取消提交!')
-      //   return
-      // }
-      let ids = [];
-      for (let i = 0; i < this.selectRows.length; i++) {
-        let item = this.selectRows[i];
-        if (item.stateFlag === "0") {
-          return this.$message.warning(
-            "委托编号为[" + item.id + "]的数据为编辑状态,无法进行取消提交!"
-          );
-        }
-        if (item.validFlag === "1") {
-          ids.push(item.id);
-        }
-      }
-      this.subLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limstestentrusts/cancel", ids, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.removeNumber();
-            this.mainData();
-            this.mainData1();
-            this.subLoading = false;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.subLoading = false;
-        })
-        .catch((e) => {
-          this.subLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    deleteData2() {
-      if (this.selectDataList.length == 0) {
-        this.$message.warning("请选中计划检验项目信息数据!");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可进行删除");
-        return;
-      }
-      this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          for (let i = 0; i < this.selectDataList.length; i++) {
-            this.axios
-              .post(
-                "pass/testManagement/v1/limstestentrustds/deleteLimsTestEntrustD?id=" +
-                this.selectDataList[i].id,
-                { individualType: "json" }
-              )
-              .then((res) => {
-                if (res.succeed) {
-                  this.dialogTableVisible = false;
-                  this.$message.success("删除成功");
-                  this.depData(this.entrId);
-                } else {
-                  this.$message.error(res.message);
-                }
-              })
-              .catch((e) => {
-                this.$message.error(e.message);
-              });
-          }
-        })
-        .catch(() => { });
-    },
-    searchData() {
-      this.page.pageNum = 1;
-      this.page.pageSize = 200;
-      this.mainData();
-      this.mainData1();
-    },
-    closeDialog() {
-      this.dialogTableCount = false;
-      this.tableCount = [];
-    },
-    countList() {
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime =
-          formatDate(this.search.times[0], "yyyy-MM-dd") + " 00:00:00";
-        endTime = formatDate(this.search.times[1], "yyyy-MM-dd") + " 23:59:59";
-      }
-      let obj = {
-        object: {
-          entrOrgNo: this.search.planCompanyNo, // 委托单位
-          sampleTypeCode: 480103,
-          matName: this.search.matName,
-          batchNo: this.search.batchNo,
-          validFlag: "1",
-          stateFlag: "1",
-        },
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/queryLimsTestEntrustCount",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.tableCount = res.data;
-          this.dialogTableCount = true;
-        })
-        .catch((e) => {
-          this.$message.error("查询错误!");
-        });
-    },
-    mainData() {
-      (this.saveRow = {}), (this.dataLoading = true);
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime =
-          formatDate(this.search.times[0], "yyyy-MM-dd") + " 00:00:00";
-        endTime = formatDate(this.search.times[1], "yyyy-MM-dd") + " 23:59:59";
-      }
-      let tempobj = {
-        object: {
-          sampleTypeCode: "480103",
-          isBatch: "",
-          entrOrgNo: this.search.planCompanyNo, // 委托单位
-          matName: this.search.matName,
-          batchNo: this.search.batchNo,
-          carNo: this.search.carNo,
-          validFlag: "1",
-        },
-        sampleNo: this.search.sampleNo,
-        pageIndex: this.page.pageNum,
-        pageSize: this.page.pageSize,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/queryLimsTestEntrustPage/",
-          tempobj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.dataLoading = false;
-          this.table.list = res.data.list;
-          if (this.table.list.length > 0) {
-            this.$refs.dataTable.setCurrentRow(this.table.list[0]);
-            this.searchFollow(this.table.list[0]);
-          }
-          this.table.list.forEach((item) => {
-            item.stateFlag1 =
-              item.validFlag == "0"
-                ? "已停用"
-                : item.stateFlag === "0"
-                  ? "编辑"
-                  : item.stateFlag === "1"
-                    ? "提交"
-                    : "";
-            item.entrTime1 = formatDate(item.entrTime, "yyyy-MM-dd");
-          });
-          this.page.totalPage = res.data.total;
-        })
-        .catch((e) => {
-          this.dataLoading = false;
-        });
-    },
-    mainData1() {
-      (this.saveRow = {}), (this.invalidLoading = true);
-      let startTime = "";
-      let endTime = "";
-      if (!this.search.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        startTime =
-          formatDate(this.search.times[0], "yyyy-MM-dd") + " 00:00:00";
-        endTime = formatDate(this.search.times[1], "yyyy-MM-dd") + " 23:59:59";
-      }
-      let tempobj = {
-        object: {
-          sampleTypeCode: "480103",
-          isBatch: "",
-          entrOrgNo: this.search.planCompanyNo, // 委托单位
-          matName: this.search.matName,
-          batchNo: this.search.batchNo,
-          carNo: this.search.carNo,
-          validFlag: "0",
-        },
-        sampleNo: this.search.sampleNo,
-        pageIndex: this.page.pageNum,
-        pageSize: this.page.pageSize,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/queryLimsTestEntrustPage/",
-          tempobj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.invalidLoading = false;
-          this.table.list1 = res.data.list;
-          this.table.list1.forEach((item) => {
-            item.stateFlag1 =
-              item.validFlag == "0"
-                ? "已停用"
-                : item.stateFlag === "0"
-                  ? "编辑"
-                  : item.stateFlag === "1"
-                    ? "提交"
-                    : "";
-            item.entrTime1 = formatDate(item.entrTime, "yyyy-MM-dd");
-          });
-        })
-        .catch((e) => {
-          this.invalidLoading = false;
-        });
-    },
-    searchFollow(row) {
-      this.saveRow = Object.assign({}, row);
-      // this.editRow = row
-      this.entrId = row.entrId ? row.entrId : "";
-      this.depData(this.entrId);
-      this.getRevMsg(this.entrId);
-      this.getSendMsg(this.entrId);
-    },
-    selectRow(val) {
-      this.selectRows = val;
-    },
-    selectRow1(val) {
-      this.selectRow1s = val;
-    },
-    getRevMsg(entrId) {
-      if (!entrId) {
-        return this.$message.warning("获取接收电文参数错误! entrId为空!");
-      }
-      this.dataLoading3 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/queryMsgByEntrId",
-          { object: { entrId: entrId }, pageIndex: 1, pageSize: 999 },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.dataLoading3 = false;
-            this.table.list3 = res.data.list;
-          } else {
-            this.dataLoading3 = false;
-            return this.$message.warning(res.message);
-          }
-        })
-        .catch((e) => {
-          this.dataLoading3 = false;
-          return this.$message.error(e.message);
-        });
-    },
-    getSendMsg(entrId) {
-      if (!entrId) {
-        return this.$message.warning("获取发送电文参数错误! entrId为空!");
-      }
-      this.dataLoading4 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrusts/queryMsgByEntrIdAndSampleNo",
-          { object: { entrId: entrId }, pageIndex: 1, pageSize: 999 },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.dataLoading4 = false;
-            this.table.list4 = res.data.list;
-          } else {
-            this.dataLoading4 = false;
-            return this.$message.warning(res.message);
-          }
-        })
-        .catch((e) => {
-          this.dataLoading4 = false;
-          return this.$message.error(e.message);
-        });
-    },
-    depData(entrId) {
-      (this.savaDep = {}), (this.dataLoading2 = true);
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestentrustds/queryLimsTestEntrustDPage",
-          { object: { entrId: entrId }, pageIndex: 1, pageSize: 999 },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.dataLoading2 = false;
-          this.table.list2 = res.data.list;
-          this.table.list2.forEach((item) => {
-            item.stateFlag1 =
-              item.stateFlag === "0"
-                ? "编辑"
-                : item.stateFlag === "1"
-                  ? "提交"
-                  : "";
-            item.entrTime1 = formatDate(item.entrTime, "yyyy-MM-dd");
-          });
-        })
-        .catch((e) => {
-          this.dataLoading2 = false;
-        });
-    },
-    reset() {
-      this.search.times = [this.getYNM(new Date()), this.getYNM(new Date())];
-      this.search.planCompanyNo = "";
-      this.search.matName = "";
-      this.searchData();
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection3 = val;
-    },
-    pageSizeChange(size) {
-      this.page.pageSize = size;
-      this.mainData();
-    },
-    pageCurrentChange(index) {
-      this.page.pageNum = index;
-      this.mainData();
-    },
-    async pageSizeChange3(size) {
-      this.page3.pageSize = size;
-      await this.getQrCodeInfoListAndSetDefault();
-    },
-    async pageCurrentChange3(index) {
-      this.page3.pageNum = index;
-      await this.getQrCodeInfoListAndSetDefault();
-    },
-    handleSelectionChange2(val) {
-      this.multipleSelection4 = val;
-    },
-    addScreen() {
-      this.$nextTick(() => {
-        let ss = document.createElement("div");
-        ss.innerHTML = "筛选";
-        ss.style = "text-align: center;";
-        this.$refs.dataTable.$el
-          .getElementsByClassName("el-table__fixed")[0]
-          .getElementsByTagName("td")[0]
-          .appendChild(ss);
-      });
-    },
-    addScreen2() {
-      this.$nextTick(() => {
-        let ss = document.createElement("div");
-        ss.innerHTML = "筛选";
-        ss.style = "text-align: center;";
-        this.$refs.dataTable2.$el
-          .getElementsByClassName("el-table__fixed")[0]
-          .getElementsByTagName("td")[0]
-          .appendChild(ss);
-      });
-    },
-    tableRowClassName({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 13) {
-        if (row.validFlag !== "1") {
-          return "error-row";
-        }
-      }
-      if (columnIndex === 2) {
-        if (row.validFlag !== "1") {
-          return "error-row";
-        }
-        if (row.stateFlag === "1") {
-          return "error-green";
-        }
-        return "";
-      }
-    },
-    tableRowClassName2({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 5) {
-        if (row.validFlag !== "1") {
-          return "error-row";
-        }
-        return "";
-      }
-    },
-    tableHeaderCellStyle() {
-      return "color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;";
-    },
-
-    // 1 显示编辑二维码弹窗
-    async showQRCodeInfo() {
-      if (this.selectRows.length === 0) {
-        this.$message.warning("请勾选您要编辑二维码的数据");
-        return;
-      }
-      if (this.selectRows.length > 1) {
-        this.$message.warning("一次只能编辑一个二维码");
-        return;
-      }
-      let flag = this.selectRows.some((u) => u.stateFlag != 1);
-      if (flag) {
-        return this.$message.warning(
-          "未提交数据不允许进行打印,请重新进行勾选"
-        );
-      }
-      this.isShowQrCodeInfo = true;
-
-      let entrIds = [];
-      this.selectRows.forEach((p) => {
-        entrIds.push(p.entrId);
-      });
-      // 2 初始化二维码信息
-      await this.initQrCode(this.selectRows[0].id);
-      // 3 获取二维码信息
-      await this.getQrCodeInfoListAndSetDefault();
-    },
-    // 初始化二维码信息
-    async initQrCode(id) {
-      await this.axios.get(
-        "pass/testManagement/v1/limssampleprints/initData/" + id,
-        {
-          params: {
-            dataType: 1,
-            isReset: 0,
-          },
-        },
-        { individualType: "json" }
-      );
-    },
-    // 获取二维码信息
-    async getQrCodeInfoList() {
-      const res = await this.axios.get(
-        "pass/testManagement/v1/limssampleprints/",
-        {
-          params: {
-            pageNum: this.page3.pageNum,
-            pageSize: this.page3.pageSize,
-            dataSourceId: this.selectRows[0].id,
-            isDelete: 0,
-          },
-        },
-        { individualType: "json" }
-      );
-      if (res.code == 0 || res.code == 200) {
-        this.qrCodeInfoData = res.data.list || [];
-        this.page3.totalPage = res.data.total;
-      } else {
-        this.$message.error(res.message);
-      }
-      return res;
-    },
-    // 获取二维码信息
-    async getQrCodeInfoListById(dataSourceId) {
-      const res = await this.axios.get(
-        "pass/testManagement/v1/limssampleprints/",
-        {
-          params: {
-            pageNum: 1,
-            pageSize: 999,
-            dataSourceId,
-          },
-        },
-        { individualType: "json" }
-      );
-      return res;
-    },
-    handleQrCodeInfoSelectionChange(val) {
-      console.log("handleQrCodeInfoSelectionChange");
-      console.log(this.qrCodeInfoData);
-      // 初始化勾选期间不进行操作
-      if (!this.isSetDefault) {
-        this.qrCodeInfoData.forEach((item) => {
-          item.isCheck = 0;
-        });
-        val.forEach((item) => {
-          item.isCheck = 1;
-        });
-      }
-    },
-    // 打开新增弹窗
-    addQrCodeInfo() {
-      this.isShowAddQrCodeInfo = true;
-    },
-    // 设置默认选中
-    setDefaultSelected() {
-      console.log("setDefaultSelected");
-      this.isSetDefault = true;
-      this.qrCodeInfoData.forEach((item) => {
-        if (item.isCheck === 1) {
-          console.log(item);
-          this.$refs.qrCodeInfoTable.toggleRowSelection(item, true);
-        }
-      });
-      this.isSetDefault = false;
-    },
-    // 确认添加
-    confirmAddQrCodeInfo() {
-      this.qrCodeInfoData.push({
-        ...this.addQrCodeInfoForm,
-        fieldKey: Date.now(),
-        dataSourceId: this.selectRows[0].id,
-        isCheck: 0,
-        isDelete: 0,
-        dataSourceType: 1, // 0 原料 1 成品 2 临时
-      });
-      this.isShowAddQrCodeInfo = false;
-    },
-    // 打开编辑窗口
-    editQrCodeInfoRow(index, row) {
-      this.editQrCodeInfoForm = row;
-      console.log("editQrCodeInfoRow");
-      console.log(this.editQrCodeInfoForm);
-      this.editQrCodeInfoIndex = index;
-      this.isShowEditQrCodeInfo = true;
-    },
-    // 删除二维码字段
-    delQrCodeInfoRow(index, row) {
-      this.qrCodeInfoData.splice(index, 1);
-      if (row.id) {
-        this.deleteIds.push(row.id);
-      }
-    },
-    // 确认编辑
-    confirmEditQrCodeInfo() {
-      this.$set(
-        this.qrCodeInfoData,
-        this.editQrCodeInfoIndex,
-        this.editQrCodeInfoForm
-      );
-      this.isShowEditQrCodeInfo = false;
-    },
-    // 重置二维码信息
-    resetQrCodeInfo() {
-      this.$confirm("确定重置二维码信息吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      }).then(async () => {
-        await this.axios.get(
-          "pass/testManagement/v1/limssampleprints/initData/" +
-          this.selectRows[0].id,
-          {
-            params: {
-              dataType: 1,
-              isReset: 1,
-            },
-          },
-          { individualType: "json" }
-        );
-        // 获取二维码信息
-        const res = await this.getQrCodeInfoListAndSetDefault();
-        this.$message.success(res.message);
-      });
-    },
-    // 保存二维码
-    async saveQRCode() {
-      console.log(this.qrCodeInfoData);
-      // 批量删除
-      const res = await this.axios.post(
-        "pass/testManagement/v1/limssampleprints/batchDelete/",
-        this.deleteIds,
-        { individualType: "json" }
-      );
-      if (res.code == 0 || res.code == 200) {
-        this.deleteIds = [];
-      }
-      // 批量更新
-      const res2 = await this.axios.post(
-        "pass/testManagement/v1/limssampleprints/batchUpdate/",
-        this.qrCodeInfoData,
-        { individualType: "json" }
-      );
-      if (res2.code == 0 || res2.code == 200) {
-        this.$message.success(res2.message);
-        await this.getQrCodeInfoListAndSetDefault();
-        // this.isShowQrCodeInfo = false;
-      }
-    },
-    async getQrCodeInfoListAndSetDefault() {
-      this.isSetDefault = true;
-      await this.getQrCodeInfoList();
-      this.$nextTick(async () => {
-        // 设置默认选中
-        this.setDefaultSelected();
-      });
-    },
-    // 保存并打印二维码
-    async saveAndPrintQRCode() {
-      await this.saveQRCode();
-      this.printQRCode();
-    },
-  },
-};
-</script>
-<style scoped></style>
+<!-- 检验委托-成品 -->
+<template>
+  <div class="examination">
+    <div class="common-head-search">
+      <el-form :inline="true">
+        <el-form-item label="委托单位">
+          <el-select v-model="search.planCompanyNo" clearable filterable collapse-tags size="small"
+            style="width: 200px; margin-right: 10px" placeholder="请选择查询内容">
+            <el-option v-for="item in entrOrgNameType" :key="item.baseName" :label="item.orgName" :value="item.orgCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="物料名称">
+          <el-input v-model="search.matName" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
+            style="width: 200px; margin-right: 10px"></el-input>
+        </el-form-item>
+        <el-form-item label="批次号">
+          <el-input v-model="search.batchNo" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
+            style="width: 200px; margin-right: 10px"></el-input>
+        </el-form-item>
+        <el-form-item label="委托编号">
+          <el-input v-model="search.carNo" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
+            style="width: 200px; margin-right: 10px" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="中心编号">
+          <el-input v-model="search.sampleNo" size="small" @keyup.enter.native="searchData()" placeholder="请输入查询内容"
+            style="width: 200px; margin-right: 10px" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="委托日期">
+          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="开始日期" size="mini" style="width: 140px">
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="结束日期" size="mini" style="width: 140px">
+          </el-date-picker>
+          <!-- <el-date-picker
+            v-model="search.times"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            style="width: 300px"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd"
+          >
+          </el-date-picker> -->
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
+          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="reset">重置</el-button>
+        </el-form-item>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <el-input v-model="values" ref="autoInput" size="mini" style="display: inline-block; width: 150px"
+          @input="autoSubmit()" placeholder="扫码接收" clearable :disabled="inputLoading"></el-input>
+      </el-form>
+    </div>
+    <el-row>
+      <el-col :span="14">
+        <el-tabs v-model="activeName" type="border-card">
+          <el-tab-pane label="有效委托" name="first">
+            <div class="common-title-div" style="height: auto; margin-top: -10px">
+              <div class="common-title-name" style="width: 280px">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                检验委托信息
+              </div>
+              <el-button icon="el-icon-search" style="height: 100%; margin-left: -220px; margin-top: 28px" type="goon"
+                size="mini" @click="countList">物料统计</el-button>
+              <div>
+                <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini" v-privilege="activeMenu + 'add'"
+                  @click="addData" style="border: 3px">新增</el-button>
+                <!-- <el-button icon="el-icon-edit" type="goon" size="mini" @click="modifyData">修改</el-button> -->
+                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoading"
+                  v-privilege="activeMenu + 'submit'" @click="submitData" style="border: 3px">提交</el-button>
+                <el-button icon="el-icon-edit" type="goon" size="mini" v-privilege="activeMenu + 'PUT'"
+                  @click="modifyData" style="border: 3px">修改</el-button>
+                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoading8" @click="updateSampleNo"
+                  style="border: 3px">修改委托编号</el-button>
+                <el-button icon="el-icon-back" type="danger" size="mini" :loading="subLoading"
+                  v-privilege="activeMenu + 'submit'" @click="cancelData" style="margin-top: 2px">取消提交</el-button>
+                <el-button icon="el-icon-back" type="danger" size="mini" :loading="subLoading"
+                  v-privilege="activeMenu + 'submit'" @click="disable" style="border: 3px">停用</el-button>
+                <el-button icon="el-icon-download" type="goon" size="mini" :loading="exportFileLoading"
+                  @click="exportFile">导出检测委托书</el-button>
+                <el-button icon="el-icon-edit-outline" type="goon" size="mini" :loading="false"
+                  @click="showQRCodeInfo">编辑二维码</el-button>
+                <el-button icon="el-icon-printer" type="goon" size="mini" :loading="printLoading" @click="printQRCode"
+                  style="border: 3px">打印标签</el-button>
+              </div>
+            </div>
+            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
+              <el-table id="excelTable" v-loading="dataLoading" ref="dataTable" border :height="height_top"
+                highlight-current-row @row-click="saveDataMain" :data="table.list" :icore-filter-flag="icoreFilterFlag"
+                :header-cell-style="tableHeaderCellStyle" @cell-click="searchFollow" @selection-change="selectRow"
+                :cell-class-name="tableRowClassName" :summary-method="getSummaries" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" width="35" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="60px" prop="stateFlag1" label="状态"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="carNo" label="委托编号"
+                  align="center">
+                  <template slot-scope="{ row }">
+                    <el-input v-model="row.carNo" size="small" style="width: 100%">
+                    </el-input>
+                  </template>
+                </el-table-column>
+                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="entrId" label="委托编号" align="center"></el-table-column> -->
+                <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="sampleNo" label="中心编号"
+                  align="center"></el-table-column>
+                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="id" label="编号" align="center"></el-table-column> -->
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="planCompanyName" label="委托单位"  align="center"></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="125px" prop="matName" label="物料名称"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="entrTime1" label="委托日期"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="memo" label="备注"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planCompanyName"
+                  label="生产单位" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planDeptName"
+                  label="生产车间" align="center"></el-table-column>
+                <!-- <el-table-column
+                    sortable
+                    :show-overflow-tooltip="true"
+                    min-width="150px"
+                    prop="batchNo"
+                    label="批次号"
+                    align="center"
+                  >
+                    <template slot-scope="{ row }">
+                      <el-input
+                        v-if="row.stateFlag == '0'"
+                        v-model="row.batchNo"
+                        size="small"
+                        style="width: 100%"
+                      >
+                      </el-input>
+                      <span v-else>{{ row.batchNo }}</span>
+                    </template>
+                  </el-table-column> -->
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="entrTypeName" label="委托类型"  align="center"></el-table-column>
+                  <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="sampleTypeName" label="样品类型" align="center"></el-table-column>
+                  <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="gradeName" label="牌号" align="center"></el-table-column>
+                  <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matClassName" label="物料分类"  align="center"></el-table-column> -->
+
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="testTypeName"
+                  label="检验类型" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeliName"
+                  label="取样频次" align="center"></el-table-column>
+                <!-- <el-table-column
+                    sortable
+                    :show-overflow-tooltip="true"
+                    min-width="80px"
+                    prop="gradeName"
+                    label="牌号"
+                    align="center"
+                  ></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matShapeName"
+                  label="试样形状" align="center"></el-table-column>
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="anlyItemName" label="分析项目"  align="center"></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="companyName"
+                  label="检验单位" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="deptName" label="检验车间"
+                  align="center"></el-table-column>
+                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="sectionName"
+                  label="检验班组" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpCompanyName"
+                  label="取样单位" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeptName"
+                  label="取样车间" align="center"></el-table-column>
+                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="smpSectionName"
+                  label="取样班组" align="center"></el-table-column>
+                <!-- <el-table-column
+                    sortable
+                    :show-overflow-tooltip="true"
+                    min-width="100px"
+                    prop="spec"
+                    label="规格"
+                    align="center"
+                  ></el-table-column> -->
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="rollNo" label="轧批号" align="center"></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="createMan" label="创建人"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="createTime" label="创建时间"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="updateMan" label="修改人"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="updateTime" label="修改时间"
+                  align="center"></el-table-column>
+              </el-table>
+            </div>
+            <div class="common-foot-style">
+              <el-pagination @size-change="pageSizeChange" @current-change="pageCurrentChange"
+                :current-page="page.pageNum" :page-sizes="[100, 200, 500, 800, 1000]" :page-size="page.pageSize"
+                layout="total, sizes, prev, pager, next, jumper" :total="page.totalPage" background>
+              </el-pagination>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="停用委托" name="first1">
+            <div class="common-title-div" style="height: auto; margin-top: -10px">
+              <div class="common-title-name" style="width: 280px">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                检验委托信息
+              </div>
+              <div>
+                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoadingq"
+                  v-privilege="activeMenu + 'submit'" @click="enable" style="border: 3px">启用</el-button>
+                <el-button icon="el-icon-check" type="goon" size="mini" :loading="subLoadingq"
+                  v-privilege="activeMenu + 'submit'" @click="removeNumber"
+                  style="border: 3px; margin-top: 3px">清除编号</el-button>
+              </div>
+            </div>
+            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
+              <el-table id="invalidTable" v-loading="invalidLoading" ref="dataTable" border :height="height_top"
+                highlight-current-row @row-click="saveDataMain" :data="table.list1" :icore-filter-flag="icoreFilterFlag"
+                :header-cell-style="tableHeaderCellStyle" @cell-click="searchFollow" @selection-change="selectRow1"
+                :cell-class-name="tableRowClassName" :summary-method="getSummaries" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" width="35" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="60px" prop="stateFlag1" label="状态"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="carNo" label="委托编号"
+                  align="center">
+                  <template slot-scope="{ row }">
+                    <el-input v-model="row.carNo" size="small" style="width: 100%">
+                    </el-input>
+                  </template>
+                </el-table-column>
+                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="entrId" label="委托编号" align="center"></el-table-column> -->
+                <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="sampleNo" label="中心编号"
+                  align="center"></el-table-column>
+                <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="id" label="编号" align="center"></el-table-column> -->
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="planCompanyName" label="委托单位"  align="center"></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="125px" prop="matName" label="物料名称"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="entrTime1" label="委托日期"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="memo" label="备注"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planCompanyName"
+                  label="生产单位" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="planDeptName"
+                  label="生产车间" align="center"></el-table-column>
+                <!-- <el-table-column
+                    sortable
+                    :show-overflow-tooltip="true"
+                    min-width="150px"
+                    prop="batchNo"
+                    label="批次号"
+                    align="center"
+                  >
+                    <template slot-scope="{ row }">
+                      <el-input
+                        v-if="row.stateFlag == '0'"
+                        v-model="row.batchNo"
+                        size="small"
+                        style="width: 100%"
+                      >
+                      </el-input>
+                      <span v-else>{{ row.batchNo }}</span>
+                    </template>
+                  </el-table-column> -->
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="entrTypeName" label="委托类型"  align="center"></el-table-column>
+                  <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="sampleTypeName" label="样品类型" align="center"></el-table-column>
+                  <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="gradeName" label="牌号" align="center"></el-table-column>
+                  <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matClassName" label="物料分类"  align="center"></el-table-column> -->
+
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="testTypeName"
+                  label="检验类型" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeliName"
+                  label="取样频次" align="center"></el-table-column>
+                <!-- <el-table-column
+                    sortable
+                    :show-overflow-tooltip="true"
+                    min-width="80px"
+                    prop="gradeName"
+                    label="牌号"
+                    align="center"
+                  ></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="matShapeName"
+                  label="试样形状" align="center"></el-table-column>
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="anlyItemName" label="分析项目"  align="center"></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="companyName"
+                  label="检验单位" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="deptName" label="检验车间"
+                  align="center"></el-table-column>
+                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="sectionName"
+                  label="检验班组" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpCompanyName"
+                  label="取样单位" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="smpDeptName"
+                  label="取样车间" align="center"></el-table-column>
+                <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="smpSectionName"
+                  label="取样班组" align="center"></el-table-column>
+                <!-- <el-table-column
+                    sortable
+                    :show-overflow-tooltip="true"
+                    min-width="100px"
+                    prop="spec"
+                    label="规格"
+                    align="center"
+                  ></el-table-column> -->
+                <!-- <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="rollNo" label="轧批号" align="center"></el-table-column> -->
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="createMan" label="创建人"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="createTime" label="创建时间"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="95px" prop="updateMan" label="修改人"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="updateTime" label="修改时间"
+                  align="center"></el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+      <el-col :span="10">
+        <el-tabs v-model="activeName2" type="border-card" class="testManagement_left">
+          <el-tab-pane label="检验项目" name="first">
+            <div class="common-title-div" style="height: 75px; margin-top: 25px">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                计划检验项目表
+              </div>
+              <div>
+                <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini"
+                  v-privilege="activeMenu + 'addDep'" @click="addData2">新增</el-button>
+                <el-button icon="el-icon-remove-outline" type="danger" size="mini"
+                  v-privilege="activeMenu + 'deleteDep'" @click="deleteData2">删除</el-button>
+              </div>
+            </div>
+            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
+              <el-table v-loading="dataLoading2" ref="dataTable2" border :height="height_bot" @row-click="saveData"
+                highlight-current-row @selection-change="selectData" :data="table.list2"
+                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+                :cell-class-name="tableRowClassName2" :summary-method="getSummaries" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="90px" prop="anlyItemNo"
+                  label="分析项目编号" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="anlyItemName"
+                  label="分析项目" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="minSign" label="下限符"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="90px" prop="minValue" label="最小值"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="maxSign" label="上限符"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="90px" prop="maxValue" label="最大值"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="memo" label="备注"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="createMan" label="创建人"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="160px" prop="createTime" label="创建时间"
+                  align="center"></el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="接收电文" name="second">
+            <div class="common-title-div" style="height: 75px; margin-top: 25px">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                接收电文
+              </div>
+              <div></div>
+            </div>
+            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
+              <el-table v-loading="dataLoading3" ref="dataTable3" border :height="height_bot" highlight-current-row
+                :data="table.list3" :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+                :cell-class-name="tableRowClassName2" :summary-method="getSummaries" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="400px" prop="msgSource" label="电文内容"
+                  align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="createDate" label="创建时间"
+                  align="center"></el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="发送电文" name="three">
+            <div class="common-title-div" style="height: 75px; margin-top: 25px">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                发送电文
+              </div>
+              <div></div>
+            </div>
+            <div class="common-table-div" style="margin-bottom: 0; margin-top: 0">
+              <el-table v-loading="dataLoading4" ref="dataTable2" border :height="height_bot" highlight-current-row
+                :data="table.list4" :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+                :cell-class-name="tableRowClassName2" :summary-method="getSummaries" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="600px" prop="msgSource" label="电文内容"
+                  align="center"></el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+    <div is="alertComponets" :showFlag="showFlag" :Params="Params" @refresh="refresh"></div>
+    <div is="alertComponets2" :showFlag2="showFlag2" :Params="Params" :Params2="Params2" @refresh="refresh2"></div>
+    <div is="alertComponets3" :showFlag="showFlag3" :Params="Params3" @refresh="refresh3"></div>
+    <el-dialog @close="closeDialog" :visible.sync="dialogTableCount" width="80%">
+      <el-table id="excelTable3" ref="dataTable3" border :data="tableCount">
+        <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="MAT_NAME" label="物料编号"
+          align="center"></el-table-column>
+        <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="COUNT" label="个数"
+          align="center"></el-table-column>
+      </el-table>
+    </el-dialog>
+    <div id="printContainer2" style="margin-left: 20px; margin-top: 3px" v-show="false">
+      <div id="printContent">
+        <div v-for="item in printData" :key="item.id" style="width: 439px; border: 1px solid #fff; position: relative">
+          <div>
+            <div v-for="subItem in item.list" :key="subItem.id" style="font-size: 15px">
+              {{ subItem.fieldKeyName }}:{{ subItem.fieldValue }}
+            </div>
+            <div :id="`Qrcode${item.id}`" style="margin-top: 20px"></div>
+            <div v-if="printData.length > 1" style="page-break-after: always"></div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!-- 二维码编辑 -->
+    <el-dialog title="二维码信息详情" :visible.sync="isShowQrCodeInfo" width="70%">
+      <el-button type="goon" size="mini" @click="addQrCodeInfo" style="margin-bottom: 10px">新增</el-button>
+      <el-button type="goon" size="mini" @click="resetQrCodeInfo" style="margin-bottom: 10px">重置</el-button>
+      <el-table ref="qrCodeInfoTable" :data="qrCodeInfoData" stripe border tooltip-effect="dark" height="500"
+        @selection-change="handleQrCodeInfoSelectionChange">
+        <el-table-column type="selection" width="55" align="center">
+        </el-table-column>
+        <el-table-column label="字段名" align="center" prop="fieldKeyName">
+        </el-table-column>
+        <el-table-column prop="fieldValue" label="字段值" align="center">
+        </el-table-column>
+        <el-table-column label="操作" width="120" align="center">
+          <template slot-scope="scope">
+            <el-button @click="editQrCodeInfoRow(scope.$index, scope.row)" type="text" size="small">
+              编辑
+            </el-button>
+            <el-button v-if="scope.row.fieldKey != 'sampleNo'" @click="delQrCodeInfoRow(scope.$index, scope.row)"
+              type="text" size="small">
+              删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <div style="
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+          ">
+          <div>
+            <el-pagination @size-change="pageSizeChange3" @current-change="pageCurrentChange3"
+              :current-page="page3.pageNum" :page-sizes="[10, 20, 30, 50, 100]" :page-size="page3.pageSize"
+              layout="total, sizes, prev, pager, next, jumper" :total="page3.totalPage" background>
+            </el-pagination>
+          </div>
+          <div>
+            <el-button size="mini" @click="isShowQrCodeInfo = false">取消</el-button>
+            <el-button size="mini" icon="el-icon-printer" type="primary" @click="saveQRCode">保存</el-button>
+            <el-button size="mini" icon="el-icon-printer" type="primary" @click="saveAndPrintQRCode">保存打印二维码</el-button>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+    <!-- 新增二维码字段 -->
+    <el-dialog title="新增二维码字段信息" :visible.sync="isShowAddQrCodeInfo" width="30%">
+      <el-form :model="addQrCodeInfoForm">
+        <el-form-item label="字段名">
+          <el-input v-model="addQrCodeInfoForm.fieldKeyName" auto-complete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="字段值">
+          <el-input v-model="addQrCodeInfoForm.fieldValue" auto-complete="off"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="isShowAddQrCodeInfo = false">取消</el-button>
+        <el-button size="mini" type="primary" @click="confirmAddQrCodeInfo">确定</el-button>
+      </div>
+    </el-dialog>
+    <!-- 编辑二维码字段 -->
+    <el-dialog title="编辑二维码字段信息" :visible.sync="isShowEditQrCodeInfo" width="30%">
+      <el-form :model="editQrCodeInfoForm">
+        <el-form-item label="字段名">
+          <el-input v-model="editQrCodeInfoForm.fieldKeyName" auto-complete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="字段值">
+          <el-input v-model="editQrCodeInfoForm.fieldValue" auto-complete="off"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="isShowEditQrCodeInfo = false">取消</el-button>
+        <el-button size="mini" type="primary" @click="confirmEditQrCodeInfo">确定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import { getCookie, formatDate } from "@/utils/util.js";
+import { cookieUserId, cookieUserName } from "@/config/config.js";
+import alertComponets from "./alertComponents";
+import alertComponets2 from "./alertComponents2";
+import alertComponets3 from "./alertComponents3";
+import JsBarcode from "jsbarcode";
+let userName = getCookie(cookieUserName);
+let userId = getCookie(cookieUserId);
+export default {
+  components: { alertComponets, alertComponets2, alertComponets3 },
+  data() {
+    return {
+      table: {
+        list: [],
+        list1: [],
+        list2: [],
+        list3: [],
+        list4: [],
+      },
+      activeName: "first",
+      activeName2: "first",
+      dataLoading: false,
+      invalidLoading: false,
+      dataLoading2: false,
+      dataLoading3: false,
+      dataLoading4: false,
+      subLoading: false,
+      subLoading1: false,
+      subLoading2: false,
+      subLoading3: false,
+      subLoadingq: false,
+      icoreFilterFlag: true,
+      values: "",
+      inputLoading: false,
+      timeId: null,
+      page: {
+        pageSize: 200,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      page3: {
+        pageSize: 10,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      saveRow: {},
+      savaDep: {},
+      list: [],
+      entrId: "",
+      showFlag: false,
+      showFlag3: false,
+      Params3: {},
+      Params: {},
+      showFlag2: false,
+      Params2: {},
+      entrOrgNameType: [],
+      entrOrgNameType1: [],
+      selectDataList: [],
+      sampleTypeNameType: [],
+      multipleSelection3: [],
+      multipleSelection4: [],
+      tableCount: [],
+      dialogTableCount: false,
+      search: {
+        batchNo: "",
+        entrTime: "",
+        times: [],
+        planCompanyName: "",
+        matName: "",
+        carNo:"",
+        sampleNo:""
+        
+      },
+      height_top: 0,
+      height_bot: 0,
+      activeMenu: "",
+      piciIndex: "",
+      printData: [],
+      printLoading: false,
+      exportFileLoading: false,
+      // editRow: {},
+      selectRows: [],
+      selectRow1s: [],
+      subLoading8: false,
+
+      isShowQrCodeInfo: false,
+      qrCodeInfoData: [],
+      isShowAddQrCodeInfo: false,
+      addQrCodeInfoForm: {},
+      isShowEditQrCodeInfo: false,
+      editQrCodeInfoForm: {},
+      editQrCodeInfoIndex: 0,
+      deleteIds: [],
+      isSetDefault: false,
+    };
+  },
+  created() {
+    this.height_top = window.innerHeight - 200;
+    this.height_bot = window.innerHeight - 200;
+    this.search.times = [this.getYNM(new Date()), this.getYNM(new Date())];
+    this.activeMenu = window.top.localStorage.getItem("activeMenu");
+  },
+  mounted() {
+    this.axios
+    
+      .post(
+        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
+        {},
+        { individualType: "json" }
+      )
+      .then((response) => {
+        this.entrOrgNameType = response.data;
+      });
+    this.searchData();
+    this.addScreen();
+    this.addScreen2();
+  },
+  methods: {
+    getYNM(date) {
+      let year = date.getFullYear().toString();
+      let month = date.getMonth() + 1;
+      let day = date.getDate();
+      month = month < 10 ? "0" + month : month;
+      day = day < 10 ? "0" + day : day;
+      return `${year}-${month}-${day}`;
+    },
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "合计";
+        }
+        if (index === 1) {
+          sums[index] = data.length;
+        }
+      });
+      return sums;
+    },
+    refresh() {
+      this.mainData();
+    },
+    refresh2() {
+      this.depData(this.entrId);
+    },
+    refresh3() {
+      this.mainData();
+    },
+    saveDataMain(row) {
+      this.piciIndex = row.id;
+      this.saveRow = Object.assign({}, row);
+    },
+    addData() {
+      let _this = this;
+      _this.showFlag = !_this.showFlag;
+      _this.Params = null;
+    },
+    modifyData() {
+      if (JSON.stringify(this.saveRow) === "{}") {
+        this.$message.warning("请点击选中一条您要修改的数据");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可进行修改");
+        return;
+      }
+      this.Params3 = this.saveRow;
+      this.showFlag3 = !this.showFlag3;
+    },
+    update() {
+      if (JSON.stringify(this.saveRow) === "{}") {
+        this.$message.warning("请点击选中一条您要提交的数据");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("请选择编辑状态!");
+        return;
+      }
+      let index = this.table.list.findIndex((arr) => arr.id == this.piciIndex);
+      let arr = this.table.list[index];
+      this.subLoading2 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/updateEntrustBatchNo",
+          arr,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.mainData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.subLoading2 = false;
+        })
+        .catch((e) => {
+          this.subLoading2 = false;
+          this.$message.error(e.message);
+        });
+    },
+    //清除中心编号的生成规则的记录
+    removeNumber() {
+      this.subLoadingq = true;
+      this.axios
+        .post("pass/testManagement/v1/api/reflection/removeMapPkALL")
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.subLoadingq = false;
+            this.$message.success(res.message);
+          } else {
+            this.subLoadingq = false;
+            this.$message.error(res.message);
+          }
+        });
+    },
+    updateSampleNo() {
+      if (this.selectRows.length == 0) {
+        return this.$message.warning("请至少勾选一条您要修改的数据!");
+      }
+      this.subLoading8 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/saveLimsTestEntrustList",
+          this.selectRows,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.succeed) {
+            this.subLoading8 = false;
+            this.$message.success("修改成功");
+            this.searchData();
+          } else {
+            this.subLoading8 = false;
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.subLoading8 = false;
+          this.$message.error(e.message);
+        });
+    }, //扫码提交
+    autoSubmit() {
+      if (!this.values) {
+        this.$message.warning("请先用扫码枪扫描标签");
+        return;
+      }
+      if (!this.timeId) {
+        this.timeId = setTimeout(() => {
+          this.inputLoading = true;
+          this.axios
+            .post(
+              "pass/testManagement/v1/limstestentrusts/scanningSubmit",
+              { carNo: this.values },
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.$nextTick(() => {
+                  this.$refs.autoInput.focus();
+                });
+                this.values = "";
+                this.inputLoading = false;
+                this.$message.success("操作成功!");
+                this.mainData();
+              } else {
+                this.$nextTick(() => {
+                  this.$refs.autoInput.focus();
+                });
+                this.values = "";
+                this.inputLoading = false;
+                this.$message.error(res.message);
+              }
+            })
+            .catch((e) => {
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+              this.$message.error(e.message);
+            });
+          this.timeId = null;
+        }, 1000);
+      }
+    },
+    exportFile() {
+      if (this.selectRows.length == 0) {
+        this.$message.warning("请勾选您要导出的一条数据!");
+        return;
+      }
+      this.exportFileLoading = true;
+      let str = [];
+      this.selectRows.forEach((s) => {
+        str.push(s.entrId);
+      });
+      this.axios
+        .get(
+          "pass/testManagement/v1/limstestentrusts/newJywts/" + str,
+          { responseType: "blob" },
+          { headers: { "content-type": "application/x-www-form-urlencoded" } }
+        )
+        .then((res) => {
+          let blob = new Blob([res]);
+          let elink = document.createElement("a");
+          elink.download = "BBWXCLJC-4-08-03.docx";
+          elink.style.display = "none";
+          elink.target = "_blank";
+          elink.href = URL.createObjectURL(blob);
+          document.body.appendChild(elink);
+          elink.click();
+          URL.revokeObjectURL(elink.href); // 释放URL对象
+          document.body.removeChild(elink);
+          this.exportFileLoading = false;
+        })
+        .catch((e) => {
+          this.exportFileLoading = false;
+          return this.$message.error(e.message);
+        });
+    },
+    // 打印二维码
+    // printQRCode() {
+    //   if (this.selectRows.length == 0) {
+    //     this.$message.warning("请勾选您要打印的数据");
+    //     return;
+    //   }
+    //   let flag = this.selectRows.some((u) => u.stateFlag != 1);
+    //   if (flag) {
+    //     return this.$message.warning(
+    //       "未提交数据不允许进行打印,请重新进行勾选"
+    //     );
+    //   }
+    //   let entrIds = [];
+    //   this.selectRows.forEach((p) => {
+    //     entrIds.push(p.entrId);
+    //   });
+    //   this.axios
+    //     .post(
+    //       "pass/testManagement/v1/limssampleinfos/queryLimsSampleInfosPage",
+    //       { object: { entrIds }, pageIndex: 1, pageSize: 200 },
+    //       { individualType: "json" }
+    //     )
+    //     .then((res) => {
+    //       if (res.code == 0 || res.code == 200) {
+    //         this.$message.success(res.message);
+    //         this.printData = res.data.list;
+    //         this.printData.forEach((item) => {
+    //           item.carNo = this.saveRow.carNo;
+    //         });
+    //         this.runPrint(this.printData);
+    //         this.searchData();
+    //       } else {
+    //         this.$message.error(res.message);
+    //       }
+    //     });
+    // },
+    // runPrint(arr) {
+    //   console.log("arr", arr);
+    //   setTimeout(() => {
+    //     arr.forEach((item) => {
+    //       const qrcode = document.getElementById(`Qrcode${item.id}`);
+    //       qrcode.innerHTML = "";
+    //       new QRCode(qrcode, {
+    //         text: item.sampleNo,
+    //         width: 100,
+    //         height: 100,
+    //         colorDark: "#000000",
+    //         colorLight: "#ffffff",
+    //       });
+    //     });
+    //     setTimeout(() => {
+    //       this.printPage("printContent");
+    //     }, 1500);
+    //   }, 100);
+    // },
+
+    // 打印条形码
+    async printQRCode() {
+      if (this.selectRows.length == 0) {
+        this.$message.warning("请勾选您要打印的数据");
+        return;
+      }
+      let flag = this.selectRows.some((u) => u.stateFlag != 1);
+      if (flag) {
+        return this.$message.warning(
+          "未提交数据不允许进行打印,请重新进行勾选"
+        );
+      }
+      let entrIds = [];
+      this.selectRows.forEach((p) => {
+        entrIds.push(p.entrId);
+      });
+
+      const list0 = [];
+      entrIds.forEach((item) => {
+        list0.push(this.initQrCode(item));
+      });
+
+      await Promise.all(list0);
+
+      const list = [];
+      entrIds.forEach((item) => {
+        list.push(this.getQrCodeInfoListById(item));
+      });
+
+      Promise.all(list).then((res) => {
+        this.printData = res.map((item, index) => {
+          if (item.code == 0 || item.code == 200) {
+            return {
+              id: entrIds[index],
+              list: item.data.list.filter((subItem) => subItem.isCheck === 1),
+            };
+          } else {
+            return {
+              id: entrIds[index],
+              list: [],
+            };
+          }
+        });
+        console.log("this.printData");
+        console.log(this.printData);
+        this.runPrint(this.printData);
+      });
+    },
+    runPrint(arr) {
+      setTimeout(() => {
+        arr.forEach((item) => {
+          const qrcode = document.getElementById(`Qrcode${item.id}`);
+          qrcode.innerHTML = "";
+
+          let sampleNo = "";
+          for (let i = 0; i < item.list.length; i++) {
+            if (item.list[i].fieldKey === "sampleNo") {
+              sampleNo = item.list[i].fieldValue;
+              break;
+            }
+          }
+          new QRCode(qrcode, {
+            text: sampleNo,
+            width: 100,
+            height: 100,
+            colorDark: "#000000",
+            colorLight: "#ffffff",
+          });
+        });
+        setTimeout(() => {
+          this.printPage("printContent");
+        }, 1500);
+      }, 100);
+    },
+    getpici() {
+      if (JSON.stringify(this.saveRow) === "{}") {
+        this.$message.warning("请点击选中一条您要提交的数据");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("请选择编辑状态!");
+        return;
+      }
+      this.subLoading1 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/getNextBacthNoToRule",
+          this.saveRow,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            let index = this.table.list.findIndex(
+              (arr) => arr.id == this.piciIndex
+            );
+            if (res.data != null) {
+              this.table.list[index].batchNo = res.data;
+            }
+            this.saveRow.batchNo = res.data;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.subLoading1 = false;
+        })
+        .catch((e) => {
+          this.subLoading1 = false;
+          this.$message.error(e.message);
+        });
+    },
+    async submitData() {
+      if (this.selectRows.length == 0) {
+        return this.$message.warning("请至少勾选一条数据进行提交!");
+      }
+      let ids = [];
+      for (let i = 0; i < this.selectRows.length; i++) {
+        let item = this.selectRows[i];
+        if (item.stateFlag === "1") {
+          return this.$message.warning(
+            "委托编号为[" + item.id + "]的数据已经提交,无法再次进行提交!"
+          );
+        }
+        if (item.validFlag === "1") {
+          ids.push(item.id);
+        }
+      }
+      this.subLoading = true;
+      for (let i = 0; i < this.selectRows.length; i++) {
+        let item = this.selectRows[i];
+        const str = await this.axios.post(
+          "pass/testManagement/v1/limstestentrusts/saveLimsTestEntrust",
+          item,
+          { individualType: "json" }
+        );
+        if (str.succeed) {
+          const str1 = await this.axios.post(
+            "pass/testManagement/v1/limstestentrusts/submit",
+            [item.entrId],
+            { individualType: "json" }
+          );
+          if (str1.code == 0 || str1.code == 200) {
+            this.$message.success(str1.message);
+          } else {
+            this.$message.error(str1.message);
+          }
+        } else {
+          this.$message.error(str.message);
+        }
+      }
+      this.subLoading = false;
+      this.refresh();
+    },
+    selectData(val) {
+      this.selectDataList = val;
+    },
+    saveData(row) {
+      this.savaDep = Object.assign({}, row);
+    },
+    addData2() {
+      if (JSON.stringify(this.saveRow) === "{}") {
+        this.$message.warning("请点击选中一条检验委托信息数据");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可进行新增");
+        return;
+      }
+      this.showFlag2 = !this.showFlag2;
+      this.Params2 = null;
+      this.Params = this.saveRow;
+    },
+    enable() {
+      //启用
+      if (this.selectRow1s.length < 1) {
+        this.$message.warning("请至少勾选一条您要启用的数据");
+        return;
+      }
+      // if (this.saveRow.validFlag != 0) {
+      //   this.$message.warning('数据未停用,不可启用!')
+      //   return
+      // }
+      let ids = [];
+      for (let i = 0; i < this.selectRow1s.length; i++) {
+        let item = this.selectRow1s[i];
+        if (item.validFlag === "1") {
+          return this.$message.warning(
+            "委托编号为[" + item.id + "]的数据为启用状态,无法进行启用!"
+          );
+        }
+        if (item.validFlag === "0") {
+          ids.push(item.id);
+        }
+      }
+      this.subLoadingq = true;
+      this.axios
+        .post("pass/testManagement/v1/limstestentrusts/enable", ids, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.mainData();
+            this.mainData1();
+            this.subLoadingq = false;
+            this.$message.success(res.message);
+          } else {
+            this.subLoadingq = false;
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.subLoadingq = false;
+          this.$message.error(e.message);
+        });
+    },
+    disable() {
+      //停用
+      if (this.selectRows.length < 1) {
+        this.$message.warning("请至少勾选一条您要停用的数据");
+        return;
+      }
+      let ids = [];
+      for (let i = 0; i < this.selectRows.length; i++) {
+        let item = this.selectRows[i];
+        if (item.validFlag === "0") {
+          return this.$message.warning(
+            "委托编号为[" + item.id + "]的数据为停用状态,无法进行停用!"
+          );
+        }
+        if (item.validFlag === "1") {
+          ids.push(item.id);
+        }
+      }
+      this.subLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limstestentrusts/disable", ids, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.mainData();
+            this.mainData1();
+            this.subLoading = false;
+          } else {
+            this.subLoading = false;
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.subLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    cancelData() {
+      //取消提交
+      if (this.selectRows.length < 1) {
+        this.$message.warning("请至少勾选一条您要取消提交的数据");
+        return;
+      }
+      // if (this.saveRow.stateFlag != 1) {
+      //   this.$message.warning('数据不是提交状态,不可取消提交!')
+      //   return
+      // }
+      let ids = [];
+      for (let i = 0; i < this.selectRows.length; i++) {
+        let item = this.selectRows[i];
+        if (item.stateFlag === "0") {
+          return this.$message.warning(
+            "委托编号为[" + item.id + "]的数据为编辑状态,无法进行取消提交!"
+          );
+        }
+        if (item.validFlag === "1") {
+          ids.push(item.id);
+        }
+      }
+      this.subLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limstestentrusts/cancel", ids, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.removeNumber();
+            this.mainData();
+            this.mainData1();
+            this.subLoading = false;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.subLoading = false;
+        })
+        .catch((e) => {
+          this.subLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    deleteData2() {
+      if (this.selectDataList.length == 0) {
+        this.$message.warning("请选中计划检验项目信息数据!");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可进行删除");
+        return;
+      }
+      this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          for (let i = 0; i < this.selectDataList.length; i++) {
+            this.axios
+              .post(
+                "pass/testManagement/v1/limstestentrustds/deleteLimsTestEntrustD?id=" +
+                this.selectDataList[i].id,
+                { individualType: "json" }
+              )
+              .then((res) => {
+                if (res.succeed) {
+                  this.dialogTableVisible = false;
+                  this.$message.success("删除成功");
+                  this.depData(this.entrId);
+                } else {
+                  this.$message.error(res.message);
+                }
+              })
+              .catch((e) => {
+                this.$message.error(e.message);
+              });
+          }
+        })
+        .catch(() => { });
+    },
+    searchData() {
+      this.page.pageNum = 1;
+      this.page.pageSize = 200;
+      this.mainData();
+      this.mainData1();
+    },
+    closeDialog() {
+      this.dialogTableCount = false;
+      this.tableCount = [];
+    },
+    countList() {
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime =
+          formatDate(this.search.times[0], "yyyy-MM-dd") + " 00:00:00";
+        endTime = formatDate(this.search.times[1], "yyyy-MM-dd") + " 23:59:59";
+      }
+      let obj = {
+        object: {
+          entrOrgNo: this.search.planCompanyNo, // 委托单位
+          sampleTypeCode: 480103,
+          matName: this.search.matName,
+          batchNo: this.search.batchNo,
+          validFlag: "1",
+          stateFlag: "1",
+        },
+        startTime: startTime,
+        endTime: endTime,
+      };
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/queryLimsTestEntrustCount",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.tableCount = res.data;
+          this.dialogTableCount = true;
+        })
+        .catch((e) => {
+          this.$message.error("查询错误!");
+        });
+    },
+    mainData() {
+      (this.saveRow = {}), (this.dataLoading = true);
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime =
+          formatDate(this.search.times[0], "yyyy-MM-dd") + " 00:00:00";
+        endTime = formatDate(this.search.times[1], "yyyy-MM-dd") + " 23:59:59";
+      }
+      let tempobj = {
+        object: {
+          sampleTypeCode: "480103",
+          isBatch: "",
+          entrOrgNo: this.search.planCompanyNo, // 委托单位
+          matName: this.search.matName,
+          batchNo: this.search.batchNo,
+          carNo: this.search.carNo,
+          validFlag: "1",
+        },
+        sampleNo: this.search.sampleNo,
+        pageIndex: this.page.pageNum,
+        pageSize: this.page.pageSize,
+        startTime: startTime,
+        endTime: endTime,
+      };
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/queryLimsTestEntrustPage/",
+          tempobj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.dataLoading = false;
+          this.table.list = res.data.list;
+          if (this.table.list.length > 0) {
+            this.$refs.dataTable.setCurrentRow(this.table.list[0]);
+            this.searchFollow(this.table.list[0]);
+          }
+          this.table.list.forEach((item) => {
+            item.stateFlag1 =
+              item.validFlag == "0"
+                ? "已停用"
+                : item.stateFlag === "0"
+                  ? "编辑"
+                  : item.stateFlag === "1"
+                    ? "提交"
+                    : "";
+            item.entrTime1 = formatDate(item.entrTime, "yyyy-MM-dd");
+          });
+          this.page.totalPage = res.data.total;
+        })
+        .catch((e) => {
+          this.dataLoading = false;
+        });
+    },
+    mainData1() {
+      (this.saveRow = {}), (this.invalidLoading = true);
+      let startTime = "";
+      let endTime = "";
+      if (!this.search.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        startTime =
+          formatDate(this.search.times[0], "yyyy-MM-dd") + " 00:00:00";
+        endTime = formatDate(this.search.times[1], "yyyy-MM-dd") + " 23:59:59";
+      }
+      let tempobj = {
+        object: {
+          sampleTypeCode: "480103",
+          isBatch: "",
+          entrOrgNo: this.search.planCompanyNo, // 委托单位
+          matName: this.search.matName,
+          batchNo: this.search.batchNo,
+          carNo: this.search.carNo,
+          validFlag: "0",
+        },
+        sampleNo: this.search.sampleNo,
+        pageIndex: this.page.pageNum,
+        pageSize: this.page.pageSize,
+        startTime: startTime,
+        endTime: endTime,
+      };
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/queryLimsTestEntrustPage/",
+          tempobj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.invalidLoading = false;
+          this.table.list1 = res.data.list;
+          this.table.list1.forEach((item) => {
+            item.stateFlag1 =
+              item.validFlag == "0"
+                ? "已停用"
+                : item.stateFlag === "0"
+                  ? "编辑"
+                  : item.stateFlag === "1"
+                    ? "提交"
+                    : "";
+            item.entrTime1 = formatDate(item.entrTime, "yyyy-MM-dd");
+          });
+        })
+        .catch((e) => {
+          this.invalidLoading = false;
+        });
+    },
+    searchFollow(row) {
+      this.saveRow = Object.assign({}, row);
+      // this.editRow = row
+      this.entrId = row.entrId ? row.entrId : "";
+      this.depData(this.entrId);
+      this.getRevMsg(this.entrId);
+      this.getSendMsg(this.entrId);
+    },
+    selectRow(val) {
+      this.selectRows = val;
+    },
+    selectRow1(val) {
+      this.selectRow1s = val;
+    },
+    getRevMsg(entrId) {
+      if (!entrId) {
+        return this.$message.warning("获取接收电文参数错误! entrId为空!");
+      }
+      this.dataLoading3 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/queryMsgByEntrId",
+          { object: { entrId: entrId }, pageIndex: 1, pageSize: 999 },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.dataLoading3 = false;
+            this.table.list3 = res.data.list;
+          } else {
+            this.dataLoading3 = false;
+            return this.$message.warning(res.message);
+          }
+        })
+        .catch((e) => {
+          this.dataLoading3 = false;
+          return this.$message.error(e.message);
+        });
+    },
+    getSendMsg(entrId) {
+      if (!entrId) {
+        return this.$message.warning("获取发送电文参数错误! entrId为空!");
+      }
+      this.dataLoading4 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrusts/queryMsgByEntrIdAndSampleNo",
+          { object: { entrId: entrId }, pageIndex: 1, pageSize: 999 },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.dataLoading4 = false;
+            this.table.list4 = res.data.list;
+          } else {
+            this.dataLoading4 = false;
+            return this.$message.warning(res.message);
+          }
+        })
+        .catch((e) => {
+          this.dataLoading4 = false;
+          return this.$message.error(e.message);
+        });
+    },
+    depData(entrId) {
+      (this.savaDep = {}), (this.dataLoading2 = true);
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestentrustds/queryLimsTestEntrustDPage",
+          { object: { entrId: entrId }, pageIndex: 1, pageSize: 999 },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.dataLoading2 = false;
+          this.table.list2 = res.data.list;
+          this.table.list2.forEach((item) => {
+            item.stateFlag1 =
+              item.stateFlag === "0"
+                ? "编辑"
+                : item.stateFlag === "1"
+                  ? "提交"
+                  : "";
+            item.entrTime1 = formatDate(item.entrTime, "yyyy-MM-dd");
+          });
+        })
+        .catch((e) => {
+          this.dataLoading2 = false;
+        });
+    },
+    reset() {
+      this.search.times = [this.getYNM(new Date()), this.getYNM(new Date())];
+      this.search.planCompanyNo = "";
+      this.search.matName = "";
+      this.searchData();
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection3 = val;
+    },
+    pageSizeChange(size) {
+      this.page.pageSize = size;
+      this.mainData();
+    },
+    pageCurrentChange(index) {
+      this.page.pageNum = index;
+      this.mainData();
+    },
+    async pageSizeChange3(size) {
+      this.page3.pageSize = size;
+      await this.getQrCodeInfoListAndSetDefault();
+    },
+    async pageCurrentChange3(index) {
+      this.page3.pageNum = index;
+      await this.getQrCodeInfoListAndSetDefault();
+    },
+    handleSelectionChange2(val) {
+      this.multipleSelection4 = val;
+    },
+    addScreen() {
+      this.$nextTick(() => {
+        let ss = document.createElement("div");
+        ss.innerHTML = "筛选";
+        ss.style = "text-align: center;";
+        this.$refs.dataTable.$el
+          .getElementsByClassName("el-table__fixed")[0]
+          .getElementsByTagName("td")[0]
+          .appendChild(ss);
+      });
+    },
+    addScreen2() {
+      this.$nextTick(() => {
+        let ss = document.createElement("div");
+        ss.innerHTML = "筛选";
+        ss.style = "text-align: center;";
+        this.$refs.dataTable2.$el
+          .getElementsByClassName("el-table__fixed")[0]
+          .getElementsByTagName("td")[0]
+          .appendChild(ss);
+      });
+    },
+    tableRowClassName({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 13) {
+        if (row.validFlag !== "1") {
+          return "error-row";
+        }
+      }
+      if (columnIndex === 2) {
+        if (row.validFlag !== "1") {
+          return "error-row";
+        }
+        if (row.stateFlag === "1") {
+          return "error-green";
+        }
+        return "";
+      }
+    },
+    tableRowClassName2({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 5) {
+        if (row.validFlag !== "1") {
+          return "error-row";
+        }
+        return "";
+      }
+    },
+    tableHeaderCellStyle() {
+      return "color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;";
+    },
+
+    // 1 显示编辑二维码弹窗
+    async showQRCodeInfo() {
+      if (this.selectRows.length === 0) {
+        this.$message.warning("请勾选您要编辑二维码的数据");
+        return;
+      }
+      if (this.selectRows.length > 1) {
+        this.$message.warning("一次只能编辑一个二维码");
+        return;
+      }
+      let flag = this.selectRows.some((u) => u.stateFlag != 1);
+      if (flag) {
+        return this.$message.warning(
+          "未提交数据不允许进行打印,请重新进行勾选"
+        );
+      }
+      this.isShowQrCodeInfo = true;
+
+      let entrIds = [];
+      this.selectRows.forEach((p) => {
+        entrIds.push(p.entrId);
+      });
+      // 2 初始化二维码信息
+      await this.initQrCode(this.selectRows[0].id);
+      // 3 获取二维码信息
+      await this.getQrCodeInfoListAndSetDefault();
+    },
+    // 初始化二维码信息
+    async initQrCode(id) {
+      await this.axios.get(
+        "pass/testManagement/v1/limssampleprints/initData/" + id,
+        {
+          params: {
+            dataType: 1,
+            isReset: 0,
+          },
+        },
+        { individualType: "json" }
+      );
+    },
+    // 获取二维码信息
+    async getQrCodeInfoList() {
+      const res = await this.axios.get(
+        "pass/testManagement/v1/limssampleprints/",
+        {
+          params: {
+            pageNum: this.page3.pageNum,
+            pageSize: this.page3.pageSize,
+            dataSourceId: this.selectRows[0].id,
+            isDelete: 0,
+          },
+        },
+        { individualType: "json" }
+      );
+      if (res.code == 0 || res.code == 200) {
+        this.qrCodeInfoData = res.data.list || [];
+        this.page3.totalPage = res.data.total;
+      } else {
+        this.$message.error(res.message);
+      }
+      return res;
+    },
+    // 获取二维码信息
+    async getQrCodeInfoListById(dataSourceId) {
+      const res = await this.axios.get(
+        "pass/testManagement/v1/limssampleprints/",
+        {
+          params: {
+            pageNum: 1,
+            pageSize: 999,
+            dataSourceId,
+          },
+        },
+        { individualType: "json" }
+      );
+      return res;
+    },
+    handleQrCodeInfoSelectionChange(val) {
+      console.log("handleQrCodeInfoSelectionChange");
+      console.log(this.qrCodeInfoData);
+      // 初始化勾选期间不进行操作
+      if (!this.isSetDefault) {
+        this.qrCodeInfoData.forEach((item) => {
+          item.isCheck = 0;
+        });
+        val.forEach((item) => {
+          item.isCheck = 1;
+        });
+      }
+    },
+    // 打开新增弹窗
+    addQrCodeInfo() {
+      this.isShowAddQrCodeInfo = true;
+    },
+    // 设置默认选中
+    setDefaultSelected() {
+      console.log("setDefaultSelected");
+      this.isSetDefault = true;
+      this.qrCodeInfoData.forEach((item) => {
+        if (item.isCheck === 1) {
+          console.log(item);
+          this.$refs.qrCodeInfoTable.toggleRowSelection(item, true);
+        }
+      });
+      this.isSetDefault = false;
+    },
+    // 确认添加
+    confirmAddQrCodeInfo() {
+      this.qrCodeInfoData.push({
+        ...this.addQrCodeInfoForm,
+        fieldKey: Date.now(),
+        dataSourceId: this.selectRows[0].id,
+        isCheck: 0,
+        isDelete: 0,
+        dataSourceType: 1, // 0 原料 1 成品 2 临时
+      });
+      this.isShowAddQrCodeInfo = false;
+    },
+    // 打开编辑窗口
+    editQrCodeInfoRow(index, row) {
+      this.editQrCodeInfoForm = row;
+      console.log("editQrCodeInfoRow");
+      console.log(this.editQrCodeInfoForm);
+      this.editQrCodeInfoIndex = index;
+      this.isShowEditQrCodeInfo = true;
+    },
+    // 删除二维码字段
+    delQrCodeInfoRow(index, row) {
+      this.qrCodeInfoData.splice(index, 1);
+      if (row.id) {
+        this.deleteIds.push(row.id);
+      }
+    },
+    // 确认编辑
+    confirmEditQrCodeInfo() {
+      this.$set(
+        this.qrCodeInfoData,
+        this.editQrCodeInfoIndex,
+        this.editQrCodeInfoForm
+      );
+      this.isShowEditQrCodeInfo = false;
+    },
+    // 重置二维码信息
+    resetQrCodeInfo() {
+      this.$confirm("确定重置二维码信息吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(async () => {
+        await this.axios.get(
+          "pass/testManagement/v1/limssampleprints/initData/" +
+          this.selectRows[0].id,
+          {
+            params: {
+              dataType: 1,
+              isReset: 1,
+            },
+          },
+          { individualType: "json" }
+        );
+        // 获取二维码信息
+        const res = await this.getQrCodeInfoListAndSetDefault();
+        this.$message.success(res.message);
+      });
+    },
+    // 保存二维码
+    async saveQRCode() {
+      console.log(this.qrCodeInfoData);
+      // 批量删除
+      const res = await this.axios.post(
+        "pass/testManagement/v1/limssampleprints/batchDelete/",
+        this.deleteIds,
+        { individualType: "json" }
+      );
+      if (res.code == 0 || res.code == 200) {
+        this.deleteIds = [];
+      }
+      // 批量更新
+      const res2 = await this.axios.post(
+        "pass/testManagement/v1/limssampleprints/batchUpdate/",
+        this.qrCodeInfoData,
+        { individualType: "json" }
+      );
+      if (res2.code == 0 || res2.code == 200) {
+        this.$message.success(res2.message);
+        await this.getQrCodeInfoListAndSetDefault();
+        // this.isShowQrCodeInfo = false;
+      }
+    },
+    async getQrCodeInfoListAndSetDefault() {
+      this.isSetDefault = true;
+      await this.getQrCodeInfoList();
+      this.$nextTick(async () => {
+        // 设置默认选中
+        this.setDefaultSelected();
+      });
+    },
+    // 保存并打印二维码
+    async saveAndPrintQRCode() {
+      await this.saveQRCode();
+      this.printQRCode();
+    },
+  },
+};
+</script>
+<style scoped></style>

+ 1742 - 1674
src/views/programManagement/components/fixedScheduleManagement/fixedScheduleManagement.vue

@@ -1,1674 +1,1742 @@
-<!-- 计划管理-固定计划管理 -->
-<template>
-  <div class="examination fixedScheduleManagement">
-    <div class="common-head-search">
-      <el-form :inline="true" @submit.native.prevent>
-        <el-form-item label="委托单位">
-          <el-select
-            v-model="search.planCompanyNo"
-            filterable
-            style="width:100%"
-            clearable
-            collapse-tags
-            @change="selectDepartment"
-            size="small"
-          >
-            <el-option
-              v-for="item in companyNameType"
-              :key="item.orgCode"
-              :label="item.orgName"
-              :value="item.orgCode"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="联系人">
-          <el-select
-            v-model="search.planDeptNo"
-            filterable
-            style="width:100%"
-            clearable
-            collapse-tags
-            size="small"
-          >
-            <el-option
-              v-for="item in sectionNameType"
-              :key="item.orgCode"
-              :label="item.orgName"
-              :value="item.orgCode"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="计划年份">
-          <el-date-picker
-            v-model="search.planYear"
-            type="year"
-            placeholder="选择年"
-            size="small"
-            style="width: 100%;"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item label="样品类型">
-          <el-select
-            v-model="search.sampleTypeCode"
-            filterable
-            clearable
-            collapse-tags
-            size="small"
-            style="width: 100%"
-          >
-            <el-option
-              v-for="(item, index) in sampleTypeNameType"
-              :key="index"
-              :label="item.baseName"
-              :value="item.baseCode"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="物料名称">
-          <el-input
-            v-model="search.matName"
-            size="small"
-            @keyup.enter.native="searchData()"
-            style="width: 100%"
-            clearable
-          ></el-input>
-          <!-- <el-select v-model="search.matNo" clearable  style="width:100%" filterable collapse-tags size="small" >
-            <el-option v-for="(item,index) in matNameType" :key="index" :label="item.matName"
-              :value="item.matNo">
-            </el-option>
-          </el-select> -->
-        </el-form-item>
-        <el-form-item>
-          <el-button
-            icon="el-icon-search"
-            type="goon"
-            size="mini"
-            @click="searchData"
-            >查询</el-button
-          >
-          <el-button
-            icon="el-icon-refresh"
-            type="info"
-            plain
-            size="mini"
-            @click="reset"
-            >重置</el-button
-          >
-        </el-form-item>
-      </el-form>
-    </div>
-    <div class="common-title-div">
-      <div class="common-title-name">
-        <img
-          style="width: 25px; height: 25px"
-          src="../../../../assets/img/imgScreen/logo.png"
-        />
-        固定计划信息
-      </div>
-      <div>
-        <el-button
-          icon="el-icon-circle-plus-outline"
-          type="goon"
-          size="mini"
-          v-privilege="activeMenu + 'ADD'"
-          @click="addData"
-          >新增</el-button
-        >
-        <el-button
-          icon="el-icon-edit"
-          type="goon"
-          size="mini"
-          v-privilege="activeMenu + 'PUT'"
-          @click="modifyData"
-          >修改</el-button
-        >
-        <el-button
-          icon="el-icon-remove-outline"
-          type="danger"
-          size="mini"
-          v-privilege="activeMenu + 'disable'"
-          @click="deleteData"
-          >停用</el-button
-        >
-        <el-button
-          icon="el-icon-check"
-          type="goon"
-          size="mini"
-          v-privilege="activeMenu + 'effectivity'"
-          @click="recoverData"
-          >启用</el-button
-        >
-        <el-button
-          icon="el-icon-check"
-          type="goon"
-          size="mini"
-          :loading="submitLoading"
-          v-privilege="activeMenu + 'submit'"
-          @click="submitData"
-          >提交</el-button
-        >
-        <el-button
-          icon="el-icon-remove-outline"
-          type="danger"
-          size="mini"
-          v-privilege="activeMenu + 'backSubmit'"
-          :loading="backSubmitLoading"
-          @click="backsubmitData"
-          >取消提交</el-button
-        >
-      </div>
-      <div class="common-button-div">
-        <el-button
-          icon="el-icon-download"
-          type="goon"
-          size="mini"
-          v-privilege="activeMenu + 'export'"
-          :loading="tableExportLoading"
-          @click="doExport"
-          >导出</el-button
-        >
-      </div>
-      <div style="margin-left: 8px">
-        <el-upload
-          class="upload"
-          action=""
-          :multiple="false"
-          :show-file-list="false"
-          accept="csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
-          :http-request="httpRequest"
-        >
-          <el-button
-            icon="el-icon-upload2"
-            type="goon"
-            v-privilege="activeMenu + 'import'"
-            size="mini"
-            >导入</el-button
-          >
-        </el-upload>
-      </div>
-    </div>
-    <div
-      class="common-table-div"
-      id="topTable"
-      style="margin-bottom:0;margin-top:0"
-    >
-      <el-table
-        id="excelTable"
-        v-loading="dataLoading"
-        ref="dataTable"
-        border
-        :height="height_top"
-        highlight-current-row
-        @selection-change="handleSelectionChange"
-        :data="table.list"
-        :icore-filter-flag="icoreFilterFlag"
-        :header-cell-style="tableHeaderCellStyle"
-        @cell-click="searchFollow"
-        :cell-class-name="tableCellClassName"
-        :row-class-name="tableRowClassName"
-        :summary-method="getSummaries"
-        show-summary
-      >
-        <el-table-column
-          type="index"
-          label="序号"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          type="selection"
-          width="55"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          width="80px"
-          prop="stateFlagName"
-          label="状态"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="100px"
-          prop="id"
-          label="编号"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="planYear"
-          label="计划年份"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="planCompanyName"
-          label="委托单位"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="planDeptName"
-          label="联系人"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="sampleTypeName"
-          label="样品类型"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="120px"
-          prop="matName"
-          label="物料名称"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="120px"
-          prop="smpDeliName"
-          label="送样频次"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="120px"
-          prop="testTypeName"
-          label="检验类型"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="planDate1"
-          label="计划日期"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="100px"
-          prop="gradeName"
-          label="牌号"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="100px"
-          prop="matShapeName"
-          label="形状"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="100px"
-          prop="testTime1"
-          label="测试起始时间"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="100px"
-          prop="durTime"
-          label="间隔时间(h)"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="120px"
-          prop="pointName"
-          label="取样地点"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="smpCompanyName"
-          label="取样单位"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="smpDeptName"
-          label="取样车间"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="smpSectionName"
-          label="取样班组"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="100px"
-          prop="testLimit"
-          label="测试时限(h)"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="160px"
-          prop="anlyName"
-          label="分析项目"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="isSmp1"
-          label="是否取样"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="isPrepName"
-          label="是否组合"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="isPostponeName"
-          label="是否顺延"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="isBatchName"
-          label="是否组批"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="isMaterName"
-          label="是否计量"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="companyName"
-          label="检验单位"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="deptName"
-          label="检验车间"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="sectionName"
-          label="检验班组"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="suppName"
-          label="发货单位"
-          align="center"
-        ></el-table-column><el-table-column
-        :show-overflow-tooltip="true"
-        sortable
-        min-width="140px"
-        prop="acceptName"
-        label="收货单位"
-        align="center"
-      ></el-table-column><el-table-column
-      :show-overflow-tooltip="true"
-      sortable
-      min-width="100px"
-      prop="spec"
-      label="规格/说明"
-      align="center"
-    ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="memo"
-          label="备注"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="validFlag1"
-          label="数据状态"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="95px"
-          prop="createMan"
-          label="创建人"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="160px"
-          prop="createTime"
-          label="创建时间"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="160px"
-          prop="nextSubmitDate"
-          label="下次执行时间"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="isCheckName"
-          label="是否加权"
-          align="center"
-        >
-        </el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="160px"
-          prop="planSectionName"
-          label="联系电话"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="80px"
-          prop="auditManName"
-          label="审核人"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="160px"
-          prop="auditTime"
-          label="审核时间"
-          align="center"
-        ></el-table-column>
-      </el-table>
-    </div>
-    <div class="common-foot-style">
-      <el-pagination
-        @size-change="pageSizeChange"
-        @current-change="pageCurrentChange"
-        :current-page="page.pageNum"
-        :page-sizes="[100, 200, 500, 800, 1000]"
-        :page-size="page.pageSize"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="page.totalPage"
-        background
-      >
-      </el-pagination>
-    </div>
-    <div class="common-title-div">
-      <div class="common-title-name">
-        <img
-          style="width: 25px; height: 25px"
-          src="../../../../assets/img/imgScreen/logo.png"
-        />
-        计划分析项目信息
-      </div>
-      <div>
-        <el-button
-          icon="el-icon-circle-plus-outline"
-          type="goon"
-          size="mini"
-          v-privilege="activeMenu + 'addDep'"
-          @click="addData2"
-          >新增</el-button
-        >
-        <el-button
-          icon="el-icon-edit"
-          type="goon"
-          size="mini"
-          v-privilege="activeMenu + 'modify'"
-          @click="modifyDep"
-          >修改</el-button
-        >
-        <el-button
-          icon="el-icon-remove-outline"
-          type="danger"
-          size="mini"
-          v-privilege="activeMenu + 'delete'"
-          :loading="deleteLoading"
-          @click="deleteData2"
-          >删除</el-button
-        >
-        <el-button
-          icon="el-icon-check"
-          type="goon"
-          size="mini"
-          :loading="extractLoading"
-          v-privilege="activeMenu + 'addDep'"
-          @click="extract"
-          >提取分析项目</el-button
-        >
-      </div>
-    </div>
-    <div class="common-table-div" style="margin-bottom:0;margin-top:0">
-      <el-table
-        v-loading="dataLoading2"
-        ref="dataTable2"
-        border
-        :height="height_bot"
-        highlight-current-row
-        @row-click="saveData"
-        :data="
-          table.list2.slice(
-            (this.page2.pageNum - 1) * this.page2.pageSize,
-            this.page2.pageNum * this.page2.pageSize
-          )
-        "
-        :icore-filter-flag="icoreFilterFlag"
-        :header-cell-style="tableHeaderCellStyle"
-        :cell-class-name="tableRowClassName2"
-        :summary-method="getSummaries"
-        show-summary
-      >
-        <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="60px"
-          prop="dspOrder"
-          label="序号"
-          align="center"
-        ></el-table-column>
-        <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="planIdD" label="计划单子号" align="center"></el-table-column>
-        <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="planId" label="计划单号" align="center"></el-table-column> -->
-        <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="matName" label="物料名称" align="center"></el-table-column> -->
-        <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="testItemName" label="任务名称" align="center"></el-table-column> -->
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="anlyItemNo"
-          label="分析项目编号"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="160px"
-          prop="anlyItemName"
-          label="分析项目"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="maxSign"
-          label="上限符"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="maxValue"
-          label="上限值"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="minSign"
-          label="下限符"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="minValue"
-          label="下限值"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="unitName"
-          label="单位"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="90px"
-          prop="validFlag1"
-          label="数据状态"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          :show-overflow-tooltip="true"
-          sortable
-          min-width="140px"
-          prop="memo"
-          label="备注"
-          align="center"
-        ></el-table-column>
-      </el-table>
-    </div>
-    <!-- <div class="common-foot-style">
-        <el-pagination  @size-change="pageSizeChange2" @current-change="pageCurrentChange2"
-          :current-page="page2.pageNum" :page-sizes="[10, 20, 50, 100, 200]" :page-size="page2.pageSize" layout="total, sizes, prev, pager, next, jumper"
-          :total="page2.totalPage" background>
-        </el-pagination>
-    </div> -->
-    <el-dialog
-      @close="fxcloseDialog"
-      :close-on-click-modal="false"
-      :visible.sync="fxdialogTableVisible"
-    >
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left:10px;font-size:18px;margin-right:20px"
-          >修改计划检验项目信息</span
-        >
-      </div>
-      <el-form label-width="80px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item prop="maxSignTypeIndex" label="上限符">
-              <el-select
-                v-model="baseData.maxSign"
-                filterable
-                collapse-tags
-                size="small"
-                style="width:100%"
-              >
-                <el-option
-                  v-for="(item, index) in maxSignType"
-                  :key="index"
-                  :label="item.maxSign"
-                  :value="item.maxSign"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="最大值">
-              <el-input
-                v-model="baseData.maxValue"
-                style="width:100%"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item prop="minSignTypeIndex" label="下限符">
-              <el-select
-                v-model="baseData.minSign"
-                filterable
-                collapse-tags
-                size="small"
-                style="width:100%"
-              >
-                <el-option
-                  v-for="(item, index) in minSignType"
-                  :key="index"
-                  :label="item.minSign"
-                  :value="item.minSign"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="最小值">
-              <el-input
-                v-model="baseData.minValue"
-                style="width:100%"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="序号">
-              <el-input
-                v-model="baseData.dspOrder"
-                style="width:100%"
-                size="small"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button
-          type="goon"
-          icon="el-icon-check"
-          size="mini"
-          @click="fxaddData()"
-          >确定</el-button
-        >
-        <el-button
-          size="mini"
-          type="goon"
-          icon="el-icon-remove-outline"
-          @click="fxcloseDialog"
-          >取消</el-button
-        >
-      </span>
-    </el-dialog>
-    <div
-      is="alertComponets"
-      :showFlag="showFlag"
-      :Params="Params"
-      @refresh="refresh"
-    ></div>
-    <div
-      is="alertComponets2"
-      :showFlag2="showFlag2"
-      :Params="Params"
-      :Params2="Params2"
-      @refresh="refresh2"
-    ></div>
-  </div>
-</template>
-<script>
-import { getCookie, formatDate } from "@/utils/util.js";
-import { cookieUserId, cookieUserName } from "@/config/config.js";
-import alertComponets from "./alertComponents";
-import alertComponets2 from "./alertComponents2";
-let userName = getCookie(cookieUserName);
-let userId = getCookie(cookieUserId);
-
-export default {
-  components: { alertComponets, alertComponets2 },
-  data() {
-    return {
-      table: {
-        list: [],
-        list2: [],
-      },
-      tableExportLoading: false,
-      dataLoading: false,
-      dataLoading2: false,
-      saveRow: {},
-      icoreFilterFlag: true,
-      stopLoading: false,
-      startLoading: false,
-      submitLoading: false,
-      backSubmitLoading: false,
-      deleteLoading: false,
-      fxdialogTableVisible: false,
-      extractLoading: false,
-      page: {
-        pageSize: 200,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      page2: {
-        pageSize: 200,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      baseData: {},
-      minSignType: [{ minSign: ">=" }, { minSign: ">" }],
-      maxSignType: [{ maxSign: "<=" }, { maxSign: "<" }],
-      list: [],
-      planSave: {},
-      planId: "",
-      height_top: 0,
-      height_bot: 0,
-      showFlag: false,
-      Params: {},
-      showFlag2: false,
-      Params2: {},
-      companyNameType: [],
-      companyNameType1: [],
-      sampleTypeNameType: [],
-      multipleSelection3: [],
-      multipleSelection4: [],
-      matNameType: [],
-      sectionNameType: [],
-      search: {
-        planYear: "",
-        planCompanyNo: "",
-        planDeptNo: "",
-        matNo: "",
-        sampleTypeCode: "",
-      },
-      activeMenu: "",
-    };
-  },
-  watch: {
-    // table: {
-    //   handler(val) {
-    //     console.log("固定计划信息:", val);
-    //   },
-    //   deep: true,
-    //   immediate: true,
-    // },
-  },
-  computed: {},
-  filters: {},
-  created() {
-    this.height_top =
-      window.innerHeight / 2 - 130 < 249 ? 249 : window.innerHeight / 2 - 110;
-    this.height_bot =
-      window.innerHeight / 2 - 140 < 249 ? 249 : window.innerHeight / 2 - 110;
-    this.activeMenu = window.top.localStorage.getItem("activeMenu");
-    this.search.planYear = new Date();
-  },
-  mounted() {
-    this.axios
-      .post(
-        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
-        {},
-        { individualType: "json" }
-      )
-      .then((response) => {
-        this.companyNameType = response.data;
-      });
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbasematerialss/queryLimsBaseMaterialsPage/",
-        { object: { validFlag: 1 }, pageIndex: 1, pageSize: 99999 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.matNameType = res.data.list;
-      });
-    //样品类型
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4801 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.sampleTypeNameType = res.data;
-      });
-    this.searchData();
-    // this.getDataList2();
-    // this.addScreen();
-    this.addScreen2();
-  },
-  methods: {
-    getSummaries(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = "合计";
-        }
-        if (index === 1) {
-          sums[index] = data.length;
-        }
-      });
-      return sums;
-    },
-    selectDepartment(val) {
-      this.sectionNameType = [];
-      // this.pointNameType = []
-      this.companyNameType.find((item) => {
-        if (val === item.orgCode) {
-          this.sectionNameType = item.sysOrgList;
-          this.search.planDeptNo = "";
-        }
-      });
-    },
-    smpSection() {
-      this.$forceUpdate();
-    },
-    refresh() {
-      this.mainData();
-    },
-    refresh2() {
-      this.depData(this.saveRow.planId);
-    },
-    saveData(row) {
-      this.planSave = Object.assign({}, row);
-    },
-    getDate(strDate) {
-      var st = strDate;
-      // var a = st.split(" ");
-      // var b = a[0].split("-");
-      var c = st.split(":");
-      var date = new Date("2020", "8", "29", c[0], c[1], c[2]);
-      return date;
-    },
-    httpRequest(e) {
-      let file = e.file; // 文件信息
-      if (!file) {
-        // 没有文件
-        return false;
-      } else if (!/\.(xls|xlsx)$/.test(file.name.toLowerCase())) {
-        // 格式根据自己需求定义
-        this.$message.error("上传格式不正确,请上传xls或者xlsx格式");
-        return false;
-      }
-      const fileReader = new FileReader();
-      fileReader.onload = (ev) => {
-        let _this = this;
-        _this.list = [];
-        try {
-          const data = ev.target.result;
-          const workbook = XLSX.read(data, {
-            type: "binary", // 以字符编码的方式解析
-          });
-          const exlname = workbook.SheetNames[0]; // 取第一张表
-          _this.jsonData = XLSX.utils.sheet_to_json(workbook.Sheets[exlname]); // 生成json表格内容
-          for (var j = 0; j < _this.jsonData.length; j++) {
-            // 按照生成jsonData 的数据格式 处理 生成所需表格
-            if (_this.jsonData[j]["是否取样"] === "是") {
-              _this.isSmp1 = 1;
-            } else if (_this.jsonData[j]["是否取样"] === "否") {
-              _this.isSmp1 = 0;
-            }
-            _this.planDate1 = new Date(_this.jsonData[j]["计划日期"]).getTime();
-            _this.testTime1 = _this
-              .getDate(_this.jsonData[j]["测试起始时间"])
-              .getTime();
-            _this.list.push({
-              isSmp: _this.isSmp1,
-              planYear: _this.jsonData[j]["计划年份"],
-              companyName: _this.jsonData[j]["委托单位"],
-              deptName: _this.jsonData[j]["联系人"],
-              sampleTypeCode: _this.jsonData[j]["样品类型"],
-              matName: _this.jsonData[j]["物料名称"],
-              matNo: _this.jsonData[j]["物料编号"],
-              planDate: _this.planDate1,
-              testTime: _this.testTime1,
-              createMan: userName,
-              createNo: userId,
-              planTypeCode: "481701",
-              planTypeName: "固定计划",
-              durTime: _this.jsonData[j]["间隔时间(小时)"],
-              pointName: _this.jsonData[j]["状取样地点"],
-              planTypeCode: _this.jsonData[j]["计划类型编号"],
-              planTypeName: _this.jsonData[j]["计划类型"],
-              smpDeptName: _this.jsonData[j]["取样单位"],
-              testLimit: _this.jsonData[j]["测试时限(小时)"],
-              memo: _this.jsonData[j]["备注"],
-            });
-          }
-          console.log(_this.list);
-          _this.operateLoading = true;
-          _this.axios
-            .post("pass/testManagement/v1/limstestplans/list", _this.list, {
-              individualType: "json",
-            })
-            .then((res) => {
-              if (res.succeed) {
-                this.$message.success("导入成功");
-                _this.refresh();
-              } else {
-                this.$message.error(res.message);
-              }
-            })
-            .catch((e) => {
-              this.$message.error(e.message);
-            });
-        } catch (e) {
-          return false;
-        }
-      };
-      fileReader.readAsBinaryString(file);
-    },
-    // 导出
-    doExport() {
-      if (this.table.list.length === 0) {
-        this.$message.warning("表格无数据不能导出");
-        return true;
-      }
-      this.tableExportLoading = true;
-      this.isFixed = false;
-      this.icoreFilterFlag = false;
-      setTimeout(() => {
-        let data = this.table.list;
-        this.table.list = [];
-        // 将大表控件bigDataShow改成[10000, 28];
-        setTimeout(() => {
-          // this.bigDataShow = [10000, 28];
-          // this.isFixed = false;
-          this.table.list = data;
-          setTimeout(() => {
-            this.tableExportLoading = false;
-            this.doExport2();
-          }, 0);
-        }, 0);
-      }, 0);
-    },
-    doExport2() {
-      // 将固定列去掉,否则导出的element-ui表格会有两个,因为element-ui固定列的实现原理是表格上面再套一层表格
-      this.$nextTick(() => {
-        let table = document.querySelector("#topTable .el-table");
-        let header = document.querySelector(
-          "#topTable .el-table .el-table__header"
-        );
-        let body = document.querySelector(
-          "#topTable .el-table .el-table__body"
-        );
-        let footer = document.querySelector(
-          "#topTable .el-table .el-table__footer"
-        );
-        let oTd = document.querySelectorAll("#topTable .el-table td");
-        let oTh = document.querySelectorAll("#topTable .el-table th");
-        // let tjTd = document.querySelectorAll('#power_table .el-table .el-table__footer td[rowspan="1"]');
-        // 设置表格的border属性值为1,解决表格导出后无边框问题
-        header.border = "1";
-        body.border = "1";
-        footer.border = "1";
-        for (let item of Array.from(oTd)) {
-          item.style.height = "27px";
-          // item.setAttribute('style', 'height:27px;mso-number-format:"@"');
-        }
-        for (let item of Array.from(oTh)) {
-          item.style.height = "27px";
-        }
-        // 处理表格底部合计统计样式问题
-        // for (let item of Array.from(tjTd)) {
-        //   item.setAttribute('rowspan', '2');
-        // }
-        let ex = '<th class="gutter" style="width: 10px; height: 27px;"></th>';
-        let ex2 = '<th class="gutter" style="width: 0px; height: 27px;"></th>';
-        ex = new RegExp(ex, "g").test(table.outerHTML) ? ex : ex2;
-        // console.log(new RegExp(ex2, 'g').test(table.outerHTML), 'table.outerHTML', table.outerHTML);
-        let bd = table.outerHTML.replace(new RegExp(ex, "g"), "");
-        bd = bd.replace("正在整理数据", "");
-        let html =
-          '<html><head><meta charset="utf-8" /></head><body>' +
-          bd +
-          "</body></html>";
-        let blob = new Blob([html], { type: "application/vnd.ms-excel" });
-        let link = document.createElement("a");
-        link.download = "固定计划信息表.xls";
-        link.href = URL.createObjectURL(blob);
-        // document.body.appendChild(link);
-        link.click();
-        // 导出之后将a标签移除掉,并将border属性设置为最初的0
-        // document.body.removeChild(link)
-        header.border = "0";
-        body.border = "0";
-        footer.border = "0";
-        for (let item of Array.from(oTd)) {
-          item.style.height = "";
-        }
-        for (let item of Array.from(oTh)) {
-          item.style.height = "";
-        }
-        // for (let item of Array.from(tjTd)) {
-        //   item.setAttribute('rowspan', '1');
-        // }
-        // this.bigDataShow = [4, 28];
-        this.isFixed = true;
-        this.icoreFilterFlag = true;
-      });
-    },
-    addData() {
-      let _this = this;
-      _this.showFlag = !_this.showFlag;
-      if (_this.saveRow) {
-        _this.Params = _this.saveRow;
-        _this.Params.addFlag = "1";
-      } else {
-        _this.Params = { addFlag: "1" };
-      }
-    },
-    modifyData() {
-      let _this = this;
-      if (_this.multipleSelection3.length !== 1) {
-        this.$message.warning("请勾选您要修改的一条数据!");
-        return;
-      }
-      if (_this.multipleSelection3[0].stateFlag === "1") {
-        _this.$message.warning("已提交的数据不可以进行修改!");
-        return;
-      }
-      // if (JSON.stringify(this.saveRow)==="{}") {
-      //  this.$message.warning('请选择你要修改的数据!')
-      //  return
-      // }
-      // if (this.saveRow.stateFlag == 1) {
-      //   this.$message.warning('数据已提交,不可再修改')
-      //   return
-      // }
-      // this.Params = this.saveRow
-      this.showFlag = !this.showFlag;
-      this.Params = this.multipleSelection3[0];
-      this.Params.addFlag = "0";
-    },
-    //停用
-    deleteData() {
-      if (this.multipleSelection3.length < 1) {
-        this.$message.warning("请勾选您要停用的数据!");
-        return;
-      }
-      let tempArr = [];
-      this.multipleSelection3.map((item) => {
-        tempArr.push(item.id);
-      });
-      this.stopLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limstestplans/disable", tempArr, {
-          individualType: "json",
-        })
-        .then((res) => {
-          this.stopLoading = false;
-          if (res.succeed) {
-            this.dialogTableVisible = false;
-            this.$message.success("停用操作成功");
-            this.refresh();
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.stopLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    //启用
-    recoverData() {
-      if (this.multipleSelection3.length < 1) {
-        this.$message.warning("请勾选您要启用的数据!");
-        return;
-      }
-      let tempArr = [];
-      this.multipleSelection3.map((item) => {
-        tempArr.push(item.id);
-      });
-      this.startLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limstestplans/enabled", tempArr, {
-          individualType: "json",
-        })
-        .then((res) => {
-          this.startLoading = false;
-          if (res.succeed) {
-            this.dialogTableVisible = false;
-            this.$message.success("启用成功");
-            this.refresh();
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.startLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    //提交
-    submitData() {
-      if (this.multipleSelection3.length < 1) {
-        this.$message.warning("请勾选您要提交的数据!");
-        return;
-      }
-      for (let item of this.multipleSelection3) {
-        if (item.stateFlag == 1) {
-          this.$message.warning(
-            "数据中含有已提交的数据,已提交的数据不可再次提交"
-          );
-          return;
-        }
-        if (item.validFlag == 0) {
-          this.$message.warning("无效状态的数据,不可以提交!");
-          return;
-        }
-      }
-      this.submitLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestplans/submit",
-          this.multipleSelection3,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.submitLoading = false;
-          if (res.succeed) {
-            this.$message.success("提交成功");
-            this.refresh();
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.submitLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    //取消提交
-    backsubmitData() {
-      if (this.multipleSelection3.length < 1) {
-        this.$message.warning("请勾选您要取消提交的数据!");
-        return;
-      }
-      for (let item of this.multipleSelection3) {
-        if (item.stateFlag == 0) {
-          this.$message.warning("数据中含有编辑状态的数据,不可取消提交");
-          return;
-        }
-        if (item.validFlag == 0) {
-          this.$message.warning("无效状态的数据,不可以取消提交!");
-          return;
-        }
-      }
-      this.backSubmitLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestplans/updatestate",
-          this.multipleSelection3,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.backSubmitLoading = false;
-          if (res.succeed) {
-            this.$message.success(res.message);
-            this.refresh();
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.backSubmitLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    //计划检验项目表新增
-    addData2() {
-      if (JSON.stringify(this.saveRow) === "{}") {
-        this.$message.warning("请点击选中一条固定计划信息数据!");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可再新增");
-        return;
-      }
-      this.showFlag2 = !this.showFlag2;
-      this.Params2 = null;
-      this.Params = this.saveRow;
-    },
-    modifyDep() {
-      if (JSON.stringify(this.planSave) === "{}") {
-        this.$message.warning("请点击选中一条固定计划信息数据!");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可再修改");
-        return;
-      }
-      this.baseData = Object.assign({}, this.planSave);
-      this.fxdialogTableVisible = true;
-    },
-    fxcloseDialog() {
-      this.fxdialogTableVisible = false;
-      this.baseData = {};
-    },
-    fxaddData() {
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestplands/saveLimsTestPlanD",
-          this.baseData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.succeed) {
-            this.fxdialogTableVisible = false;
-            this.$message.success(res.message);
-            this.depData(this.saveRow.planId);
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    ////计划检验项目表删除
-    deleteData2() {
-      if (JSON.stringify(this.planSave) === "{}") {
-        this.$message.warning("请点击选中一条需要删除的数据");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可再删除");
-        return;
-      }
-      this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.axios
-            .post(
-              "pass/testManagement/v1/limstestplands/deleteLimsTestPlanD?id=" +
-                this.planSave.id,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.succeed) {
-                this.$message.success("删除操作成功");
-                this.depData(this.saveRow.planId);
-              } else {
-                this.$message.error(res.message);
-              }
-            })
-            .catch((e) => {
-              this.$message.error(e.message);
-            });
-        })
-        .catch(() => {});
-    },
-    searchData() {
-      this.page.pageNum = 1;
-      this.page.pageSize = 200;
-      this.mainData();
-    },
-    mainData() {
-      this.saveRow = {};
-      this.table.list2 = [];
-      this.dataLoading = true;
-      let planYear = formatDate(this.search.planYear, "yyyy");
-      let obj = {
-        object: {
-          planCompanyNo: this.search.planCompanyNo,
-          planDeptNo: this.search.planDeptNo,
-          planYear: planYear,
-          matName: this.search.matName,
-          planTypeCode: 481701,
-          sampleTypeCode: this.search.sampleTypeCode,
-        },
-        pageIndex: this.page.pageNum,
-        pageSize: this.page.pageSize,
-      };
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestplans/queryLimsTestPlanPage",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.dataLoading = false;
-          this.table.list = res.data.list;
-          this.table.list.forEach((item) => {
-            item.stateFlagName =
-              item.stateFlag === "0"
-                ? "编辑"
-                : item.stateFlag === "1"
-                ? "提交"
-                : "";
-            item.validFlag1 =
-              item.validFlag === "0"
-                ? "无效"
-                : item.validFlag === "1"
-                ? "有效"
-                : "";
-            item.isSmp1 =
-              item.isSmp === "0" ? "否" : item.isSmp === "1" ? "是" : "";
-            item.isPrepName =
-              item.isPrep === "0" ? "否" : item.isPrep === "1" ? "是" : "";
-            item.isPostponeName =
-              item.isPostpone === "0"
-                ? "否"
-                : item.isPostpone === "1"
-                ? "是"
-                : "";
-            item.isMaterName =
-              item.isMater === "0" ? "否" : item.isMater === "1" ? "是" : "";
-            item.isBatchName =
-              item.isBatch === "0" ? "否" : item.isBatch === "1" ? "是" : "";
-            item.isCheckName = item.isCheck ? "否" : "是";
-            item.planDate1 = formatDate(item.planDate, "yyyy-MM-dd");
-            item.testTime1 = formatDate(item.testTime, "HH:mm:ss");
-          });
-          this.page.totalPage = res.data.total;
-          if (this.table.list.length > 0) {
-            this.$refs.dataTable.setCurrentRow(this.table.list[0]);
-            this.searchFollow(this.table.list[0]);
-          }
-        })
-        .catch((e) => {
-          this.dataLoading = false;
-        });
-    },
-    //提取分析项目
-    extract() {
-      if (JSON.stringify(this.saveRow) === "{}") {
-        this.$message.warning("请先点击选中一条固定计划信息数据");
-        return;
-      }
-      if (this.saveRow.stateFlag == 1) {
-        this.$message.warning("数据已提交,不可进行操作");
-        return;
-      }
-      this.extractLoading = true;
-      this.axios
-        .get(
-          "pass/testManagement/v1/limstestplands/batchsaveLimsPlanDByMatNo",
-          {
-            params: { matNo: this.saveRow.matNo, planId: this.saveRow.planId },
-          },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.depData(this.saveRow.planId);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.extractLoading = false;
-        })
-        .catch((e) => {
-          this.extractLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    searchFollow(row) {
-      this.saveRow = row;
-      this.page2.pageNum = 1;
-      this.page2.pageSize = 50;
-      this.depData(this.saveRow.planId);
-    },
-    depData(planId) {
-      this.planSave = {};
-      this.dataLoading2 = true;
-      let planIds = planId ? planId : "";
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstestplands/queryLimsTestPlanDByPlanId?planId=" +
-            planIds,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.dataLoading2 = false;
-          this.table.list2 = res.data;
-          this.table.list2.forEach((item) => {
-            item.validFlag1 =
-              item.validFlag === "0"
-                ? "无效"
-                : item.validFlag === "1"
-                ? "有效"
-                : "";
-          });
-          this.page2.totalPage = res.data.total;
-        })
-        .catch((e) => {
-          this.dataLoading2 = false;
-        });
-    },
-    reset() {
-      this.search.planYear = new Date();
-      this.search.planCompanyNo = "";
-      this.search.planDeptNo = "";
-      this.search.matName = "";
-      this.searchData();
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection3 = val;
-      if (val.length > 0) {
-        this.$refs.dataTable.setCurrentRow(val[val.length - 1]);
-        this.saveRow = val[val.length - 1];
-        this.depData(this.saveRow.planId);
-      }
-    },
-    pageSizeChange(size) {
-      this.page.pageSize = size;
-      this.mainData();
-    },
-    pageCurrentChange(index) {
-      this.page.pageNum = index;
-      this.mainData();
-    },
-    handleSelectionChange2(val) {
-      this.multipleSelection4 = val;
-    },
-    pageSizeChange2(size) {
-      this.page2.pageSize = size;
-    },
-    pageCurrentChange2(index) {
-      this.page2.pageNum = index;
-    },
-    // addScreen () {
-    //   this.$nextTick(() => {
-    //       let ss = document.createElement('div');
-    //       ss.innerHTML = '筛选';
-    //       ss.style = 'text-align: center;'
-    //       this.$refs.dataTable.$el.getElementsByClassName('el-table__fixed')[0].getElementsByTagName('td')[0].appendChild(ss);
-    //    });
-    // },
-    addScreen2() {
-      this.$nextTick(() => {
-        let ss = document.createElement("div");
-        ss.innerHTML = "筛选";
-        ss.style = "text-align: center;";
-        this.$refs.dataTable2.$el
-          .getElementsByClassName("el-table__fixed")[0]
-          .getElementsByTagName("td")[0]
-          .appendChild(ss);
-      });
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if (row.validFlag !== "1") {
-        return "error-row";
-      }
-      return "";
-    },
-    tableCellClassName({ row, column, rowIndex, columnIndex }) {
-      // if (columnIndex === 29) {
-      // if (row.validFlag !== '1') {
-      //   return 'error-row';
-      // }
-      // return '';
-      // }
-      if (columnIndex === 2) {
-        if (row.stateFlag === "1") {
-          return "error-green";
-        }
-        return "";
-      }
-    },
-    tableRowClassName2({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 7) {
-        if (row.validFlag !== "1") {
-          return "error-row";
-        }
-        return "";
-      }
-      if (columnIndex === 1) {
-        if (row.memo == "已新增") {
-          return "error-green";
-        }
-      }
-      // if (columnIndex === 10 || columnIndex === 9) {
-      //   return 'erroe-bule2'
-      // }
-      // if (columnIndex === 12) {
-      // if (Date.parse(row.startTime) > new Date ()) {
-      //   return 'error-green2';
-      // }
-      // return '';
-      // }
-      // if (columnIndex === 13) {
-      // if (Date.parse(row.endTime) < new Date ()) {
-      //   return 'error-yellow2';
-      // }
-      // return '';
-      // }
-    },
-    tableHeaderCellStyle() {
-      return "color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;";
-    },
-  },
-};
-</script>
-<style scoped></style>
-<style lang="less">
-.fixedScheduleManagement {
-  .common-table-div {
-    .el-table .el-table__body tr.error-row {
-      background-color: rgb(253, 89, 89) !important;
-    }
-    .el-table .el-table__body tr.error-row > td {
-      background-color: rgb(253, 89, 89) !important;
-    }
-  }
-}
-</style>
+<!-- 计划管理-固定计划管理 -->
+<template>
+  <div class="examination fixedScheduleManagement">
+    <div class="common-head-search">
+      <el-form :inline="true" @submit.native.prevent>
+        <el-form-item label="委托单位">
+          <el-select
+            v-model="search.planCompanyNo"
+            filterable
+            style="width:100%"
+            clearable
+            collapse-tags
+            @change="selectDepartment"
+            size="small"
+          >
+            <el-option
+              v-for="item in companyNameType"
+              :key="item.orgCode"
+              :label="item.orgName"
+              :value="item.orgCode"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="联系人">
+          <el-select
+            v-model="search.planDeptNo"
+            filterable
+            style="width:100%"
+            clearable
+            collapse-tags
+            size="small"
+          >
+            <el-option
+              v-for="item in sectionNameType"
+              :key="item.orgCode"
+              :label="item.orgName"
+              :value="item.orgCode"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="计划年份">
+          <el-date-picker
+            v-model="search.planYear"
+            type="year"
+            placeholder="选择年"
+            size="small"
+            style="width: 100%;"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item label="样品类型">
+          <el-select
+            v-model="search.sampleTypeCode"
+            filterable
+            clearable
+            collapse-tags
+            size="small"
+            style="width: 100%"
+          >
+            <el-option
+              v-for="(item, index) in sampleTypeNameType"
+              :key="index"
+              :label="item.baseName"
+              :value="item.baseCode"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="物料名称">
+          <el-input
+            v-model="search.matName"
+            size="small"
+            @keyup.enter.native="searchData()"
+            style="width: 100%"
+            clearable
+          ></el-input>
+          <!-- <el-select v-model="search.matNo" clearable  style="width:100%" filterable collapse-tags size="small" >
+            <el-option v-for="(item,index) in matNameType" :key="index" :label="item.matName"
+              :value="item.matNo">
+            </el-option>
+          </el-select> -->
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            icon="el-icon-search"
+            type="goon"
+            size="mini"
+            @click="searchData"
+            >查询</el-button
+          >
+          <el-button
+            icon="el-icon-refresh"
+            type="info"
+            plain
+            size="mini"
+            @click="reset"
+            >重置</el-button
+          >
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="common-title-div">
+      <div class="common-title-name">
+        <img
+          style="width: 25px; height: 25px"
+          src="../../../../assets/img/imgScreen/logo.png"
+        />
+        固定计划信息
+      </div>
+      <div>
+        <el-button
+          icon="el-icon-circle-plus-outline"
+          type="goon"
+          size="mini"
+          v-privilege="activeMenu + 'ADD'"
+          @click="addData"
+          >新增</el-button
+        >
+        <el-button
+          icon="el-icon-edit"
+          type="goon"
+          size="mini"
+          v-privilege="activeMenu + 'PUT'"
+          @click="modifyData"
+          >修改</el-button
+        >
+        <el-button
+          icon="el-icon-remove-outline"
+          type="danger"
+          size="mini"
+          v-privilege="activeMenu + 'disable'"
+          @click="deleteData"
+          >停用</el-button
+        >
+        <el-button
+          icon="el-icon-check"
+          type="goon"
+          size="mini"
+          v-privilege="activeMenu + 'effectivity'"
+          @click="recoverData"
+          >启用</el-button
+        >
+        <el-button
+          icon="el-icon-check"
+          type="goon"
+          size="mini"
+          :loading="submitLoading"
+          v-privilege="activeMenu + 'submit'"
+          @click="submitData"
+          >提交</el-button
+        >
+        <el-button
+          icon="el-icon-remove-outline"
+          type="danger"
+          size="mini"
+          v-privilege="activeMenu + 'backSubmit'"
+          :loading="backSubmitLoading"
+          @click="backsubmitData"
+          >取消提交</el-button
+        >
+      </div>
+      <div class="common-button-div">
+        <el-button
+          icon="el-icon-download"
+          type="goon"
+          size="mini"
+          v-privilege="activeMenu + 'export'"
+          :loading="tableExportLoading"
+          @click="doExport"
+          >导出</el-button
+        >
+      </div>
+      <div style="margin-left: 8px">
+        <el-upload
+          class="upload"
+          action=""
+          :multiple="false"
+          :show-file-list="false"
+          accept="csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+          :http-request="httpRequest"
+        >
+          <el-button
+            icon="el-icon-upload2"
+            type="goon"
+            v-privilege="activeMenu + 'import'"
+            size="mini"
+            >导入</el-button
+          >
+        </el-upload>
+      </div>
+    </div>
+    <div
+      class="common-table-div"
+      id="topTable"
+      style="margin-bottom:0;margin-top:0"
+    >
+      <el-table
+        id="excelTable"
+        v-loading="dataLoading"
+        ref="dataTable"
+        border
+        :height="height_top"
+        highlight-current-row
+        @selection-change="handleSelectionChange"
+        :data="table.list"
+        :icore-filter-flag="icoreFilterFlag"
+        :header-cell-style="tableHeaderCellStyle"
+        @cell-click="searchFollow"
+        :cell-class-name="tableCellClassName"
+        :row-class-name="tableRowClassName"
+        :summary-method="getSummaries"
+        show-summary
+      >
+        <el-table-column
+          type="index"
+          label="序号"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          type="selection"
+          width="55"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          width="80px"
+          prop="stateFlagName"
+          label="状态"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="100px"
+          prop="id"
+          label="编号"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="planYear"
+          label="计划年份"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="planCompanyName"
+          label="委托单位"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="planDeptName"
+          label="联系人"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="sampleTypeName"
+          label="样品类型"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="120px"
+          prop="matName"
+          label="物料名称"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="120px"
+          prop="smpDeliName"
+          label="送样频次"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="120px"
+          prop="testTypeName"
+          label="检验类型"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="planDate1"
+          label="计划日期"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="100px"
+          prop="gradeName"
+          label="牌号"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="100px"
+          prop="matShapeName"
+          label="形状"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="100px"
+          prop="testTime1"
+          label="测试起始时间"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="100px"
+          prop="durTime"
+          label="间隔时间(h)"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="120px"
+          prop="pointName"
+          label="取样地点"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="smpCompanyName"
+          label="取样单位"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="smpDeptName"
+          label="取样车间"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="smpSectionName"
+          label="取样班组"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="100px"
+          prop="testLimit"
+          label="测试时限(h)"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="160px"
+          prop="anlyName"
+          label="分析项目"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="isSmp1"
+          label="是否取样"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="isPrepName"
+          label="是否组合"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="isPostponeName"
+          label="是否顺延"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="isBatchName"
+          label="是否组批"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="isMaterName"
+          label="是否计量"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="companyName"
+          label="检验单位"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="deptName"
+          label="检验车间"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="sectionName"
+          label="检验班组"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="suppName"
+          label="发货单位"
+          align="center"
+        ></el-table-column><el-table-column
+        :show-overflow-tooltip="true"
+        sortable
+        min-width="140px"
+        prop="acceptName"
+        label="收货单位"
+        align="center"
+      ></el-table-column><el-table-column
+      :show-overflow-tooltip="true"
+      sortable
+      min-width="100px"
+      prop="spec"
+      label="规格/说明"
+      align="center"
+    ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="memo"
+          label="备注"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="validFlag1"
+          label="数据状态"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="95px"
+          prop="createMan"
+          label="创建人"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="160px"
+          prop="createTime"
+          label="创建时间"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="160px"
+          prop="nextSubmitDate"
+          label="下次执行时间"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="isCheckName"
+          label="是否加权"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="160px"
+          prop="planSectionName"
+          label="联系电话"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="80px"
+          prop="auditManName"
+          label="审核人"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="160px"
+          prop="auditTime"
+          label="审核时间"
+          align="center"
+        ></el-table-column>
+      </el-table>
+    </div>
+    <div class="common-foot-style">
+      <el-pagination
+        @size-change="pageSizeChange"
+        @current-change="pageCurrentChange"
+        :current-page="page.pageNum"
+        :page-sizes="[100, 200, 500, 800, 1000]"
+        :page-size="page.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="page.totalPage"
+        background
+      >
+      </el-pagination>
+    </div>
+    <div class="common-title-div">
+      <div class="common-title-name">
+        <img
+          style="width: 25px; height: 25px"
+          src="../../../../assets/img/imgScreen/logo.png"
+        />
+        计划分析项目信息
+      </div>
+      <div>
+        <el-button
+          icon="el-icon-circle-plus-outline"
+          type="goon"
+          size="mini"
+          v-privilege="activeMenu + 'addDep'"
+          @click="addData2"
+          >新增</el-button
+        >
+        <el-button
+          icon="el-icon-edit"
+          type="goon"
+          size="mini"
+          v-privilege="activeMenu + 'modify'"
+          @click="modifyDep"
+          >修改</el-button
+        >
+        <el-button
+          icon="el-icon-remove-outline"
+          type="danger"
+          size="mini"
+          v-privilege="activeMenu + 'delete'"
+          :loading="deleteLoading"
+          @click="deleteData2"
+          >删除</el-button
+        >
+        <el-button
+          icon="el-icon-check"
+          type="goon"
+          size="mini"
+          :loading="extractLoading"
+          v-privilege="activeMenu + 'addDep'"
+          @click="extract"
+          >提取分析项目</el-button
+        >
+      </div>
+    </div>
+    <div class="common-table-div" style="margin-bottom:0;margin-top:0">
+      <el-table
+        v-loading="dataLoading2"
+        ref="dataTable2"
+        border
+        :height="height_bot"
+        highlight-current-row
+        @row-click="saveData"
+        :data="
+          table.list2.slice(
+            (this.page2.pageNum - 1) * this.page2.pageSize,
+            this.page2.pageNum * this.page2.pageSize
+          )
+        "
+        :icore-filter-flag="icoreFilterFlag"
+        :header-cell-style="tableHeaderCellStyle"
+        :cell-class-name="tableRowClassName2"
+        :summary-method="getSummaries"
+        show-summary
+      >
+        <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="60px"
+          prop="dspOrder"
+          label="序号"
+          align="center"
+        ></el-table-column>
+        <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="planIdD" label="计划单子号" align="center"></el-table-column>
+        <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="planId" label="计划单号" align="center"></el-table-column> -->
+        <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="100px" prop="matName" label="物料名称" align="center"></el-table-column> -->
+        <!-- <el-table-column :show-overflow-tooltip="true" sortable min-width="140px" prop="testItemName" label="任务名称" align="center"></el-table-column> -->
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="anlyItemNo"
+          label="分析项目编号"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="160px"
+          prop="anlyItemName"
+          label="分析项目"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="maxSign"
+          label="上限符"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="maxValue"
+          label="上限值"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="minSign"
+          label="下限符"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="minValue"
+          label="下限值"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="unitName"
+          label="单位"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="90px"
+          prop="validFlag1"
+          label="数据状态"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          :show-overflow-tooltip="true"
+          sortable
+          min-width="140px"
+          prop="memo"
+          label="备注"
+          align="center"
+        ></el-table-column>
+      </el-table>
+    </div>
+    <!-- <div class="common-foot-style">
+        <el-pagination  @size-change="pageSizeChange2" @current-change="pageCurrentChange2"
+          :current-page="page2.pageNum" :page-sizes="[10, 20, 50, 100, 200]" :page-size="page2.pageSize" layout="total, sizes, prev, pager, next, jumper"
+          :total="page2.totalPage" background>
+        </el-pagination>
+    </div> -->
+    <el-dialog
+      @close="fxcloseDialog"
+      :close-on-click-modal="false"
+      :visible.sync="fxdialogTableVisible"
+    >
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left:10px;font-size:18px;margin-right:20px"
+          >修改计划检验项目信息</span
+        >
+      </div>
+      <el-form label-width="80px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item prop="maxSignTypeIndex" label="上限符">
+              <el-select
+                v-model="baseData.maxSign"
+                filterable
+                collapse-tags
+                size="small"
+                style="width:100%"
+              >
+                <el-option
+                  v-for="(item, index) in maxSignType"
+                  :key="index"
+                  :label="item.maxSign"
+                  :value="item.maxSign"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="最大值">
+              <el-input
+                v-model="baseData.maxValue"
+                style="width:100%"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item prop="minSignTypeIndex" label="下限符">
+              <el-select
+                v-model="baseData.minSign"
+                filterable
+                collapse-tags
+                size="small"
+                style="width:100%"
+              >
+                <el-option
+                  v-for="(item, index) in minSignType"
+                  :key="index"
+                  :label="item.minSign"
+                  :value="item.minSign"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="最小值">
+              <el-input
+                v-model="baseData.minValue"
+                style="width:100%"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="序号">
+              <el-input
+                v-model="baseData.dspOrder"
+                style="width:100%"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button
+          type="goon"
+          icon="el-icon-check"
+          size="mini"
+          @click="fxaddData()"
+          >确定</el-button
+        >
+        <el-button
+          size="mini"
+          type="goon"
+          icon="el-icon-remove-outline"
+          @click="fxcloseDialog"
+          >取消</el-button
+        >
+      </span>
+    </el-dialog>
+    <div
+      is="alertComponets"
+      :showFlag="showFlag"
+      :Params="Params"
+      @refresh="refresh"
+    ></div>
+    <div
+      is="alertComponets2"
+      :showFlag2="showFlag2"
+      :Params="Params"
+      :Params2="Params2"
+      @refresh="refresh2"
+    ></div>
+  </div>
+</template>
+<script>
+import { getCookie, formatDate } from "@/utils/util.js";
+import { cookieUserId, cookieUserName } from "@/config/config.js";
+import alertComponets from "./alertComponents";
+import alertComponets2 from "./alertComponents2";
+let userName = getCookie(cookieUserName);
+let userId = getCookie(cookieUserId);
+
+export default {
+  components: { alertComponets, alertComponets2 },
+  data() {
+    return {
+      table: {
+        list: [],
+        list2: [],
+      },
+      tableExportLoading: false,
+      dataLoading: false,
+      dataLoading2: false,
+      saveRow: {},
+      icoreFilterFlag: true,
+      stopLoading: false,
+      startLoading: false,
+      submitLoading: false,
+      backSubmitLoading: false,
+      deleteLoading: false,
+      fxdialogTableVisible: false,
+      extractLoading: false,
+      page: {
+        pageSize: 200,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      page2: {
+        pageSize: 200,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      baseData: {},
+      minSignType: [{ minSign: ">=" }, { minSign: ">" }],
+      maxSignType: [{ maxSign: "<=" }, { maxSign: "<" }],
+      list: [],
+      planSave: {},
+      planId: "",
+      height_top: 0,
+      height_bot: 0,
+      showFlag: false,
+      Params: {},
+      showFlag2: false,
+      Params2: {},
+      companyNameType: [],
+      companyNameType1: [],
+      sampleTypeNameType: [],
+      multipleSelection3: [],
+      multipleSelection4: [],
+      matNameType: [],
+      sectionNameType: [],
+      search: {
+        planYear: "",
+        planCompanyNo: "",
+        planDeptNo: "",
+        matNo: "",
+        sampleTypeCode: "",
+      },
+      activeMenu: "",
+    };
+  },
+  watch: {
+    // table: {
+    //   handler(val) {
+    //     console.log("固定计划信息:", val);
+    //   },
+    //   deep: true,
+    //   immediate: true,
+    // },
+  },
+  computed: {},
+  filters: {},
+  created() {
+    this.height_top =
+      window.innerHeight / 2 - 130 < 249 ? 249 : window.innerHeight / 2 - 110;
+    this.height_bot =
+      window.innerHeight / 2 - 140 < 249 ? 249 : window.innerHeight / 2 - 110;
+    this.activeMenu = window.top.localStorage.getItem("activeMenu");
+    this.search.planYear = new Date();
+  },
+  mounted() {
+    this.axios
+      .post(
+        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
+        {},
+        { individualType: "json" }
+      )
+      .then((response) => {
+        this.companyNameType = response.data;
+      });
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbasematerialss/queryLimsBaseMaterialsPage/",
+        { object: { validFlag: 1 }, pageIndex: 1, pageSize: 99999 },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.matNameType = res.data.list;
+      });
+    //样品类型
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        { validFlag: 1, baseCode: 4801 },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.sampleTypeNameType = res.data;
+      });
+    this.searchData();
+    // this.getDataList2();
+    // this.addScreen();
+    this.addScreen2();
+  },
+  methods: {
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "合计";
+        }
+        if (index === 1) {
+          sums[index] = data.length;
+        }
+      });
+      return sums;
+    },
+    selectDepartment(val) {
+      this.sectionNameType = [];
+      // this.pointNameType = []
+      this.companyNameType.find((item) => {
+        if (val === item.orgCode) {
+          this.sectionNameType = item.sysOrgList;
+          this.search.planDeptNo = "";
+        }
+      });
+    },
+    smpSection() {
+      this.$forceUpdate();
+    },
+    refresh() {
+      this.mainData();
+    },
+    refresh2() {
+      this.depData(this.saveRow.planId);
+    },
+    saveData(row) {
+      this.planSave = Object.assign({}, row);
+    },
+    getDate(strDate) {
+      var st = strDate;
+      // var a = st.split(" ");
+      // var b = a[0].split("-");
+      var c = st.split(":");
+      var date = new Date("2020", "8", "29", c[0], c[1], c[2]);
+      return date;
+    },
+    // httpRequest(e) {
+    //   let file = e.file; // 文件信息
+    //   if (!file) {
+    //     // 没有文件
+    //     return false;
+    //   } else if (!/\.(xls|xlsx)$/.test(file.name.toLowerCase())) {
+    //     // 格式根据自己需求定义
+    //     this.$message.error("上传格式不正确,请上传xls或者xlsx格式");
+    //     return false;
+    //   }
+    //   const fileReader = new FileReader();
+    //   fileReader.onload = (ev) => {
+    //     let _this = this;
+    //     _this.list = [];
+    //     try {
+    //       const data = ev.target.result;
+    //       const workbook = XLSX.read(data, {
+    //         type: "binary", // 以字符编码的方式解析
+    //       });
+    //       const exlname = workbook.SheetNames[0]; // 取第一张表
+    //       _this.jsonData = XLSX.utils.sheet_to_json(workbook.Sheets[exlname]); // 生成json表格内容
+    //       for (var j = 0; j < _this.jsonData.length; j++) {
+    //         // 按照生成jsonData 的数据格式 处理 生成所需表格
+    //         if (_this.jsonData[j]["是否取样"] === "是") {
+    //           _this.isSmp1 = 1;
+    //         } else if (_this.jsonData[j]["是否取样"] === "否") {
+    //           _this.isSmp1 = 0;
+    //         }
+    //         _this.planDate1 = new Date(_this.jsonData[j]["计划日期"]).getTime();
+    //         _this.testTime1 = _this
+    //           .getDate(_this.jsonData[j]["测试起始时间"])
+    //           .getTime();
+    //         _this.list.push({
+    //           isSmp: _this.isSmp1,
+    //           planYear: _this.jsonData[j]["计划年份"],
+    //           companyName: _this.jsonData[j]["委托单位"],
+    //           deptName: _this.jsonData[j]["联系人"],
+    //           sampleTypeCode: _this.jsonData[j]["样品类型"],
+    //           matName: _this.jsonData[j]["物料名称"],
+    //           matNo: _this.jsonData[j]["物料编号"],
+    //           planDate: _this.planDate1,
+    //           testTime: _this.testTime1,
+    //           createMan: userName,
+    //           createNo: userId,
+    //           planTypeCode: "481701",
+    //           planTypeName: "固定计划",
+    //           durTime: _this.jsonData[j]["间隔时间(小时)"],
+    //           pointName: _this.jsonData[j]["状取样地点"],
+    //           planTypeCode: _this.jsonData[j]["计划类型编号"],
+    //           planTypeName: _this.jsonData[j]["计划类型"],
+    //           smpDeptName: _this.jsonData[j]["取样单位"],
+    //           testLimit: _this.jsonData[j]["测试时限(小时)"],
+    //           memo: _this.jsonData[j]["备注"],
+    //         });
+    //       }
+    //       console.log(_this.list);
+    //       _this.operateLoading = true;
+    //       _this.axios
+    //         .post("pass/testManagement/v1/limstestplans/list", _this.list, {
+    //           individualType: "json",
+    //         })
+    //         .then((res) => {
+    //           if (res.succeed) {
+    //             this.$message.success("导入成功");
+    //             _this.refresh();
+    //           } else {
+    //             this.$message.error(res.message);
+    //           }
+    //         })
+    //         .catch((e) => {
+    //           this.$message.error(e.message);
+    //         });
+    //     } catch (e) {
+    //       return false;
+    //     }
+    //   };
+    //   fileReader.readAsBinaryString(file);
+    // },
+    async httpRequest(e) {
+      console.log('upload....:',e)
+      let file = e.file; // 文件信息
+      if (!file) {
+        // 没有文件
+        return false;
+      } else if (!/\.(xls|xlsx)$/.test(file.name.toLowerCase())) {
+        // 格式根据自己需求定义
+        this.$message.error("上传格式不正确,请上传xls或者xlsx格式");
+        return false;
+      }
+      // const fileReader = new FileReader();
+      let reader = new FileReader();
+      try {
+        let data = await new Promise((resolve) => {
+          reader.readAsBinaryString(file);
+          reader.onload = (ev) => {
+            resolve(ev.target.result);
+          };
+        });
+        let workbook = xlsx.read(data, { type: "binary" });
+        let firstSheetName = workbook.SheetNames[0];
+        let worksheet = workbook.Sheets[firstSheetName];
+        let res = xlsx.utils.sheet_to_json(worksheet); // 使用 utils 里的方法转换内容为便于使用的数组
+        // res.splice(0,1);
+        // this.errObjs = [];
+        let count = 10000;
+        if (res.length > count) {
+          return this.$message.warning("单次导入数量不能超过" + count + "条,");
+        }
+        let loadingInstance = Loading.service({
+          text: "正在处理上传的数据,等待的时间可能比较长,请耐心等待!",
+          background: "rgba(0,0,0,.5)",
+        });
+        for (let i = 1; i < res.length; i++) {
+          let item = res[i];
+          // this.checkErr(item);
+          item.CREATE_TIME = null;
+          item.UPDATE_TIME = null;
+          item.nextSubmitDate = null;
+          item.PLAN_TYPE_CODE = '481701';
+          item.PLAN_TYPE_NAME = '固定计划';
+        }
+        res.splice(0, 1);
+
+
+        await this.axios
+          .post("pass/testManagement/v1/limstestplans/importData", res, {
+            individualType: "json",
+          })
+          .then((res) => {
+            if (res.code == 0 || res.code == 200) {
+              this.$message.success("成功上传" + res.data + "条数据!");
+              loadingInstance.close();
+            } else {
+              this.$message.warning(res.message);
+              loadingInstance.close();
+            }
+          })
+          .catch((e) => {
+            this.$message.warning(e.message);
+            loadingInstance.close();
+          });
+      } catch (e) {
+        this.$message.warning(e.message);
+        loadingInstance.close();
+      }
+    },
+    // 导出
+    doExport() {
+      if (this.table.list.length === 0) {
+        this.$message.warning("表格无数据不能导出");
+        return true;
+      }
+      this.tableExportLoading = true;
+      this.isFixed = false;
+      this.icoreFilterFlag = false;
+      setTimeout(() => {
+        let data = this.table.list;
+        this.table.list = [];
+        // 将大表控件bigDataShow改成[10000, 28];
+        setTimeout(() => {
+          // this.bigDataShow = [10000, 28];
+          // this.isFixed = false;
+          this.table.list = data;
+          setTimeout(() => {
+            this.tableExportLoading = false;
+            this.doExport2();
+          }, 0);
+        }, 0);
+      }, 0);
+    },
+    doExport2() {
+      // 将固定列去掉,否则导出的element-ui表格会有两个,因为element-ui固定列的实现原理是表格上面再套一层表格
+      this.$nextTick(() => {
+        let table = document.querySelector("#topTable .el-table");
+        let header = document.querySelector(
+          "#topTable .el-table .el-table__header"
+        );
+        let body = document.querySelector(
+          "#topTable .el-table .el-table__body"
+        );
+        let footer = document.querySelector(
+          "#topTable .el-table .el-table__footer"
+        );
+        let oTd = document.querySelectorAll("#topTable .el-table td");
+        let oTh = document.querySelectorAll("#topTable .el-table th");
+        // let tjTd = document.querySelectorAll('#power_table .el-table .el-table__footer td[rowspan="1"]');
+        // 设置表格的border属性值为1,解决表格导出后无边框问题
+        header.border = "1";
+        body.border = "1";
+        footer.border = "1";
+        for (let item of Array.from(oTd)) {
+          item.style.height = "27px";
+          // item.setAttribute('style', 'height:27px;mso-number-format:"@"');
+        }
+        for (let item of Array.from(oTh)) {
+          item.style.height = "27px";
+        }
+        // 处理表格底部合计统计样式问题
+        // for (let item of Array.from(tjTd)) {
+        //   item.setAttribute('rowspan', '2');
+        // }
+        let ex = '<th class="gutter" style="width: 10px; height: 27px;"></th>';
+        let ex2 = '<th class="gutter" style="width: 0px; height: 27px;"></th>';
+        ex = new RegExp(ex, "g").test(table.outerHTML) ? ex : ex2;
+        // console.log(new RegExp(ex2, 'g').test(table.outerHTML), 'table.outerHTML', table.outerHTML);
+        let bd = table.outerHTML.replace(new RegExp(ex, "g"), "");
+        bd = bd.replace("正在整理数据", "");
+        let html =
+          '<html><head><meta charset="utf-8" /></head><body>' +
+          bd +
+          "</body></html>";
+        let blob = new Blob([html], { type: "application/vnd.ms-excel" });
+        let link = document.createElement("a");
+        link.download = "固定计划信息表.xls";
+        link.href = URL.createObjectURL(blob);
+        // document.body.appendChild(link);
+        link.click();
+        // 导出之后将a标签移除掉,并将border属性设置为最初的0
+        // document.body.removeChild(link)
+        header.border = "0";
+        body.border = "0";
+        footer.border = "0";
+        for (let item of Array.from(oTd)) {
+          item.style.height = "";
+        }
+        for (let item of Array.from(oTh)) {
+          item.style.height = "";
+        }
+        // for (let item of Array.from(tjTd)) {
+        //   item.setAttribute('rowspan', '1');
+        // }
+        // this.bigDataShow = [4, 28];
+        this.isFixed = true;
+        this.icoreFilterFlag = true;
+      });
+    },
+    addData() {
+      let _this = this;
+      _this.showFlag = !_this.showFlag;
+      if (_this.saveRow) {
+        _this.Params = _this.saveRow;
+        _this.Params.addFlag = "1";
+      } else {
+        _this.Params = { addFlag: "1" };
+      }
+    },
+    modifyData() {
+      let _this = this;
+      if (_this.multipleSelection3.length !== 1) {
+        this.$message.warning("请勾选您要修改的一条数据!");
+        return;
+      }
+      if (_this.multipleSelection3[0].stateFlag === "1") {
+        _this.$message.warning("已提交的数据不可以进行修改!");
+        return;
+      }
+      // if (JSON.stringify(this.saveRow)==="{}") {
+      //  this.$message.warning('请选择你要修改的数据!')
+      //  return
+      // }
+      // if (this.saveRow.stateFlag == 1) {
+      //   this.$message.warning('数据已提交,不可再修改')
+      //   return
+      // }
+      // this.Params = this.saveRow
+      this.showFlag = !this.showFlag;
+      this.Params = this.multipleSelection3[0];
+      this.Params.addFlag = "0";
+    },
+    //停用
+    deleteData() {
+      if (this.multipleSelection3.length < 1) {
+        this.$message.warning("请勾选您要停用的数据!");
+        return;
+      }
+      let tempArr = [];
+      this.multipleSelection3.map((item) => {
+        tempArr.push(item.id);
+      });
+      this.stopLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limstestplans/disable", tempArr, {
+          individualType: "json",
+        })
+        .then((res) => {
+          this.stopLoading = false;
+          if (res.succeed) {
+            this.dialogTableVisible = false;
+            this.$message.success("停用操作成功");
+            this.refresh();
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.stopLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    //启用
+    recoverData() {
+      if (this.multipleSelection3.length < 1) {
+        this.$message.warning("请勾选您要启用的数据!");
+        return;
+      }
+      let tempArr = [];
+      this.multipleSelection3.map((item) => {
+        tempArr.push(item.id);
+      });
+      this.startLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limstestplans/enabled", tempArr, {
+          individualType: "json",
+        })
+        .then((res) => {
+          this.startLoading = false;
+          if (res.succeed) {
+            this.dialogTableVisible = false;
+            this.$message.success("启用成功");
+            this.refresh();
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.startLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    //提交
+    submitData() {
+      if (this.multipleSelection3.length < 1) {
+        this.$message.warning("请勾选您要提交的数据!");
+        return;
+      }
+      for (let item of this.multipleSelection3) {
+        if (item.stateFlag == 1) {
+          this.$message.warning(
+            "数据中含有已提交的数据,已提交的数据不可再次提交"
+          );
+          return;
+        }
+        if (item.validFlag == 0) {
+          this.$message.warning("无效状态的数据,不可以提交!");
+          return;
+        }
+      }
+      this.submitLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestplans/submit",
+          this.multipleSelection3,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.submitLoading = false;
+          if (res.succeed) {
+            this.$message.success("提交成功");
+            this.refresh();
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.submitLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    //取消提交
+    backsubmitData() {
+      if (this.multipleSelection3.length < 1) {
+        this.$message.warning("请勾选您要取消提交的数据!");
+        return;
+      }
+      for (let item of this.multipleSelection3) {
+        if (item.stateFlag == 0) {
+          this.$message.warning("数据中含有编辑状态的数据,不可取消提交");
+          return;
+        }
+        if (item.validFlag == 0) {
+          this.$message.warning("无效状态的数据,不可以取消提交!");
+          return;
+        }
+      }
+      this.backSubmitLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestplans/updatestate",
+          this.multipleSelection3,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.backSubmitLoading = false;
+          if (res.succeed) {
+            this.$message.success(res.message);
+            this.refresh();
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.backSubmitLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    //计划检验项目表新增
+    addData2() {
+      if (JSON.stringify(this.saveRow) === "{}") {
+        this.$message.warning("请点击选中一条固定计划信息数据!");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可再新增");
+        return;
+      }
+      this.showFlag2 = !this.showFlag2;
+      this.Params2 = null;
+      this.Params = this.saveRow;
+    },
+    modifyDep() {
+      if (JSON.stringify(this.planSave) === "{}") {
+        this.$message.warning("请点击选中一条固定计划信息数据!");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可再修改");
+        return;
+      }
+      this.baseData = Object.assign({}, this.planSave);
+      this.fxdialogTableVisible = true;
+    },
+    fxcloseDialog() {
+      this.fxdialogTableVisible = false;
+      this.baseData = {};
+    },
+    fxaddData() {
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestplands/saveLimsTestPlanD",
+          this.baseData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.succeed) {
+            this.fxdialogTableVisible = false;
+            this.$message.success(res.message);
+            this.depData(this.saveRow.planId);
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    ////计划检验项目表删除
+    deleteData2() {
+      if (JSON.stringify(this.planSave) === "{}") {
+        this.$message.warning("请点击选中一条需要删除的数据");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可再删除");
+        return;
+      }
+      this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.axios
+            .post(
+              "pass/testManagement/v1/limstestplands/deleteLimsTestPlanD?id=" +
+                this.planSave.id,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.succeed) {
+                this.$message.success("删除操作成功");
+                this.depData(this.saveRow.planId);
+              } else {
+                this.$message.error(res.message);
+              }
+            })
+            .catch((e) => {
+              this.$message.error(e.message);
+            });
+        })
+        .catch(() => {});
+    },
+    searchData() {
+      this.page.pageNum = 1;
+      this.page.pageSize = 200;
+      this.mainData();
+    },
+    mainData() {
+      this.saveRow = {};
+      this.table.list2 = [];
+      this.dataLoading = true;
+      let planYear = formatDate(this.search.planYear, "yyyy");
+      let obj = {
+        object: {
+          planCompanyNo: this.search.planCompanyNo,
+          planDeptNo: this.search.planDeptNo,
+          planYear: planYear,
+          matName: this.search.matName,
+          planTypeCode: 481701,
+          sampleTypeCode: this.search.sampleTypeCode,
+        },
+        pageIndex: this.page.pageNum,
+        pageSize: this.page.pageSize,
+      };
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestplans/queryLimsTestPlanPage",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.dataLoading = false;
+          this.table.list = res.data.list;
+          this.table.list.forEach((item) => {
+            item.stateFlagName =
+              item.stateFlag === "0"
+                ? "编辑"
+                : item.stateFlag === "1"
+                ? "提交"
+                : "";
+            item.validFlag1 =
+              item.validFlag === "0"
+                ? "无效"
+                : item.validFlag === "1"
+                ? "有效"
+                : "";
+            item.isSmp1 =
+              item.isSmp === "0" ? "否" : item.isSmp === "1" ? "是" : "";
+            item.isPrepName =
+              item.isPrep === "0" ? "否" : item.isPrep === "1" ? "是" : "";
+            item.isPostponeName =
+              item.isPostpone === "0"
+                ? "否"
+                : item.isPostpone === "1"
+                ? "是"
+                : "";
+            item.isMaterName =
+              item.isMater === "0" ? "否" : item.isMater === "1" ? "是" : "";
+            item.isBatchName =
+              item.isBatch === "0" ? "否" : item.isBatch === "1" ? "是" : "";
+            item.isCheckName = item.isCheck ? "否" : "是";
+            item.planDate1 = formatDate(item.planDate, "yyyy-MM-dd");
+            item.testTime1 = formatDate(item.testTime, "HH:mm:ss");
+          });
+          this.page.totalPage = res.data.total;
+          if (this.table.list.length > 0) {
+            this.$refs.dataTable.setCurrentRow(this.table.list[0]);
+            this.searchFollow(this.table.list[0]);
+          }
+        })
+        .catch((e) => {
+          this.dataLoading = false;
+        });
+    },
+    //提取分析项目
+    extract() {
+      if (JSON.stringify(this.saveRow) === "{}") {
+        this.$message.warning("请先点击选中一条固定计划信息数据");
+        return;
+      }
+      if (this.saveRow.stateFlag == 1) {
+        this.$message.warning("数据已提交,不可进行操作");
+        return;
+      }
+      this.extractLoading = true;
+      this.axios
+        .get(
+          "pass/testManagement/v1/limstestplands/batchsaveLimsPlanDByMatNo",
+          {
+            params: { matNo: this.saveRow.matNo, planId: this.saveRow.planId },
+          },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.depData(this.saveRow.planId);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.extractLoading = false;
+        })
+        .catch((e) => {
+          this.extractLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    searchFollow(row) {
+      this.saveRow = row;
+      this.page2.pageNum = 1;
+      this.page2.pageSize = 50;
+      this.depData(this.saveRow.planId);
+    },
+    depData(planId) {
+      this.planSave = {};
+      this.dataLoading2 = true;
+      let planIds = planId ? planId : "";
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstestplands/queryLimsTestPlanDByPlanId?planId=" +
+            planIds,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.dataLoading2 = false;
+          this.table.list2 = res.data;
+          this.table.list2.forEach((item) => {
+            item.validFlag1 =
+              item.validFlag === "0"
+                ? "无效"
+                : item.validFlag === "1"
+                ? "有效"
+                : "";
+          });
+          this.page2.totalPage = res.data.total;
+        })
+        .catch((e) => {
+          this.dataLoading2 = false;
+        });
+    },
+    reset() {
+      this.search.planYear = new Date();
+      this.search.planCompanyNo = "";
+      this.search.planDeptNo = "";
+      this.search.matName = "";
+      this.searchData();
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection3 = val;
+      if (val.length > 0) {
+        this.$refs.dataTable.setCurrentRow(val[val.length - 1]);
+        this.saveRow = val[val.length - 1];
+        this.depData(this.saveRow.planId);
+      }
+    },
+    pageSizeChange(size) {
+      this.page.pageSize = size;
+      this.mainData();
+    },
+    pageCurrentChange(index) {
+      this.page.pageNum = index;
+      this.mainData();
+    },
+    handleSelectionChange2(val) {
+      this.multipleSelection4 = val;
+    },
+    pageSizeChange2(size) {
+      this.page2.pageSize = size;
+    },
+    pageCurrentChange2(index) {
+      this.page2.pageNum = index;
+    },
+    // addScreen () {
+    //   this.$nextTick(() => {
+    //       let ss = document.createElement('div');
+    //       ss.innerHTML = '筛选';
+    //       ss.style = 'text-align: center;'
+    //       this.$refs.dataTable.$el.getElementsByClassName('el-table__fixed')[0].getElementsByTagName('td')[0].appendChild(ss);
+    //    });
+    // },
+    addScreen2() {
+      this.$nextTick(() => {
+        let ss = document.createElement("div");
+        ss.innerHTML = "筛选";
+        ss.style = "text-align: center;";
+        this.$refs.dataTable2.$el
+          .getElementsByClassName("el-table__fixed")[0]
+          .getElementsByTagName("td")[0]
+          .appendChild(ss);
+      });
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.validFlag !== "1") {
+        return "error-row";
+      }
+      return "";
+    },
+    tableCellClassName({ row, column, rowIndex, columnIndex }) {
+      // if (columnIndex === 29) {
+      // if (row.validFlag !== '1') {
+      //   return 'error-row';
+      // }
+      // return '';
+      // }
+      if (columnIndex === 2) {
+        if (row.stateFlag === "1") {
+          return "error-green";
+        }
+        return "";
+      }
+    },
+    tableRowClassName2({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 7) {
+        if (row.validFlag !== "1") {
+          return "error-row";
+        }
+        return "";
+      }
+      if (columnIndex === 1) {
+        if (row.memo == "已新增") {
+          return "error-green";
+        }
+      }
+      // if (columnIndex === 10 || columnIndex === 9) {
+      //   return 'erroe-bule2'
+      // }
+      // if (columnIndex === 12) {
+      // if (Date.parse(row.startTime) > new Date ()) {
+      //   return 'error-green2';
+      // }
+      // return '';
+      // }
+      // if (columnIndex === 13) {
+      // if (Date.parse(row.endTime) < new Date ()) {
+      //   return 'error-yellow2';
+      // }
+      // return '';
+      // }
+    },
+    tableHeaderCellStyle() {
+      return "color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;";
+    },
+  },
+};
+</script>
+<style scoped></style>
+<style lang="less">
+.fixedScheduleManagement {
+  .common-table-div {
+    .el-table .el-table__body tr.error-row {
+      background-color: rgb(253, 89, 89) !important;
+    }
+    .el-table .el-table__body tr.error-row > td {
+      background-color: rgb(253, 89, 89) !important;
+    }
+  }
+}
+</style>

+ 4321 - 4315
src/views/testAnalysis/components/testManagement/testManagement.vue

@@ -1,4315 +1,4321 @@
-<!-- 测试分析-测试管理 -->
-<template>
-  <div class="examination testManagement">
-    <div class="common-head-search">
-      <el-form :inline="true" @submit.native.prevent ref="searchForm" :model="searchForm"
-        class="demo-form-inline sui-search-form">
-        <el-form-item label="样品名称">
-          <el-input v-model="searchForm.matName" @keyup.enter.native="searchData()" size="small" placeholder="请输入查询内容"
-            style="width: 150px"></el-input>
-        </el-form-item>
-        <el-form-item label="样品编号">
-          <el-input v-model="searchForm.sampleNo" size="small" placeholder="请输入查询内容" style="width: 120px"></el-input>
-        </el-form-item>
-        <el-form-item label="样品类型">
-          <el-select v-model="searchForm.sampleTypeCode" clearable filterable collapse-tags size="small"
-            style="width: 150px" placeholder="请选择查询内容">
-            <el-option v-for="item in sampleTypeNameType" :key="item.baseName" :label="item.baseName"
-              :value="item.baseCode">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="任务领用日期">
-          <el-date-picker v-model="searchForm.times[0]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="datetime"
-            placeholder="开始日期" size="mini" style="width: 180px" :default-time="'00:00:00'">
-          </el-date-picker>
-          <span>至</span>
-          <el-date-picker v-model="searchForm.times[1]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="datetime"
-            placeholder="结束日期" size="mini" style="width: 180px" :default-time="'23:59:59'">
-          </el-date-picker>
-          <!-- <el-date-picker
-            v-model="searchForm.times"
-            type="datetimerange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width: 350px"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']"
-          >
-          </el-date-picker> -->
-        </el-form-item>
-        <el-form-item>
-          <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
-          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="resetData">重置</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-    <el-row>
-      <el-col :span="10">
-        <el-tabs type="border-card" v-model="activeName" class="testManagement_left">
-          <el-tab-pane label="待接任务" name="first">
-            <span slot="label">待接任务<el-badge :max="10" :hidden="total_main == 0" style="margin-top: -18px"
-                :value="total_main"></el-badge></span>
-            <div class="common-title-div" style="height: auto">
-              <div class="common-title-name" style="margin-right: 10px">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                未接收
-              </div>
-              <div>
-                <el-form :inline="true" @submit.native.prevent>
-                  <el-form-item style="margin-bottom: 0">
-                    <el-button icon="el-icon-check" type="goon" :loading="sampleLoading" @click="recSample"
-                      v-privilege="activeMenu + 'receive'" size="mini">接任务</el-button>
-                  </el-form-item>
-                  <el-form-item style="margin-bottom: 0">
-                    <el-input ref="autoInput" v-model="values" placeholder="扫码接任务" size="mini" style="width: 150px"
-                      @input="autoSubmit()" clearable :disabled="inputLoading"></el-input>
-                  </el-form-item>
-                  <!--<el-form-item>
-                    <el-button icon="el-icon-check" type="goon" size="mini" :loading='inputLoading' v-privilege="activeMenu + 'codeSampling'" @click="transferTask">任务转移</el-button>
-                  </el-form-item>-->
-                </el-form>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table ref="table1" :height="theight1" v-loading="tableLoading1" :data="tableData1"
-                :summary-method="getSummaries2" show-summary border @selection-change="searchFollow"
-                :header-cell-style="tableHeaderCellStyle" highlight-current-row :icorePanelShown="100"
-                :icore-filter-flag="icoreFilterFlag" :exchangeFilterMap="{
-                  lock_flag: { '0': '未锁定', '1': '已锁定' },
-                }" style="width: 100%">
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
-                  label="委托编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
-                  label="中心编号">
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
-                  label="物料名称"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
-                  label="测试项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="entrMemo" label="委托备注"
-                  align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="matOrder"
-                  label="物料顺序"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="sampleTypeName"
-                  label="样品类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="functionName"
-                  label="任务类型"></el-table-column>
-              </el-table>
-            </div>
-            <div class="common-foot-style">
-              <el-pagination @size-change="handleSizeChangeMain" @current-change="DataMain()"
-                :current-page.sync="pageIndex" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize"
-                layout="total, sizes, prev, pager, next, jumper" :total="total_main" background></el-pagination>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="已接任务" name="second">
-            <div class="common-title-div" style="height: auto">
-              <div class="common-title-name" style="margin-right: 10px">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                已接收
-              </div>
-              <div class="buttons">
-                <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
-                  v-privilege="activeMenu + 'back'" @click="back">退回</el-button>
-                <el-button icon="el-icon-check" type="goon" :loading="submitLoading" @click="subData"
-                  v-privilege="activeMenu + 'submit'" size="mini">提交</el-button>
-                <el-button icon="el-icon-check" type="goon" @click="retest('480403')" size="mini"
-                  v-privilege="activeMenu + 'retest'">增加任务</el-button>
-                <el-button icon="el-icon-check" type="goon" @click="retest('480405')" size="mini"
-                  v-privilege="activeMenu + 'retest'">增加标样</el-button>
-                <el-button icon="el-icon-check" type="goon" @click="collectData" v-privilege="activeMenu + 'collect'"
-                  size="mini">批量采集</el-button>
-                <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
-                  v-privilege="activeMenu + 'backCollect'" @click="backCollect">撤回采集</el-button>
-                <el-button icon="el-icon-check" type="goon" :loading="batchDataLoading" @click="batchData"
-                  v-privilege="activeMenu + 'batch'" size="mini">批量录入</el-button>
-                <el-button icon="el-icon-circle-close" :loading="buttonLoading1" type="danger" size="mini"
-                  v-privilege="activeMenu + 'disable'" @click="abolish">停用</el-button>
-                <el-button icon="el-icon-check" type="goon" :loading="addByLoading" @click="addBy" size="mini"
-                  v-privilege="activeMenu + 'addBy'">增加标准点</el-button>
-                <el-button icon="el-icon-check" type="goon" @click="addGly" size="mini"
-                  v-privilege="activeMenu + 'addGly'">增加管理样</el-button>
-                <el-button icon="el-icon-check" type="goon" :loading="addKbLoading" @click="addKb" size="mini"
-                  v-privilege="activeMenu + 'addKb'">增加空白样</el-button>
-                <el-checkbox v-model="isOneHint" @change="changeIsOneHint">重复提醒一次</el-checkbox>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table v-loading="tableLoading2" ref="table2" :cell-class-name="tableRowClassName"
-                @selection-change="SelectionValues" @current-change="handleCurrentChange" border
-                @row-click="searchAnalyze" :height="theight2" highlight-current-row :data="tableData2"
-                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries2" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable width="95" align="center" prop="isSendBack" label="类型">
-                  <template slot-scope="scope">
-                    <span v-if="scope.row.isSendBack === '2'" :class="{ 'color-warning': true }">
-                      额外任务
-                    </span>
-                    <span v-else> 普通任务 </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
-                  label="委托编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
-                  label="中心编号">
-                  <template slot-scope="scope">
-                    <span @click.stop="showHistory(scope.row)" style="cursor: pointer"
-                      :class="{ 'color-blue': scope.row.sampleNo }">
-                      {{ scope.row.sampleNo }}
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
-                  label="物料名称"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="170" align="center" prop="testItemName"
-                  label="测试项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
-                  label="委托备注"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeName"
-                  label="样品类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="stdName"
-                  label="方法"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="eqpName"
-                  label="仪器类型"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
-                  label="测试部门">
-                  <template slot-scope="{ row }">
-                    <el-input v-model="row.testDirection" size="small" @keyup.enter.native="calAge(row)"
-                      style="width: 100%">
-                    </el-input>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
-                  label="备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="createMan" label="创建人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="createTime" label="创建时间"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="updateMan" label="修改人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="updateTime" label="修改时间"
-                  align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="stateFlagName"
-                  label="状态"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="validFlagName"
-                  label="数据状态"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChangeDep" @current-change="DataDep()"
-                  :current-page.sync="pageIndex_dep" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize_dep"
-                  layout="total, sizes, prev, pager, next, jumper" :total="total_dep" background></el-pagination>
-              </div>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="已提交" name="third">
-            <div class="common-title-div" style="height: auto">
-              <div class="common-title-name" style="margin-right: 10px">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                已提交
-              </div>
-              <div class="buttons">
-                <el-button icon="el-icon-back" type="danger" size="mini" :loading="withdrawLoading"
-                  @click="backWithdraw">撤回</el-button>
-              </div>
-              <el-button icon="el-icon-check" type="goon" @click="retest2('480403')" size="mini"
-                v-privilege="activeMenu + 'retest'">增加任务</el-button>
-            </div>
-            <div class="common-table-div">
-              <el-table v-loading="tableLoading4" ref="table4" :cell-class-name="tableRowClassName"
-                @selection-change="SelectionValues4" @current-change="handleCurrentChange" border
-                @row-click="searchAnalyze" :height="theight2" highlight-current-row :data="tableData4"
-                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries2" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable width="95" align="center" prop="isSendBack" label="类型">
-                  <template slot-scope="scope">
-                    <span v-if="scope.row.isSendBack === '2'" :class="{ 'color-warning': true }">
-                      额外任务
-                    </span>
-                    <span v-else> 普通任务 </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
-                  label="委托编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
-                  label="中心编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
-                  label="物料名称"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
-                  label="测试项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
-                  label="委托备注"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeName"
-                  label="样品类型"></el-table-column>
-                <!-- <el-table-column
-                  show-overflow-tooltip
-                  sortable
-                  min-width="100"
-                  align="center"
-                  prop="id"
-                  label="编号"
-                ></el-table-column> -->
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="stdName"
-                  label="方法"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="eqpName"
-                  label="仪器类型"></el-table-column>
-                <!-- <el-table-column
-                  show-overflow-tooltip
-                  sortable
-                  min-width="100"
-                  align="center"
-                  prop="testPostName"
-                  label="分析岗位"
-                ></el-table-column> -->
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
-                  label="测试部门"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
-                  label="备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="createMan" label="创建人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="createTime" label="创建时间"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="updateMan" label="修改人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="updateTime" label="修改时间"
-                  align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="stateFlagName"
-                  label="状态"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="validFlagName"
-                  label="数据状态"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChange4" @current-change="Data4()"
-                  :current-page.sync="pageIndex4" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize4"
-                  layout="total, sizes, prev, pager, next, jumper" :total="total4" background></el-pagination>
-              </div>
-            </div>
-          </el-tab-pane>
-          <el-tab-pane label="已停用" name="stop">
-            <div class="common-title-div" style="height: auto">
-              <div class="common-title-name" style="margin-right: 10px">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                已停用
-              </div>
-              <div class="buttons">
-                <el-button icon="el-icon-check" :loading="buttonLoading2" type="goon" size="mini"
-                  v-privilege="activeMenu + 'effectivity'" @click="recoverData">启用</el-button>
-              </div>
-            </div>
-            <div class="common-table-div">
-              <el-table v-loading="tableLoading42" ref="table42" :cell-class-name="tableRowClassName"
-                @selection-change="SelectionValues42" @current-change="handleCurrentChange" border
-                @row-click="searchAnalyze" :height="theight2" highlight-current-row :data="tableData42"
-                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
-                :summary-method="getSummaries2" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable width="95" align="center" prop="isSendBack" label="类型">
-                  <template slot-scope="scope">
-                    <span v-if="scope.row.isSendBack === '2'" :class="{ 'color-warning': true }">
-                      额外任务
-                    </span>
-                    <span v-else> 普通任务 </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
-                  label="委托编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
-                  label="中心编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
-                  label="物料名称"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
-                  label="测试项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
-                  label="收样日期"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
-                  label="委托备注"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeName"
-                  label="样品类型"></el-table-column>
-                <!-- <el-table-column
-                  show-overflow-tooltip
-                  sortable
-                  min-width="100"
-                  align="center"
-                  prop="id"
-                  label="编号"
-                ></el-table-column> -->
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="stdName"
-                  label="方法"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="eqpName"
-                  label="仪器类型"></el-table-column>
-                <!-- <el-table-column
-                  show-overflow-tooltip
-                  sortable
-                  min-width="100"
-                  align="center"
-                  prop="testPostName"
-                  label="分析岗位"
-                ></el-table-column> -->
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
-                  label="测试部门"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
-                  label="备注"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="createMan" label="创建人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="createTime" label="创建时间"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="updateMan" label="修改人"
-                  align="center"></el-table-column>
-                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="updateTime" label="修改时间"
-                  align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="stateFlagName"
-                  label="状态"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="validFlagName"
-                  label="数据状态"></el-table-column>
-              </el-table>
-              <div class="common-foot-style">
-                <el-pagination @size-change="handleSizeChange5" @current-change="Data5()"
-                  :current-page.sync="pageIndex42" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize42"
-                  layout="total, sizes, prev, pager, next, jumper" :total="total42" background></el-pagination>
-              </div>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </el-col>
-      <el-col :span="14">
-        <el-tabs type="border-card" v-model="activeName2">
-          <el-tab-pane :label="analyzeVal.matName
-            ? '【 ' +
-            analyzeVal.matName +
-            ' 】 - 【 ' +
-            analyzeVal.testItemName +
-            ' 】'
-            : '未选择数据'
-            " name="first2">
-            <el-form :inline="true" :model="autoCollData" ref="autoCollData" :rules="autoColl">
-              <el-form-item prop="eqpTypeCode" label="设备类型">
-                <el-select v-model="autoCollData.eqpTypeCode" @change="selectAuto" filterable collapse-tags size="small"
-                  style="width: 150px" placeholder="">
-                  <el-option v-for="item in facilityType" :key="item.baseCode" :label="item.baseName"
-                    :value="item.baseCode">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item prop="eqpNo" label="设备名称">
-                <el-select v-model="autoCollData.eqpNo" clearable filterable collapse-tags size="small"
-                  style="width: 150px" placeholder="">
-                  <el-option v-for="item in autoEqpType" :key="item.eqpNo" :label="item.eqpName + ` (${item.memo})`"
-                    :value="item.eqpNo">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item>
-                <el-input v-model="scale" ref="autoBalance" size="mini" style="display: inline-block; width: 100px"
-                  clearable @input="autoScale()" placeholder="扫码选设备"></el-input>
-              </el-form-item>
-              <el-form-item>
-                <!--<el-button icon="el-icon-check" type="goon" size="mini" v-privilege="activeMenu + 'autoCollets'"  :loading='autoColletLoading' @click="autoCollet">自动采集</el-button>-->
-                <el-checkbox v-model="isAutoColl" @change="realTimeCollect">自动采集</el-checkbox>
-                <el-button icon="el-icon-check" type="goon" size="mini" :loading="autoColletLoading"
-                  @click="autoCollet">手动采集</el-button>
-              </el-form-item>
-            </el-form>
-            <div style="height: auto; padding-top: 1px" class="common-title-div">
-              <div class="common-title-name">
-                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
-                分析项目
-              </div>
-              <div class="buttons">
-                <el-button icon="el-icon-circle-plus-outline" @click="addAnaly" v-privilege="activeMenu + 'addData'"
-                  type="goon" size="mini">新增</el-button>
-                <el-button icon="el-icon-remove-outline" type="danger" :loading="deleteLoading" size="mini"
-                  v-privilege="activeMenu + 'delete'" @click="deleteData">删除</el-button>
-                <el-button icon="el-icon-back" type="danger" :loading="errorLoading" size="mini"
-                  @click="deleteRecall">撤回</el-button>
-                <el-button icon="el-icon-check" :loading="formulacomLoading" @click="formulacom" type="goon"
-                  v-privilege="activeMenu + 'formulacom'" size="mini">计算</el-button>
-                <el-button icon="el-icon-check" :loading="saveLoading" @click="saveData" type="goon"
-                  v-privilege="activeMenu + 'save'" size="mini">保存</el-button>
-                <el-button icon="el-icon-remove-outline" :loading="errorLoading" type="danger" size="mini"
-                  @click="abnormal">异常申报</el-button>
-              </div>
-              <div></div>
-            </div>
-            <div class="common-table-div">
-              <el-table v-loading="tableLoading3" border :height="theight3" @selection-change="selectMultiples"
-                highlight-current-row @row-click="clickRow" :data="tableData3" :icore-filter-flag="icoreFilterFlag"
-                :header-cell-style="tableHeaderCellStyle" @row-dblclick="showCell" :row-class-name="tableRowName"
-                :cell-class-name="fxTableRowClassName" :summary-method="getSummaries2" show-summary>
-                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
-                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="90" fixed="left" align="center"
-                  prop="anlyItemNo" label="分析项目编号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="180" fixed="left" align="center"
-                  prop="anlyItemName" label="分析项目"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="130" align="center" prop="anlyValue"
-                  label="报出值">
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="reviseValue"
-                  label="录入值">
-                  <template slot-scope="{ row }">
-                    <el-select :disabled="analyzeVal.stateFlag != 0" v-if="
-                      row.index === tabClickIndex &&
-                      !row.showInput &&
-                      row.dataTypeCode !== '482504'
-                    " clearable allow-create v-model="row.reviseValue" filterable size="small">
-                      <el-option v-for="(item, index) in row.defaultList" :key="index" :label="item" :value="item">
-                      </el-option>
-                    </el-select>
-                    <el-input :disabled="analyzeVal.stateFlag != 0" :controls="false" v-else-if="
-                      row.index === tabClickIndex &&
-                      row.showInput &&
-                      row.dataTypeCode !== '482504'
-                    " @blur="saveCell" v-model="row.reviseValue" @keyup.enter.native="saveCell" size="small"
-                      style="width: 100%">
-                    </el-input>
-                    <el-date-picker v-model="row.reviseValue" type="datetime" size="small" placeholder="选择日期时间"
-                      v-else-if="row.dataTypeCode === '482504'" align="right" style="width: 100%"
-                      :default-value="new Date()">
-                    </el-date-picker>
-                    <span v-else>{{ row.reviseValue }}</span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="dasValue"
-                  label="采集值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="cptValue"
-                  label="计算值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="备注">
-                  <template slot-scope="{ row }">
-                    <el-input v-model="row.memo" @blur="saveCell" @keyup.enter.native="saveCell" size="small"
-                      style="width: 100%"></el-input>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="文件上传">
-                  <template slot-scope="scope">
-                    <el-upload class="upload" action="" style="width: 40px; display: inline-block" :multiple="false"
-                      :show-file-list="false" accept="" :http-request="httpRequest">
-                      <el-button type="goon" size="mini" :disabled="analyzeVal.stateFlag != 0"
-                        @click="saveUpload(scope.row)" icon="el-icon-upload2"></el-button>
-                    </el-upload>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="130" align="center" prop="archiveId"
-                  label="文件路径">
-                  <template slot-scope="scope">
-                    <span v-if="scope.row.archiveId">
-                      <template v-for="fileName in scope.row.archiveId.split('#')">
-                        <span @click.stop="imgPreView(scope.row, fileName)" style="cursor: pointer"
-                          :class="{ 'color-blue': fileName !== '' }">
-                          {{ fileName }}
-                        </span>
-                      </template>
-                    </span>
-                  </template>
-                </el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="unitName"
-                  label="单位"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="formulaName"
-                  label="计算公式"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseRuleName"
-                  label="修约规则"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isReportName"
-                  label="是否报出"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isAlarmName"
-                  label="是否报警"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minSign"
-                  label="最小符号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minValue"
-                  label="最小值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxSign"
-                  label="最大符号"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxValue"
-                  label="最大值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxLimit"
-                  label="方法上限值"></el-table-column>
-                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minLimit"
-                  label="方法下限值"></el-table-column>
-              </el-table>
-            </div>
-          </el-tab-pane>
-        </el-tabs>
-      </el-col>
-    </el-row>
-    <!-- 录入湿温度 -->
-    <el-dialog class="testManagement-pllr" :close-on-click-modal="false" @close="closeTemperature" width="70%"
-      :visible.sync="temperatureShow">
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left: 10px; font-size: 18px">温湿度记录</span>
-        <span style="margin-left: 10px; font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;选择化验室</span>
-        <el-select v-model="form.pointNo" clearable filterable collapse-tags @change="temperatureData" size="small"
-          style="width: 150px" placeholder="请选择查询内容">
-          <el-option v-for="item in pointType" :key="item.pointName" :label="item.pointName" :value="item.pointNo">
-          </el-option>
-        </el-select>
-        <!-- <el-form-item label="任务领用日期">
-          <el-date-picker
-            v-model="form.times"
-            type="datetimerange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width: 350px"
-            value-format="yyyy-MM-dd"
-          >
-          </el-date-picker>
-        </el-form-item> -->
-        <el-button icon="el-icon-check" @click="determine" type="goon" size="mini">确定
-        </el-button>
-      </div>
-      <div style="padding: 10px 0">
-        <el-row>
-          <el-col :span="24">
-            <el-table v-loading="temperatureLoading3" ref="dataTable" border :height="heightTop" highlight-current-row
-              :data="dialog3.form.tableData" :header-cell-style="tableHeaderCellStyle" @row-click="temperatureRow"
-              :icore-filter-flag="icoreFilterFlag">
-              <el-table-column type="index" label="NO" align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="pointName" label="分析室"
-                align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="envDate" label="记录日期"
-                align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="tempNow" label="温度 ℃"
-                align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="moisNow" label="湿度 %"
-                align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="weather" label="天气情况"
-                align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="createMan" label="创建人"
-                align="center"></el-table-column>
-              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="createTime" label="创建时间"
-                align="center"></el-table-column>
-            </el-table>
-            <div style="margin-top: 20px; margin-left: 10px">
-              <el-pagination style="float: right" @size-change="temperatureSizeTest"
-                @current-change="temperaturePageChangeTest" :current-page="temperaturelog.pageNum"
-                :page-sizes="[10, 20, 50, 100, 200]" :page-size="temperaturelog.pageSize"
-                layout="total, sizes, prev, pager, next" :total="temperaturelog.totalPage" background>
-              </el-pagination>
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-      <el-form ref="dialog_form" size="mini" label-width="100px">
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="pointNo" label="化验室">
-              <el-select v-model="dialog3.form.data.pointNo" clearable filterable collapse-tags size="small"
-                style="width: 200px" placeholder="请选择查询内容">
-                <el-option v-for="item in pointType" :key="item.pointName" :label="item.pointName"
-                  :value="item.pointNo">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="记录日期">
-              <el-date-picker v-model="dialog3.form.data.envDate" type="date" placeholder="选择日期" size="small"
-                style="width: 100%"></el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="3" style="text-align: center">
-            <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini" @click="addData">新增</el-button>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="pointNo" label="温度(℃)">
-              <el-input v-model="dialog3.form.data.tempNow" clearable style="width: 200px" size="small"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="湿度(%)">
-              <el-input v-model="dialog3.form.data.moisNow" clearable style="width: 200px" size="small"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="3" style="text-align: center">
-            <el-button icon="el-icon-edit" type="goon" size="mini" @click="modifyData">修改</el-button>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="16">
-            <el-form-item label="天气描述">
-              <el-input v-model="dialog3.form.data.weather" clearable style="width: 100%" size="small"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="3" style="text-align: center">
-            <el-button icon="el-icon-remove-outline" type="danger" size="mini" @click="deData">删除</el-button>
-          </el-col>
-        </el-row>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="goon" size="mini" @click="closeTemperature">取 消</el-button>
-        <!-- <el-button
-          type="goon"
-          size="mini"
-          :loading="addGlyLoading"
-          @click="addGlySure"
-          >保 存</el-button
-        > -->
-      </span>
-    </el-dialog>
-    <!-- 批量录入 -->
-    <el-dialog class="testManagement-pllr" :close-on-click-modal="false" @close="closebatch" width="100%"
-      :visible.sync="batchShow" top="0">
-      <div slot="title" class="titleBox">
-        <div>
-          <i class="el-icon-document" style="font-size: 20px"></i>
-          <span style="margin-left: 10px; font-size: 16px">批量录入</span>
-          <span style="font-size: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;标样选择&nbsp;&nbsp;
-          </span>
-          <el-date-picker v-model="itemSize" type="date" size="small" placeholder="根据日期选择标样数据" align="right"
-            style="width: 20%" value-format="yyyyMMdd">
-          </el-date-picker>
-          <span style="font-size: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设备选择&nbsp;&nbsp;</span>
-          <el-select v-model="equipment.nantNo" clearable multiple style="width: 18%; height: 28px" filterable
-            collapse-tags size="small">
-            <el-option v-for="(item, index) in matNameType" :key="index"
-              :label="item.eqpName + '(' + item.eqpUseNo + ')'" :value="item.eqpNo">
-            </el-option>
-          </el-select>
-          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-          <el-button type="goon" size="mini" :loading="temperatureLoading"
-            @click="temperatureSubmit()">选择湿温度</el-button>
-          <!-- <span style="font-size: 16px">&nbsp;&nbsp;&nbsp;&nbsp;
-            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;湿温度&nbsp;&nbsp;</span>
-          <el-input
-            v-model="equipment.itemTemp"
-            size="small"
-            placeholder="请输入湿温度"
-            style="height: 32px;width: 150px;"
-          ></el-input> -->
-        </div>
-      </div>
-      <el-table ref="tablePllr" border :height="theight4" highlight-current-row :data="tableData"
-        :header-cell-style="tableHeaderCellStyle" :cell-class-name="tableRowBatch" :summary-method="getSummaries2"
-        show-summary>
-        <el-table-column type="index" label="NO" fixed="left" align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.$index }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column width="50px" fixed="left" label="操作" align="center">
-          <template slot-scope="scope">
-            <el-button v-if="scope.$index > 0" type="text" style="padding: 0"
-              @click="delData(scope.row, scope.$index)">删除</el-button>
-          </template>
-        </el-table-column>
-        <template v-for="col in cols">
-          <el-table-column :prop="col.prop" :fixed="col.prop == 'sampleNo' ||
-            col.prop == 'matName' ||
-            col.prop == 'carNo'
-            " show-overflow-tooltip min-width="90" align="center" :key="col.prop" :label="col.label">
-            <template slot-scope="scope">
-              <span v-if="col.prop == 'matName'">{{
-                tableData[scope.$index].matName
-                }}</span>
-              <!--              <span style=display:none v-else-if="col.prop == 'testOrder'">{{tableData[scope.$index].testOrder}}</span>-->
-              <span v-else-if="col.prop == 'sampleNo'">{{
-                tableData[scope.$index].sampleNo
-                }}</span>
-              <span v-else-if="col.prop == 'carNo'">{{
-                tableData[scope.$index].carNo
-                }}</span>
-              <el-select v-else-if="
-                col.showInput == '0' &&
-                col.showDateTime === '0' &&
-                scope.$index > 0
-              " clearable allow-create v-model="scope.row[col.prop]" filterable size="small" style="width: 100%"
-                :class="{
-                  bgRed:
-                    resData[col.prop + '_' + scope.row.stId] &&
-                    resData[col.prop + '_' + scope.row.stId] === '0',
-                  bgOrange:
-                    resData[col.prop + '_' + scope.row.stId] &&
-                    resData[col.prop + '_' + scope.row.stId] === '1',
-                }">
-                <el-option v-for="(item, index) in col.defaultList" :key="index" :label="item" :value="item">
-                </el-option>
-              </el-select>
-              <el-input v-else-if="col.zwFlag == '0' && col.showDateTime === '0'"
-                @input="inputData($event, scope.$index, col.prop)"
-                @keydown.native="keyDown($event, scope.row, scope.$index)" :id="scope.column.id + '--' + scope.$index"
-                v-model="scope.row[col.prop]" size="small" style="width: 100%" :class="{
-                  bgRed:
-                    resData[col.prop + '_' + scope.row.stId] &&
-                    resData[col.prop + '_' + scope.row.stId] === '0',
-                  bgOrange:
-                    resData[col.prop + '_' + scope.row.stId] &&
-                    resData[col.prop + '_' + scope.row.stId] === '1',
-                }">
-              </el-input>
-              <el-date-picker v-model="scope.row[col.prop]" type="datetime" size="small" placeholder="选择日期时间"
-                @change="sign(scope.row[col.prop], scope.row, col.prop)"
-                v-else-if="col.showDateTime === '1' && scope.$index > 0" align="right" style="width: 100%">
-              </el-date-picker>
-              <el-input v-else @input="inputData($event, scope.$index, col.prop)"
-                @keydown.native="keyDown($event, scope.row, scope.$index)" :id="scope.column.id + '--' + scope.$index"
-                v-model="scope.row[col.prop]" size="small" style="width: 100%" :class="{
-                  bgRed:
-                    resData[col.prop + '_' + scope.row.stId] &&
-                    resData[col.prop + '_' + scope.row.stId] === '0',
-                  bgOrange:
-                    resData[col.prop + '_' + scope.row.stId] &&
-                    resData[col.prop + '_' + scope.row.stId] === '1',
-                }">
-              </el-input>
-            </template>
-          </el-table-column>
-        </template>
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        (红色背景:当前值不符合最小值要求;橙色背景,当前值不符合最大值要求)
-        <!-- <el-button type="goon" size="mini" icon="el-icon-check" :loading='batchLoading' @click="submitBatch()">计算并提交</el-button> -->
-        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading"
-          @click="submitBatch()">提交</el-button>
-        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading" @click="jisuan()">计算</el-button>
-        <!-- <el-button type="goon" size="mini" icon="el-icon-check" :loading='batchLoading' @click="saveBatch()">确定</el-button> -->
-        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
-      </span>
-    </el-dialog>
-    <!-- 新增管理样 -->
-    <el-dialog :close-on-click-modal="false" width="80%" :visible.sync="dialog.show" @close="closeBly">
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left: 10px; font-size: 18px">新增管理样</span>
-      </div>
-      <div style="padding: 10px 0">
-        <el-form ref="dialog_form" :model="dialog.form.data" :rules="dialog.form.rules" size="mini" label-width="100px">
-          <el-row>
-            <el-col :span="24">
-              <el-table v-loading="glDialogLoading" ref="dataTable" border :height="heightTop" highlight-current-row
-                :data="dialog.form.tableData" :header-cell-style="tableHeaderCellStyle"
-                :icore-filter-flag="icoreFilterFlag">
-                <el-table-column type="index" label="NO" align="center"></el-table-column>
-                <el-table-column width="100px" show-overflow-tooltip label="操作" align="center">
-                  <template slot-scope="scope">
-                    <el-button type="text" style="padding: 0"
-                      @click="dialogDeleteData(scope.row, scope.$index)">删除</el-button>
-                  </template>
-                </el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="sampleNo" label="中心编号"
-                  align="center"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="matName" label="物料名称"
-                  align="center"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
-                  label="测试项目" align="center"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="receivedDate"
-                  label="收样日期" align="center"></el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
-                  label="管理样编号" align="center">
-                  <template slot-scope="scope">
-                    <el-input size="mini" v-model.trim="scope.row.glSampleNo"></el-input>
-                  </template>
-                </el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
-                  label="管理样物料名称" align="center">
-                  <template slot-scope="scope">
-                    <el-input size="mini" required v-model.trim="scope.row.glMatName"></el-input>
-                  </template>
-                </el-table-column>
-                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
-                  label="新增管理样个数" align="center">
-                  <template slot-scope="scope">
-                    <el-input size="mini" v-model.trim="scope.row.glCount"></el-input>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <div style="margin-top: 20px; margin-left: 10px">
-                <el-pagination style="float: right" @size-change="glDialogSizeTest"
-                  @current-change="glDialogPageChangeTest" :current-page="glDialog.pageNum"
-                  :page-sizes="[10, 20, 50, 100, 200]" :page-size="glDialog.pageSize"
-                  layout="total, sizes, prev, pager, next" :total="glDialog.totalPage" background>
-                </el-pagination>
-              </div>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="goon" size="mini" @click="closeBly">取 消</el-button>
-        <el-button type="goon" size="mini" :loading="addGlyLoading" @click="addGlySure">保 存</el-button>
-      </span>
-    </el-dialog>
-    <!-- 新增标准点 -->
-    <el-dialog :close-on-click-modal="false" width="600px" :visible.sync="addByShow" @close="closeBly">
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left: 10px; font-size: 18px">新增标准点</span>
-      </div>
-      <div style="padding: 10px 0">
-        <el-form ref="dialog_form2" :model="dialog2.form.data" :rules="dialog2.form.rules" size="mini"
-          label-width="100px">
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="标准点数量" prop="sampleNum">
-                <el-input clearable style="width: 90%" :maxlength="3" oninput="value=value.replace(/[^1-9]/g,'')"
-                  v-model="dialog2.form.data.sampleNum"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="9" v-if="this.gangwei == 'P000084'">
-              <el-form-item label="元素" prop="yuansu">
-                <el-input clearable style="width: 90%" :maxlength="3" v-model="dialog2.form.data.yuansu"></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="goon" size="mini" @click="closeBly">取 消</el-button>
-        <el-button type="goon" size="mini" @click="addBy2">保 存</el-button>
-      </span>
-    </el-dialog>
-    <!-- 分析项目删除撤回 -->
-    <el-dialog :close-on-click-modal="false" @close="closebatch" width="100%" :visible.sync="recallShow" top="0">
-      <div slot="title" class="titleBox">
-        <i class="el-icon-document" style="font-size: 20px"></i>
-        <span style="margin-left: 10px; font-size: 18px">分析项目撤回</span>
-      </div>
-      <div class="common-table-div">
-        <el-table v-loading="tableLoading5" border :height="theight3" @selection-change="selectMultiples"
-          highlight-current-row @row-click="clickRow" :data="tableData5" :icore-filter-flag="icoreFilterFlag"
-          :header-cell-style="tableHeaderCellStyle" @row-dblclick="showCell" :cell-class-name="fxTableRowClassName"
-          :row-class-name="tableRowName" :summary-method="getSummaries2" show-summary>
-          <el-table-column type="index" label="NO" align="center"></el-table-column>
-          <el-table-column type="selection" width="45" align="center"></el-table-column>
-          <!-- <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testItemName" label="测试项目" ></el-table-column> -->
-          <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="anlyItemName"
-            label="分析项目"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="anlyValue" label="报出值">
-          </el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="dasValue"
-            label="采集值"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="cptValue"
-            label="计算值"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseValue"
-            label="录入值"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="unitName"
-            label="单位"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="formulaName"
-            label="计算公式"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseRuleName"
-            label="修约规则"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isReportName"
-            label="是否报出"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isAlarmName"
-            label="是否报警"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minSign"
-            label="最小符号"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minValue"
-            label="最小值"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxSign"
-            label="最大符号"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxValue"
-            label="最大值"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxLimit"
-            label="方法上限值"></el-table-column>
-          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minLimit"
-            label="方法下限值"></el-table-column>
-        </el-table>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading" @click="recall()">撤回</el-button>
-        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
-      </span>
-    </el-dialog>
-    <div is="alertComponents" :showFlag="showFlag" :Params="Params" @refresh="refresh"></div>
-    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
-    <div is="resurveyAlert" :showFlag="resetShowFlag" :Params="Params" :itemTypeCode="itemTypeCode" @refresh="refresh2">
-    </div>
-    <div is="dataCollectionAlert" :showFlag="dataCollectionFlag" :Params2="Params2" @refresh="refresh3"></div>
-  </div>
-</template>
-<script>
-import { getCookie, formatDate } from "@/utils/util.js";
-import { cookieUserId, cookieUserName } from "@/config/config.js";
-import alertComponents from "./alertComponents";
-import historyAlert from "./historyAlert";
-import resurveyAlert from "./resurveyAlert";
-import dataCollectionAlert from "./dataCollectionAlert";
-let userName = getCookie(cookieUserName);
-let userId = getCookie(cookieUserId);
-export default {
-  components: {
-    alertComponents,
-    historyAlert,
-    resurveyAlert,
-    dataCollectionAlert,
-  },
-  data() {
-    return {
-      fromDaiban: null,
-      temperatureShow: false,
-      temperatureLoading: false,
-      temperatureLoading3: false,
-      temperaturelog: {
-        pageSize: 50,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      form: {
-        times: [],
-        pointNo: "",
-      },
-      pointType: [],
-      temperatureRowData: {},
-      wetTemperature: "",
-
-      searchForm: {
-        times: "",
-        matName: "",
-        sampleNo: "",
-        sampleTypeCode: "",
-        eqpNo: "",
-      },
-      autoCollData: {
-        eqpTypeCode: "",
-        eqpNo: "",
-      },
-      gangwei: "",
-      showFlag: false,
-      historyShowFlag: false,
-      resetShowFlag: false,
-      deleteFlag: false,
-      dataCollectionFlag: false,
-      Params: {},
-      itemTypeCode: "",
-      Params2: [],
-      matNameType: [],
-      autoColl: {
-        eqpTypeCode: [
-          { required: true, message: "不能为空", trigger: "change" },
-        ],
-        eqpNo: [{ required: true, message: "不能为空", trigger: "change" }],
-      },
-      table: {
-        listTests: [],
-        collectionData: [],
-        selectCollectionData: [],
-        sampleData: [],
-      },
-      activeName: "first",
-      activeName2: "first2",
-      backLoading: false,
-      withdrawLoading: false,
-      batchDataLoading: false,
-      buttonLoading1: false,
-      buttonLoading2: false,
-      batchLoading: false,
-      addByLoading: false,
-      addKbLoading: false,
-      addGlyLoading: false,
-      testTable: [],
-      resData: {},
-      cols: [],
-      tableData: [],
-      resultData: [],
-      collectionLoading: false,
-      autoColletLoading: false,
-      clickColl: false,
-      batchShow: false,
-      itemSize: "", //区分标样数据
-      eqpType: [],
-      autoEqpType: [],
-      facilityType: [],
-      selectVal: [], // 已接任务 多选
-      selectVal4: [], // 已提交
-      selectVal42: [], // 无效数据多选
-      selectMul: [],
-      companyNameType: [],
-      userdeptNo: "",
-      usersectionNo: "",
-      userjobs: "",
-      selectRecall: [],
-      testShow: false,
-      checked: true,
-      interval: null,
-      saveValue: "",
-      saveMainData: [],
-      cllotData: [],
-      addRetestLoading: false,
-      dataLoading: false,
-      glDialogLoading: false,
-      sampleLoading: false,
-      saveLoading: false,
-      errorLoading: false,
-      submitLoading: false,
-      isAutoColl: false,
-      sampleTypeNameType: [],
-      analyzeVal: {},
-      analyzeValues: {},
-      formulacomLoading: false,
-      isOneHint: false,
-      theight1: 0,
-      theight2: 0,
-      theight3: 0,
-      theight4: 0,
-      testItemName2: "",
-      pageTests: {
-        pageSize: 50,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      glDialog: {
-        pageSize: 50,
-        pageNum: 1,
-        totalPage: 0,
-      },
-      equipment: {
-        nantNo: [],
-        itemTemp: "",
-      },
-      addByShow: false,
-      deleteLoading: false,
-      collectionShow: false,
-      recallShow: false,
-      addCollectionLoading: false,
-      tableLoading1: false,
-      tableLoading2: false,
-      tableLoading3: false,
-      tableLoading4: false,
-      tableLoading42: false,
-      tableLoading5: false,
-      saveFileRow: {},
-      fileList: [],
-      selectLine: {},
-      tabClickIndex: null,
-      func: "",
-      originalData: [],
-      tableData1: [],
-      tableData2: [],
-      tableData3: [],
-      tableData4: [],
-      tableData42: [],
-      tableData5: [],
-      pageIndex: 1,
-      pageSize: 100,
-      total_main: 0,
-      pageIndex_dep: 1,
-      pageSize_dep: 100,
-      total_dep: 0,
-      pageIndex4: 1,
-      pageSize4: 100,
-      pageIndex42: 1,
-      pageSize42: 100,
-      total4: 0,
-      total42: 0,
-      scale: "",
-      allFacility: [],
-      scaleId: null,
-      inputLoading: false,
-      values: "",
-      saveAnaly: {},
-      timeId: null,
-      icoreFilterFlag: true,
-      heightTop: 0,
-      activeMenu: "",
-      dialog: {
-        show: false,
-        form: {
-          data: {
-            sampleNo: "",
-            matName: "",
-          },
-          tableData: [],
-          rules: {
-            sampleNo: [
-              { required: true, message: "该项不能为空", trigger: "blur" },
-            ],
-            matName: [
-              { require: true, message: "物料名称不能为空!", trigger: "blur" },
-            ],
-          },
-        },
-      },
-      dialog2: {
-        show: false,
-        form: {
-          data: {
-            sampleNum: "6", // 标准点数量
-            yuansu: "",
-          },
-          rules: {
-            sampleNum: [
-              { required: true, message: "该项不能为空", trigger: "blur" },
-            ],
-          },
-        },
-      },
-      dialog3: {
-        show: false,
-        form: {
-          data: {
-            pointNo: "",
-            pointName: "",
-            envDate: "",
-            tempNow: "",
-            moisNow: "",
-            tempUnit: "",
-            moisUnit: "",
-            weather: "",
-          },
-          tableData: [],
-        },
-      },
-    };
-  },
-  created() {
-    this.theight1 =
-      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
-    this.theight2 =
-      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
-    this.theight3 =
-      window.innerHeight - 230 < 249 ? 249 : window.innerHeight - 230;
-    this.theight4 =
-      window.innerHeight - 140 < 249 ? 249 : window.innerHeight - 140;
-    this.heightTop =
-      window.innerHeight / 2 - 130 < 249 ? 249 : window.innerHeight / 2 - 130;
-    // this.itemSize = new Date();
-
-    this.activeMenu = window.top.localStorage.getItem("activeMenu");
-
-    this.fromDaiban = JSON.parse(sessionStorage.getItem("fromDaiban"));
-    sessionStorage.removeItem("fromDaiban");
-
-    if (this.fromDaiban) {
-      this.searchForm.times = [
-        this.fromDaiban.startTime,
-        this.fromDaiban.endTime,
-      ];
-      this.activeName = this.fromDaiban.status == 0 ? "first" : "second";
-    } else {
-      this.searchForm.times = [
-        this.getYNM(new Date()) + " 00:00:00",
-        this.getYNM(new Date()) + " 23:59:59",
-      ];
-    }
-
-    this.axios
-      .post(
-        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
-        {},
-        { individualType: "json" }
-      )
-      .then((response) => {
-        this.companyNameType = response.data;
-        this.getCompany();
-      });
-    this.searchForm.sampleNo = this.$route.query.Name;
-    this.searchData();
-  },
-  mounted() {
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4801 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.sampleTypeNameType = res.data;
-      });
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
-        { validFlag: 1, baseCode: 4808 },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.facilityType = res.data;
-      });
-    this.axios
-      .get(
-        "pass/baseManagement/v1/limslrceqpinfos/like/" +
-        "?pageNum=1" +
-        "&pageSize=9999" +
-        "&eqpTypeName=" +
-        "" +
-        "&stateFlag=" +
-        ""
-      )
-      .then((res) => {
-        this.allFacility = res.data.list;
-      });
-    // 设备信息
-    this.axios
-      .post("pass/baseManagement/v1/limslrceqpinfos/queryAll", {
-        individualType: "json",
-      })
-      .then((res) => {
-        this.matNameType = res.data;
-      });
-    // 实验室
-    this.axios
-      .post(
-        "pass/baseManagement/v1/limsbasepoints/queryLimsBasePointPage",
-        { pageIndex: 1, pageSize: 9999, object: { validFlag: 1 } },
-        { individualType: "json" }
-      )
-      .then((res) => {
-        this.pointType = res.data.list;
-      });
-    this.searchData();
-  },
-  methods: {
-    addData() {
-      this.dialog3.form.data.pointName = this.getCode(
-        this.dialog3.form.data.pointNo,
-        this.pointType,
-        "pointNo",
-        "pointName"
-      );
-      if (this.dialog3.form.data.pointNo == "") {
-        this.$message.warning("请先选择化验室!");
-        return;
-      }
-      this.dialog3.form.data.envId = "";
-      this.dialog3.form.data.id = "";
-      this.axios
-        .post(
-          "pass/testManagement/v1/limsdataenvironments/insertUpdate",
-          this.dialog3.form.data,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.temperatureData();
-            this.closeData();
-            this.$message.success("添加成功!");
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.$message.error(err.message);
-        });
-    },
-    temperatureRow(row) {
-      this.temperatureRowData = row;
-      this.dialog3.form.data = row;
-    },
-    modifyData() {
-      this.axios
-        .post(
-          "pass/testManagement/v1/limsdataenvironments/insertUpdate",
-          this.dialog3.form.data,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.closeData();
-            this.$message.success("修改成功!");
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.$message.error(err.message);
-        });
-    },
-    deData() {
-      this.axios
-        .delete(
-          "pass/testManagement/v1/limsdataenvironments/" +
-          this.temperatureRowData.envId
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.temperatureData();
-            this.closeData();
-            this.$message.success("删除成功!");
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.$message.error(err.message);
-        });
-    },
-    closeData() {
-      this.dialog3.form.data = {
-        pointNo: "",
-        pointName: "",
-        envDate: "",
-        tempNow: "",
-        moisNow: "",
-        tempUnit: "",
-        moisUnit: "",
-        weather: "",
-      };
-    },
-    determine() {
-      if (this.temperatureRowData == {} || this.temperatureRowData == null) {
-        this.$message.warning("请选择湿温度!");
-        return;
-      }
-      this.equipment.itemTemp = this.temperatureRowData.envId;
-      this.temperatureShow = false;
-    },
-    temperatureSubmit() {
-      this.temperatureShow = true;
-    },
-    closeTemperature() {
-      this.closeData();
-      this.temperatureShow = false;
-    },
-    temperatureSizeTest(size) {
-      this.temperaturelog.pageSize = size;
-      this.temperatureData();
-    },
-    temperaturePageChangeTest(index) {
-      this.temperaturelog.pageNum = index;
-      this.temperatureData();
-    },
-    temperatureData() {
-      let obj = {
-        pageIndex: this.temperaturelog.pageNum,
-        pageSize: this.temperaturelog.pageSize,
-        // startTime:'',
-        // endTime:'',
-        mode: this.form.pointNo,
-      };
-      this.temperatureLoading = true;
-      this.temperatureLoading3 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limsdataenvironments/queryPageList",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.temperaturelog.totalPage = res.data.total;
-            this.dialog3.form.tableData = res.data.list;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.temperatureLoading = false;
-          this.temperatureLoading3 = false;
-        })
-        .catch((err) => {
-          this.temperatureLoading = false;
-          this.temperatureLoading3 = false;
-          this.$message.error(err.message);
-        });
-    },
-    getCode(code, arr, codeKey, nameKey) {
-      if (!code) {
-        return "";
-      }
-      let targetRow = arr.find((item) => {
-        return item[codeKey] === code;
-      });
-      return targetRow ? targetRow[nameKey] : "";
-    },
-    getYNM(date) {
-      let year = date.getFullYear().toString();
-      let month = date.getMonth() + 1;
-      let day = date.getDate();
-      month = month < 10 ? "0" + month : month;
-      day = day < 10 ? "0" + day : day;
-      return `${year}-${month}-${day}`;
-    },
-    refresh() {
-      this.searchAnalyze(this.analyzeVal, true);
-    },
-    refresh2() {
-      this.searchData();
-    },
-    refresh3() {
-      // console.log('批量采集执行完毕');
-    },
-    getSummaries2(param) {
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = "总计";
-        }
-        if (index === 1) {
-          sums[index] = data.length;
-        } else if (column.property === "quantity") {
-          let val = 0;
-          for (let i in data) {
-            val = this.floatComputed(
-              data[i].quantity ? data[i].quantity : 0,
-              val,
-              "+"
-            );
-          }
-          sums[index] = val;
-        }
-      });
-      return sums;
-    },
-    calAge(e) {
-      if (e == null || e == {}) {
-        this.$message.warning("无参数传值!");
-        return;
-      }
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/updateLimsSampleTest",
-          e,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.$message.error(err.message);
-        });
-    },
-    //分析项目删除撤回
-    deleteRecall() {
-      if (this.selectLine.length < 1) {
-        this.$message.warning("请选择一条需要撤回的主数据!");
-        return;
-      }
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList2?stId=" +
-          this.selectLine.id
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData5 = res.data;
-            this.tableData5.forEach((item) => {
-              item.anlyValue = item.anlyValue
-                ? item.anlyValue
-                : item.defaultValue;
-              item.isReportName =
-                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
-              item.isAlarmName =
-                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
-            });
-            // console.log("查询撤回的数据", res.data)
-          } else {
-            this.$message.error(res.message);
-          }
-          this.recallShow = !this.recallShow;
-          this.tableLoading5 = false;
-        })
-        .catch((err) => {
-          this.tableLoading5 = false;
-          this.$message.error(err.message);
-        });
-    },
-    recall() {
-      if (this.selectRecall.length < 1) {
-        this.$message.warning("请勾选需要撤回的数据!");
-        return;
-      }
-      let tempIds = this.selectRecall.map((item) => item.stIdD);
-      this.deleteLoading = true;
-      let obj = {
-        id: tempIds,
-        validFlag: "1",
-      };
-      this.axios
-        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.deleteLoading = false;
-          this.recallShow = !this.recallShow;
-        })
-        .catch((e) => {
-          this.deleteLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    addAnaly() {
-      if (JSON.stringify(this.analyzeVal) == "{}") {
-        this.$message.warning("请选择一条需要新增的主数据!");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "选中的已接收数据为已提交的数据,不能进行新增!,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      this.showFlag = !this.showFlag;
-      this.Params = this.analyzeVal;
-    },
-    clickRow(val) {
-      this.saveAnaly = val;
-    },
-    //删除分析项目
-    deleteData() {
-      if (this.selectMul.length < 1) {
-        this.$message.warning("请勾选需要删除的数据!");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "选中的已接收数据为已提交的数据,不能进行删除!,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      let tempIds = this.selectMul.map((item) => item.stIdD);
-      this.deleteLoading = true;
-      let obj = {
-        id: tempIds,
-        validFlag: "0",
-      };
-      this.axios
-        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.deleteLoading = false;
-        })
-        .catch((e) => {
-          this.deleteLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    selectAuto(val) {
-      this.autoEqpType = [];
-      this.scale = "";
-      this.autoCollData.eqpNo = "";
-      if (!val) {
-        return;
-      }
-      this.axios
-        .post(
-          "pass/baseManagement/v1/limslrceqpinfos/queryeqpName",
-          { eqpTypeCode: val },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          this.autoEqpType = res.data;
-        });
-    },
-    resetData() {
-      this.searchForm.matName = "";
-      this.searchForm.sampleTypeCode = "";
-      this.searchForm.eqpNo = "";
-      this.searchForm.times = [
-        this.getYNM(new Date()) + " 00:00:00",
-        this.getYNM(new Date()) + " 23:59:59",
-      ];
-      this.searchData();
-    },
-    SelectionValues(val) {
-      this.selectVal = val;
-    },
-    // 已提交、无效数据,多选
-    SelectionValues4(val) {
-      this.selectVal4 = val;
-    },
-    SelectionValues42(val) {
-      this.selectVal42 = val;
-    },
-    selectMultiples(val) {
-      this.selectMul = val;
-      this.selectRecall = val;
-    },
-    //点击选中样品信息数据
-    searchFollow(val) {
-      this.saveMainData = val;
-    },
-    //获取选中已接任务数据
-    handleCurrentChange(val) {
-      this.selectLine = val;
-    },
-    //异常申报
-    abnormal() {
-      if (this.selectMul.length < 1) {
-        this.$message.warning("请先勾选您要异常申报的数据");
-        return;
-      }
-      let obj = {
-        limsSampleTest: this.selectLine,
-        limsSampleTestDList: this.selectMul,
-        limsObjHeat: {
-          declareNo: userId,
-          declareName: userName,
-          objTypeName: "检验异常",
-          objTypeCode: "482603",
-          objFlag: "0",
-          validFlag: "1",
-          createMan: userName,
-          createNo: userId,
-        },
-      };
-      this.errorLoading = true;
-      this.$confirm("确认要申报" + this.selectMul.length + "条异常吗", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.axios
-            .post("pass/testManagement/v1/limsobjheats/toDeclare/", obj, {
-              individualType: "json",
-            })
-            .then((res) => {
-              if (res.code == 500) {
-                this.$message.error(res.message);
-                this.errorLoading = false;
-              } else {
-                this.$message.success(res.message);
-                this.errorLoading = false;
-              }
-            })
-            .catch((err) => {
-              this.errorLoading = false;
-              this.$message.error(err.message);
-            });
-        })
-        .catch(() => {
-          this.$message({
-            type: "info",
-            message: "已取消",
-          });
-          this.errorLoading = false;
-        });
-    },
-    //撤回已提交数据
-    backWithdraw() {
-      if (this.selectVal4.length < 1) {
-        this.$message.warning("请先勾选您要撤回的数据");
-        return;
-      }
-      for (let item of this.selectVal4) {
-        if (item.validFlag == "0") {
-          this.$message.warning("请选择有效数据");
-          return;
-        }
-      }
-      let params = [];
-      this.selectVal4.forEach((item) => {
-        params.push({ stId: item.id });
-      });
-      this.withdrawLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limssampletests/backAuditData", params, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.withdrawLoading = false;
-        })
-        .catch((err) => {
-          this.withdrawLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    //接样
-    recSample() {
-      if (this.saveMainData.length < 1) {
-        this.$message.warning("请先勾选您要接样的数据");
-        return;
-      }
-      this.sampleLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/pickUpSample",
-          this.saveMainData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.sampleLoading = false;
-        })
-        .catch((err) => {
-          this.sampleLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 显示历史记录
-    showHistory(row) {
-      if (!row) {
-        return this.$message.warning("查询历史记录失败,参数错误!");
-      }
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssamplehistorys/queryHistoryTest",
-          row,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            //打开窗口
-            this.historyShowFlag = !this.historyShowFlag;
-            this.Params = Object.assign([{}], res.data);
-          } else {
-            this.$message.warning("查询历史记录失败!");
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    autoSubmit(val) {
-      if (!this.values) {
-        this.$message.warning("请先用扫码枪扫描标签");
-        return;
-      }
-      if (!this.timeId) {
-        this.timeId = setTimeout(() => {
-          this.inputLoading = true;
-          this.axios
-            .post(
-              "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
-              this.values,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.$message.success(res.message);
-                this.searchData();
-              } else {
-                this.$message.error(res.message);
-              }
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-            })
-            .catch((e) => {
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-            })
-            .catch((e) => {
-              this.$nextTick(() => {
-                this.$refs.autoInput.focus();
-              });
-              this.values = "";
-              this.inputLoading = false;
-              this.$message.error(e.message);
-            });
-          this.timeId = null;
-        }, 1000);
-      }
-    },
-    autoScale(val) {
-      if (!this.scale) {
-        this.$message.warning("请先用扫码枪扫描二维码");
-        return;
-      }
-      if (!this.scaleId) {
-        this.scaleId = setTimeout(() => {
-          this.autoCollData.eqpTypeCode = "";
-          this.autoEqpType = this.allFacility;
-          this.autoCollData.eqpNo = this.scale;
-          this.scaleId = null;
-        }, 1000);
-      }
-    },
-    //扫码接样
-    changeval() {
-      if (!this.values) {
-        this.$message.warning("请先用扫码枪扫描标签");
-        return;
-      }
-      this.inputLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
-          this.values,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.values = "";
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.inputLoading = false;
-        })
-        .catch((e) => {
-          this.inputLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    stopall() {
-      if (this.interval != null) {
-        clearInterval(this.interval);
-      }
-      this.isAutoColl = false;
-      this.autoColletLoading = false;
-    },
-    changeIsOneHint(val) {
-      this.isOneHint = val;
-    },
-    realTimeCollect(val) {
-      if (val && this.tableData3.length <= 0) {
-        this.$message.warning("测试分析项目不能为空");
-        this.stopall();
-        this.isAutoColl = false;
-        return;
-      }
-      if (val && this.autoCollData.eqpNo && this.autoCollData.eqpTypeCode) {
-        this.startTime(this.tableData3.length, 1, 3000);
-      } else {
-        if (!(this.autoCollData.eqpNo && this.autoCollData.eqpTypeCode)) {
-          this.$message.warning("请选择【设备类型】【设备名称】,不能为空");
-        }
-        this.stopall();
-        this.isAutoColl = false;
-        return;
-      }
-    },
-    intervalCollectData() {
-      if (this.isAutoColl && this.autoCollData.eqpNo) {
-        if (this.autoCollData.eqpTypeCode) {
-          let params = {
-            eqpNo: this.autoCollData.eqpNo,
-            eqpTypeCode: this.autoCollData.eqpTypeCode,
-            stId: this.analyzeVal.stId,
-          };
-          this.axios
-            .post(
-              "pass/testManagement/v1/limssampletests/intervalCollectData",
-              params,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.searchAnalyze(this.analyzeVal, true);
-              } else {
-                this.isAutoColl = false;
-                this.$message.warning(res);
-                return;
-              }
-            })
-            .catch((e) => {
-              this.isAutoColl = false;
-              this.$message.error(e.message);
-              return;
-            });
-        } else {
-          this.isAutoColl = false;
-          return this.$message.warning("设备仪器类型发生更改,自动采集结束!");
-        }
-      } else {
-        this.isAutoColl = false;
-        return this.$message.warning("设备仪器发生更改,自动采集结束!");
-      }
-    },
-    startTime(tableLength, openOff, times) {
-      let that = this;
-      try {
-        let timesRun = 0;
-        this.interval = setInterval(function () {
-          timesRun += 1;
-          if (!openOff) {
-            this.isAutoColl = false;
-            clearInterval(this.interval);
-          }
-          if (!tableLength) {
-            this.isAutoColl = false;
-            clearInterval(this.interval);
-          }
-          if (timesRun > tableLength) {
-            this.isAutoColl = false;
-            clearInterval(this.interval);
-          }
-          that.autoCollet();
-        }, times);
-      } catch (e) {
-        clearInterval(this.interval);
-        this.isAutoColl = false;
-        return this.$message.warning("发生异常,自动采集中断!");
-      }
-    },
-    subData() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选您要提交的数据");
-        return;
-      }
-      for (let item of this.selectVal) {
-        if (item.stateFlag != 0) {
-          this.$message.warning("请选择状态为未处理的数据");
-          return;
-        }
-        if (item.validFlag == "0") {
-          this.$message.warning("请选择有效数据");
-          return;
-        }
-        this.$confirm("确认是否提交?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        }).then(() => {
-          if (this.isOneHint) {
-            this.subDataAndHintOne();
-          } else {
-            this.subData3();
-          }
-        });
-      }
-    },
-    // 提交, 批量、同步执行
-    async subData2() {
-      this.saveLoading = true;
-      this.submitLoading = true;
-      let cg = 0; // 成功
-      let sb = 0; // 失败
-      let qx = 0; // 取消
-      let sbwl = []; // 失败的物料
-      let ids = []; //需要提交的数据的id
-      for (let i = 0; i < this.selectVal.length; i++) {
-        let item = this.selectVal[i];
-        ids.push(item.stId);
-      }
-      try {
-        let tishi = [];
-        const cfs = await this.axios.post(
-          "pass/testManagement/v1/limssampletests/queryBySample_No",
-          ids,
-          { individualType: "json" }
-        );
-        if (cfs.code == 0 || cfs.code == 200) {
-          let b = true;
-          for (let i = 0; i < cfs.data.length; i++) {
-            if (cfs.data[i]) {
-              b = false;
-              tishi.push(this.selectVal[i].matName);
-            }
-          }
-          if (b) {
-            let b2 = true;
-            const res = await this.axios.post(
-              "pass/testManagement/v1/limssampletests/errorWarningRemind",
-              ids,
-              { individualType: "json" }
-            );
-            if (res.code == 0 || res.code == 200) {
-              for (let i = 0; i < ids.length; i++) {
-                if (res.data.get(i)) {
-                  b2 = false;
-                }
-              }
-              if (b2) {
-              }
-              if (res.data) {
-              } else {
-                const res4 = await this.axios.post(
-                  "pass/testManagement/v1/limssampletests/submit" + ids,
-                  { individualType: "json" }
-                );
-                if (res4.code == 0 || res4.code == 200) {
-                  cg++;
-                } else {
-                  sbwl.push(item.matName);
-                  sb++;
-                }
-              }
-            }
-          } else {
-            this.$confirm(
-              item.matName + "," + tishi + ",这条数据重复,是否重复提交?",
-              "提示",
-              {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }
-            )
-              .then()
-              .catch((err) => {
-                // 选择 取消
-                qx++;
-              });
-          }
-        }
-      } catch (err) {
-        sbwl.push(item.matName);
-        sb++;
-        // console.log('eeeeee');
-      }
-    },
-    async subData3() {
-      this.saveLoading = true;
-      this.submitLoading = true;
-      let cg = 0; // 成功
-      let sb = 0; // 失败
-      let qx = 0; // 取消
-      let sbwl = []; // 失败的物料centerPersonnelScheduling
-      for (let i = 0; i < this.selectVal.length; i++) {
-        let item = this.selectVal[i];
-        try {
-          const cfs = await this.axios.post(
-            "pass/testManagement/v1/limssampletests/queryBySample_No?stId=" +
-            item.stId,
-            { individualType: "json" }
-          );
-          if (cfs.code == 0 || cfs.code == 200) {
-            if (cfs.data) {
-              await this.$confirm(
-                item.matName +
-                "," +
-                item.testItemName +
-                ",这条数据重复,是否重复提交?",
-                "提示",
-                {
-                  confirmButtonText: "确定",
-                  cancelButtonText: "取消",
-                  type: "warning",
-                }
-              )
-                .then(async () => {
-                  const res = await this.axios.post(
-                    "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
-                    item.stId,
-                    { individualType: "json" }
-                  );
-                  if (res.code == 0 || res.code == 200) {
-                    if (res.data) {
-                      if (res.data.code == 0) {
-                        let temp = res.data.object;
-                        const res2 = await this.axios.post(
-                          "pass/testManagement/v1/limssampletests/submit?stId=" +
-                          item.stId,
-                          { individualType: "json" }
-                        );
-                        if (res2.code == 0 || res2.code == 200) {
-                          cg++;
-                        } else {
-                          sbwl.push(res2.message);
-                          sb++;
-                        }
-                      } else {
-                        await this.$confirm(
-                          "第" +
-                          (i + 1) +
-                          "条数据, " +
-                          `${res.data.message},是否继续?`,
-                          "超差预警提醒",
-                          {
-                            confirmButtonText: "确定",
-                            cancelButtonText: "取消",
-                            type: "warning",
-                          }
-                        )
-                          .then(async () => {
-                            const res4 = await this.axios.post(
-                              "pass/testManagement/v1/limssampletests/submit?stId=" +
-                              item.stId,
-                              { individualType: "json" }
-                            );
-                            if (res4.code == 0 || res4.code == 200) {
-                              cg++;
-                            } else {
-                              sbwl.push(res4.message);
-                              sb++;
-                              this.$message.error(
-                                "第" +
-                                (i + 1) +
-                                "条数据提交失败:" +
-                                res4.message
-                              );
-                            }
-                          })
-                          .catch((err) => {
-                            // 选择 取消
-                            qx++;
-                          });
-                      }
-                    } else {
-                      const res4 = await this.axios.post(
-                        "pass/testManagement/v1/limssampletests/submit?stId=" +
-                        item.stId,
-                        { individualType: "json" }
-                      );
-                      if (res4.code == 0 || res4.code == 200) {
-                        cg++;
-                      } else {
-                        sbwl.push(res4.message);
-                        sb++;
-                        this.$message.error(
-                          "第" + (i + 1) + "条数据提交失败:" + res4.message
-                        );
-                      }
-                    }
-                  } else {
-                    sbwl.push(item.matName);
-                    sb++;
-                    this.$message.error(
-                      "第" + (i + 1) + "条数据提交失败:" + res.message
-                    );
-                  }
-                })
-                .catch((err) => {
-                  // 选择 取消
-                  qx++;
-                });
-            } else {
-              const res = await this.axios.post(
-                "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
-                item.stId,
-                { individualType: "json" }
-              );
-              // console.log('res.data=' + res.data + ",res.code=" + res.code);
-              if (res.code == 0 || res.code == 200) {
-                if (res.data) {
-                  if (res.data.code == 0) {
-                    let temp = res.data.object;
-                    const res2 = await this.axios.post(
-                      "pass/testManagement/v1/limssampletests/submit?stId=" +
-                      item.stId,
-                      { individualType: "json" }
-                    );
-                    if (res2.code == 0 || res2.code == 200) {
-                      cg++;
-                    } else {
-                      sbwl.push(res2.message);
-                      sb++;
-                    }
-                  } else {
-                    await this.$confirm(
-                      "第" +
-                      (i + 1) +
-                      "条数据, " +
-                      `${res.data.message},是否继续?`,
-                      "超差预警提醒",
-                      {
-                        confirmButtonText: "确定",
-                        cancelButtonText: "取消",
-                        type: "warning",
-                      }
-                    )
-                      .then(async () => {
-                        const res4 = await this.axios.post(
-                          "pass/testManagement/v1/limssampletests/submit?stId=" +
-                          item.stId,
-                          { individualType: "json" }
-                        );
-                        if (res4.code == 0 || res4.code == 200) {
-                          cg++;
-                        } else {
-                          sbwl.push(res4.message);
-                          sb++;
-                        }
-                      })
-                      .catch((err) => {
-                        // 选择 取消
-                        qx++;
-                      });
-                  }
-                } else {
-                  const res4 = await this.axios.post(
-                    "pass/testManagement/v1/limssampletests/submit?stId=" +
-                    item.stId,
-                    { individualType: "json" }
-                  );
-                  if (res4.code == 0 || res4.code == 200) {
-                    cg++;
-                  } else {
-                    sbwl.push(res4.message);
-                    sb++;
-                  }
-                }
-              } else {
-                sbwl.push(item.matName);
-                sb++;
-                //this.$message.error('第' + (i+1) + '条数据提交失败:' + res.message)
-              }
-            }
-          } else {
-            sbwl.push(item.matName);
-            sb++;
-          }
-        } catch (err) {
-          sbwl.push(item.matName);
-          sb++;
-        }
-      }
-      this.saveLoading = false;
-      this.submitLoading = false;
-      //console.log('cg', cg);
-      //console.log('sb', sb);
-      if (sb == 0 && qx == 0) {
-        this.$message.success("执行完毕,成功提交 " + cg + " 条数据");
-      } else {
-        this.$message.warning(
-          "执行完毕,成功提交 " +
-          cg +
-          " 条数据,失败 " +
-          sb +
-          " 条:[" +
-          sbwl +
-          "], 取消" +
-          qx +
-          " 条"
-        );
-      }
-      this.searchData();
-    },
-    // 在检验数据是否重复提交时只提醒一次
-    async subDataAndHintOne() {
-      this.saveLoading = true;
-      this.submitLoading = true;
-      let cg = 0; // 成功
-      let sb = 0; // 失败
-      let qx = 0; // 取消
-      let sbwl = []; // 失败的物料centerPersonnelScheduling
-      let stIds = [];
-      let needcheck = true; //记录是不是第一次提醒
-      for (let k = 0; k < this.selectVal.length; k++) {
-        stIds.push(this.selectVal[k].stId);
-      }
-      let param = { needcheck: needcheck, stIds: stIds };
-      for (let i = 0; i < this.selectVal.length; i++) {
-        let item = this.selectVal[i];
-        try {
-          // console.log(i + ":" + param.needcheck);
-          const cfs = await this.axios.post(
-            "pass/testManagement/v1/limssampletests/queryRepetable",
-            param,
-            { individualType: "json" }
-          );
-          if (cfs.code == 0 || cfs.code == 200) {
-            param.needcheck = false; //false 表示待提交的样全部已经进行了查重,不需要再次查重
-            var hintInfo = cfs.message;
-            var msgArr = hintInfo.split("&");
-            if (cfs.data) {
-              let flag = await this.$confirm(msgArr[0], "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              })
-                .then(() => { })
-                .catch((err) => {
-                  qx++;
-                  return "cancel";
-                });
-              if (flag !== "cancel") {
-                const res = await this.axios.post(
-                  "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
-                  item.stId,
-                  { individualType: "json" }
-                );
-                if (res.code == 0 || res.code == 200) {
-                  if (res.data) {
-                    if (res.data.code == 0) {
-                      let temp = res.data.object;
-                      const res2 = await this.axios.post(
-                        "pass/testManagement/v1/limssampletests/submit?stId=",
-                        item.stId,
-                        { individualType: "json" }
-                      );
-                      if (res2.code == 0 || res2.code == 200) {
-                        cg++;
-                      } else {
-                        sbwl.push(res2.message);
-                        sb++;
-                      }
-                    } else {
-                      await this.$confirm(
-                        "第" +
-                        (i + 1) +
-                        "条数据, " +
-                        `${res.data.message},是否继续?`,
-                        "超差预警提醒",
-                        {
-                          confirmButtonText: "确定",
-                          cancelButtonText: "取消",
-                          type: "warning",
-                        }
-                      )
-                        .then(async () => {
-                          const res4 = await this.axios.post(
-                            "pass/testManagement/v1/limssampletests/submit?stId=" +
-                            item.stId,
-                            { individualType: "json" }
-                          );
-                          if (res4.code == 0 || res4.code == 200) {
-                            cg++;
-                          } else {
-                            sbwl.push(res4.message);
-                            sb++;
-                          }
-                        })
-                        .catch((err) => {
-                          // 选择 取消
-                          qx++;
-                        });
-                    }
-                  } else {
-                    const res4 = await this.axios.post(
-                      "pass/testManagement/v1/limssampletests/submit?stId=" +
-                      item.stId,
-                      { individualType: "json" }
-                    );
-                    if (res4.code == 0 || res4.code == 200) {
-                      cg++;
-                    } else {
-                      sbwl.push(res4.message);
-                      sb++;
-                    }
-                  }
-                } else {
-                  sbwl.push(item.matName);
-                  sb++;
-                  this.$message.error(
-                    "第" + (i + 1) + "条数据提交失败:" + res.message
-                  );
-                }
-              } else {
-                break;
-              }
-            } else {
-              const res = await this.axios.post(
-                "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
-                item.stId,
-                { individualType: "json" }
-              );
-              // console.log('res.data=' + res.data + ",res.code=" + res.code);
-              if (res.code == 0 || res.code == 200) {
-                if (res.data) {
-                  if (res.data.code == 0) {
-                    let temp = res.data.object;
-                    const res2 = await this.axios.post(
-                      "pass/testManagement/v1/limssampletests/submit?stId=" +
-                      item.stId,
-                      { individualType: "json" }
-                    );
-                    if (res2.code == 0 || res2.code == 200) {
-                      cg++;
-                    } else {
-                      sbwl.push(res2.message);
-                      sb++;
-                    }
-                  } else {
-                    await this.$confirm(
-                      "第" +
-                      (i + 1) +
-                      "条数据, " +
-                      `${res.data.message},是否继续?`,
-                      "超差预警提醒",
-                      {
-                        confirmButtonText: "确定",
-                        cancelButtonText: "取消",
-                        type: "warning",
-                      }
-                    )
-                      .then(async () => {
-                        const res4 = await this.axios.post(
-                          "pass/testManagement/v1/limssampletests/submit?stId=" +
-                          item.stId,
-                          { individualType: "json" }
-                        );
-                        if (res4.code == 0 || res4.code == 200) {
-                          cg++;
-                        } else {
-                          sbwl.push(res4.message);
-                          sb++;
-                        }
-                      })
-                      .catch((err) => {
-                        // 选择 取消
-                        qx++;
-                      });
-                  }
-                } else {
-                  const res4 = await this.axios.post(
-                    "pass/testManagement/v1/limssampletests/submit?stId=" +
-                    item.stId,
-                    { individualType: "json" }
-                  );
-                  if (res4.code == 0 || res4.code == 200) {
-                    cg++;
-                  } else {
-                    sbwl.push(res4.message);
-                    sb++;
-                  }
-                }
-              } else {
-                sbwl.push(item.matName);
-                sb++;
-                //this.$message.error('第' + (i+1) + '条数据提交失败:' + res.message)
-              }
-            }
-          } else {
-            sbwl.push(item.matName);
-            sb++;
-          }
-        } catch (err) {
-          sbwl.push(item.matName);
-          sb++;
-          // console.log('eeeeee');
-        }
-      }
-      this.saveLoading = false;
-      this.submitLoading = false;
-      //console.log('cg', cg);
-      //console.log('sb', sb);
-      if (sb == 0 && qx == 0) {
-        this.$message.success("执行完毕,成功提交 " + cg + " 条数据");
-      } else {
-        // this.$message.warning('执行完毕,成功提交 ' + cg + ' 条数据,失败 ' + sb + ' 条:['+sbwl+'], 取消' + qx + ' 条');
-        this.$message.warning(
-          "执行完毕,成功提交 " +
-          cg +
-          " 条数据,失败 " +
-          sb +
-          " 条:[" +
-          sbwl +
-          "], 取消" +
-          msgArr[1] +
-          " 条"
-        );
-      }
-      this.searchData();
-    },
-    retest2(itemTypeCode) {
-      if (this.selectVal4.length === 0) {
-        this.$message.warning("请至少勾选1条需要增加任务的数据!");
-        return;
-      }
-      let count = 14;
-      if (this.selectVal4.length > count) {
-        return this.$message.warning(
-          "单次添加的任务数量不能超过" + (count + 1) + "条"
-        );
-      }
-      for (let i = 0; i < this.selectVal4.length; i++) {
-        if (this.selectVal4[i].validFlag === 0) {
-          return this.$message.warning(
-            "已停用的数据无法增加任务,请重新查询之后重新操作!"
-          );
-        }
-      }
-      this.resetShowFlag = !this.resetShowFlag;
-      this.Params = Object.assign([], this.selectVal4);
-      this.itemTypeCode = itemTypeCode;
-    },
-    // 增加任务
-    retest(itemTypeCode) {
-      if (itemTypeCode === "480405") {
-        // 增加标样任务
-        if (this.selectVal.length !== 1) {
-          this.$message.warning("只能勾选1条需要增加标样的数据!");
-          return;
-        }
-        if (this.selectVal[0].stateFlag === 3) {
-          return this.$message.warning(
-            "已提交的数据无法增加任务,请重新查询之后重新操作!"
-          );
-        }
-        if (this.selectVal[0].validFlag === 0) {
-          return this.$message.warning(
-            "已停用的数据无法增加任务,请重新查询之后重新操作!"
-          );
-        }
-      } else if (itemTypeCode === "480403") {
-        // 增加检验任务
-        if (this.selectVal.length === 0) {
-          this.$message.warning("请至少勾选1条需要增加任务的数据!");
-          return;
-        }
-        let count = 14;
-        if (this.selectVal.length > count) {
-          return this.$message.warning(
-            "单次添加的任务数量不能超过" + (count + 1) + "条"
-          );
-        }
-        for (let i = 0; i < this.selectVal.length; i++) {
-          if (this.selectVal[i].validFlag === 0) {
-            return this.$message.warning(
-              "已停用的数据无法增加任务,请重新查询之后重新操作!"
-            );
-          }
-          // if (this.selectVal[i].stateFlag === 3) {
-          //   return this.$message.warning('已提交的数据无法增加任务,请重新查询之后重新操作!')
-          // }
-        }
-      }
-      this.resetShowFlag = !this.resetShowFlag;
-      this.Params = Object.assign([], this.selectVal);
-      this.itemTypeCode = itemTypeCode;
-    },
-    //自动采集数据
-    autoCollet() {
-      if (JSON.stringify(this.analyzeVal) === "{}") {
-        this.isAutoColl = false;
-        clearInterval(this.interval);
-        this.$message.warning(
-          "请先点击选中一条需要自动采集的已接收表格中的数据!"
-        );
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.isAutoColl = false;
-        clearInterval(this.interval);
-        this.$message.warning(
-          "已提交的数据不能进行自动采集,请选择状态为未处理的数据!"
-        );
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 4) {
-        this.isAutoColl = false;
-        clearInterval(this.interval);
-        this.$message.warning(
-          "已经二审的数据不能进行自动采集,请选择状态为未处理的数据!"
-        );
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 5) {
-        this.isAutoColl = false;
-        clearInterval(this.interval);
-        this.$message.warning(
-          "已三审的数据不能进行自动采集,请选择状态为未处理的数据!"
-        );
-        return;
-      }
-      this.$refs.autoCollData.validate((valid) => {
-        if (valid) {
-          let obj = {
-            eqpNo: this.autoCollData.eqpNo,
-            stId: this.analyzeVal.stId,
-          };
-          this.autoColletLoading = true;
-          this.axios
-            .post(
-              "pass/testManagement/v1/limssampletests/voluntarilygather",
-              obj,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.$message.success(res.message);
-                this.searchAnalyze2(this.analyzeVal);
-              } else {
-                this.$message.error(res.message);
-              }
-              this.autoColletLoading = false;
-            })
-            .catch((err) => {
-              // console.log("异常")
-              this.autoColletLoading = false;
-              this.$message.error(err.message);
-            });
-        } else {
-          this.isAutoColl = false;
-          clearInterval(this.interval);
-          return this.$message.warning("设备选择异常,采集中断!");
-        }
-      });
-    },
-    // 批量采集弹窗
-    collectData() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选测试项目的数据");
-        return;
-      }
-      for (let item of this.selectVal) {
-        if (item.stateFlag != 0) {
-          this.$message.warning("请选择状态为未处理的数据");
-          return;
-        }
-        if (item.validFlag == "0") {
-          this.$message.warning("请勾选有效数据");
-          return;
-        }
-      }
-      this.dataCollectionFlag = !this.dataCollectionFlag;
-      this.Params2 = this.selectVal;
-    },
-    // 撤销采集数据
-    backCollect() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选数据");
-        return;
-      }
-      for (let item of this.selectVal) {
-        if (item.stateFlag != 0) {
-          this.$message.warning("请选择状态为未处理的数据");
-          return;
-        }
-        if (item.validFlag == "0") {
-          this.$message.warning("请选择有效数据");
-          return;
-        }
-      }
-      this.backLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/backCollect",
-          this.selectVal,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.succeed) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.backLoading = false;
-        })
-        .catch((e) => {
-          this.backLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    //计算
-    formulacom() {
-      if (this.tableData3.length < 1) {
-        this.$message.warning("表格中无数据,无法进行计算");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "已提交的数据不能进行计算,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      if (this.analyzeVal.validFlag == "0") {
-        this.$message.warning("停用的数据不能进行计算");
-        return;
-      }
-      this.formulacomLoading = true;
-      this.tableData3.forEach((item) => {
-        if (item.dataTypeCode === "482504" && item.reviseValue) {
-          item.reviseValue = formatDate(
-            item.reviseValue,
-            "yyyy-MM-dd HH:mm:ss"
-          );
-        }
-      });
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/formulacom",
-          this.tableData3,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-          } else {
-            this.$message.error(res.message);
-          }
-          this.formulacomLoading = false;
-        })
-        .catch((err) => {
-          this.formulacomLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 移除文件
-    handleRemove(file, fileList) {
-      const data = this.axios.delete(`/icore.icp.web${file.url}`);
-      if (data.data) {
-        if (data.data.size - 0 > 0) {
-          return this.$message.success("文件删除成功");
-        } else {
-          this.$message.error("文件删除失败,请重试");
-        }
-      }
-    },
-    // 处理文件个数超出限制
-    handleExceed(files, fileList) {
-      if (files.length + fileList.length > 5) {
-        return this.$message.warning(
-          `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
-          } 个文件`
-        );
-      }
-    },
-    httpRequest(e) {
-      if (!e.file) {
-        return false;
-      }
-      let file = new FormData();
-      file.append("file", e.file);
-      let config = {
-        headers: {
-          "Content-Type": "multipart/form-data",
-        },
-      };
-      this.axios
-        .post("pass/baseManagement/v1/file/upload", file, config)
-        .then((res) => {
-          if (res.code === "0" || res.code === "200") {
-            if (
-              this.saveFileRow.archiveId &&
-              this.saveFileRow.archiveId.length > 0 &&
-              this.saveFileRow.archiveId.match("oss-volume-")
-            ) {
-              this.saveFileRow.archiveId =
-                this.saveFileRow.archiveId + "#" + res.data[0].fileName;
-            } else {
-              this.saveFileRow.archiveId = res.data[0].fileName;
-            }
-            this.saveData();
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    //批量录入
-    batchData() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选测试项目的数据");
-        return;
-      }
-      let temp = [];
-      this.selectVal.map((item) => {
-        temp.push(item.stId);
-      });
-      this.batchDataLoading = true;
-      this.axios
-        .post("pass/testManagement/v1/limssampletestds/transitionData", temp, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            if (res.data.badyData.length > 0) {
-              // 增加第一行用于批量修改
-              let obj = Object.assign({}, res.data.badyData[0]);
-              for (let key in obj) {
-                obj[key] = "";
-              }
-              let arr = res.data.badyData;
-              arr.splice(0, 0, obj);
-              this.cols = res.data.head;
-              this.tableData = arr;
-              this.testTable = res.data.headBabyData;
-              this.resData = res.data.sampleTestDFlags;
-            }
-            this.batchShow = true;
-            this.$nextTick(() => {
-              this.$refs["tablePllr"].bodyWrapper.scrollTop = 0;
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchDataLoading = false;
-        })
-        .catch((e) => {
-          this.batchDataLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    jisuan() {
-      let temp = [];
-      this.resultData = [];
-      // 第一行不提交
-      let arr = this.tableData.slice(0);
-      arr.splice(0, 1);
-      arr.forEach((item, index) => {
-        let obj = Object.assign(item);
-        delete obj.index;
-        //将对象转化成数组、循环获取到index
-        let tempArr = Object.keys(obj);
-        tempArr.forEach((items, indexs) => {
-          this.resultData.push({
-            anlyValue: obj[items],
-            stIdD: this.testTable[index][items],
-          });
-        });
-      });
-      this.keepEquipment();
-      let tempData = [];
-      this.selectVal.map((item) => {
-        tempData.push(item.stId);
-      });
-      this.batchLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
-          this.resultData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.axios
-              .post(
-                "pass/testManagement/v1/limssampletests/batchInputFormulacom?itemSize=" +
-                this.itemSize,
-                tempData,
-                { individualType: "json" }
-              )
-              .then((res) => {
-                if (res.code == 0 || res.code == 200) {
-                  this.axios
-                    .post(
-                      "pass/testManagement/v1/limssampletestds/transitionData",
-                      tempData,
-                      { individualType: "json" }
-                    )
-                    .then((res) => {
-                      if (res.data.badyData.length > 0) {
-                        // 增加第一行用于批量修改
-                        let obj = Object.assign({}, res.data.badyData[0]);
-                        for (let key in obj) {
-                          obj[key] = "";
-                        }
-                        let arr = res.data.badyData;
-                        arr.splice(0, 0, obj);
-                        this.cols = res.data.head;
-                        this.tableData = arr;
-                        this.testTable = res.data.headBabyData;
-                        this.resData = res.data.sampleTestDFlags;
-                        if (this.analyzeVal && this.analyzeVal.id) {
-                          this.searchAnalyze(this.analyzeVal, true);
-                        }
-                      }
-                    })
-                    .catch((e) => {
-                      this.$message.error(e.message);
-                    });
-                } else {
-                  this.$message.error(res.message);
-                }
-              })
-              .catch((err) => {
-                this.$message.error(err.message);
-              });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchLoading = false;
-        })
-        .catch((err) => {
-          this.batchLoading = false;
-          this.$message.error(err.message);
-        });
-    }, //保存设备
-    keepEquipment() {
-      let ids = []; //需要保存的数据的id
-      for (let i = 0; i < this.selectVal.length; i++) {
-        let item = this.selectVal[i];
-        ids.push(item.stId);
-      }
-      //获取仪器名称集合
-      let strr = [];
-      this.equipment.nantNo.forEach((a) => {
-        this.matNameType.forEach((a1) => {
-          if (a == a1.eqpNo) {
-            strr.push(a1.eqpName + "(" + a1.eqpUseNo + ")");
-          }
-        });
-      });
-      let map = {
-        stId: ids,
-        itemTemp: this.equipment.itemTemp,
-        nantNo: strr,
-      };
-      this.axios
-        .post("pass/testManagement/v1/limssampletests/keepEquipment", map, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.$message.error(err.message);
-        });
-    },
-    imgPreView(row, fileName) {
-      this.axios
-        .get(
-          "pass/baseManagement/v1/file/download/" + fileName,
-          { responseType: "blob" },
-          { headers: { "content-type": "application/x-www-form-urlencoded" } }
-        )
-        .then((res) => {
-          let blob = new Blob([res]);
-          let elink = document.createElement("a");
-          elink.download = fileName;
-          elink.style.display = "none";
-          elink.target = "_blank";
-          elink.href = URL.createObjectURL(blob);
-          document.body.appendChild(elink);
-          elink.click();
-          URL.revokeObjectURL(elink.href); // 释放URL对象
-          document.body.removeChild(elink);
-        })
-        .catch((e) => {
-          return this.$message.error(e.message);
-        });
-    },
-    saveUpload(row) {
-      this.saveFileRow = row;
-    },
-    // 计算并提交
-    submitBatch() {
-      this.batchShow = false;
-      let temp = [];
-      this.resultData = [];
-      // 第一行不提交
-      let arr = this.tableData.slice(0);
-      arr.splice(0, 1);
-      arr.forEach((item, index) => {
-        let obj = Object.assign(item);
-        delete obj.index;
-        //将对象转化成数组、循环获取到index
-        let tempArr = Object.keys(obj);
-        tempArr.forEach((items, indexs) => {
-          // console.log('名字'+items +'数值'+ obj[items]+'数组的id'+this.testTable[index][items]);
-          this.resultData.push({
-            anlyValue: obj[items],
-            stIdD: this.testTable[index][items],
-          });
-        });
-      });
-      this.keepEquipment();
-      let tempData = [];
-      this.selectVal.map((item) => {
-        tempData.push(item.stId);
-      });
-      this.batchLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
-          this.resultData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            if (this.isOneHint) {
-              this.subDataAndHintOne();
-            } else {
-              this.subData3();
-            }
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchLoading = false;
-        })
-        .catch((err) => {
-          this.batchLoading = false;
-          this.$message.error(err.message);
-        });
-      // let temp = []
-      // this.resultData = []
-      // // 第一行不提交
-      // let arr = this.tableData.slice(0);
-      // arr.splice(0,1);
-      // arr.forEach((item,index) =>{
-      //   let obj = Object.assign(item)
-      //   delete obj.index
-      //   //将对象转化成数组、循环获取到index
-      //   let tempArr = Object.keys(obj)
-      //   tempArr.forEach((items,indexs) =>{
-      //     // console.log('名字'+items +'数值'+ obj[items]+'数组的id'+this.testTable[index][items]);
-      //     this.resultData.push({anlyValue:obj[items],stIdD:this.testTable[index][items]})
-
-      //   })
-      // })
-      // let tempData = []
-      // this.selectVal.map(item =>{
-      //   tempData.push(item.stId)
-      // })
-      // this.batchLoading = true
-      // this.axios.post('pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList',this.resultData,{individualType: 'json'}).then(res =>{
-      //   if (res.code == 0 || res.code == 200) {
-      //     this.axios.post('pass/testManagement/v1/limssampletests/formulacomByStIds',tempData,{individualType: 'json'}).then(res =>{
-      //       if (res.code == 0 || res.code == 200) {
-      //         this.piliangtijiao = tempData;
-      //         console.log(this.piliangtijiao)
-      //         this.subData30()
-      //         // for(let i=0;i<tempData.length;i++){
-      //           // this.axios.post('pass/testManagement/v1/limssampletests/submit?stId=' + tempData[i],{individualType: 'json'}).then(res => {
-      //           //   if(res.code== 0 || res.code == 200) {
-      //           //     this.$message.success(res.message);
-      //           //   } else {
-      //           //     this.$message.error(res.message)
-      //           //   }
-      //           //   if(i == tempData.length-1){
-      //           //     setTimeout(() => {
-      //           //       this.searchData();
-      //           //     }, 500);
-      //           //   }
-      //           // }).catch(e => {
-      //           //   this.$message.error(e.message)
-      //           // })
-      //         // }
-      //       }else{
-      //         this.$message.error(res.message)
-      //       }
-      //     }).catch(err =>{
-      //       this.$message.error(err.message)
-      //     })
-      //     this.closebatch()
-      //   }else{
-      //     this.$message.error(res.message)
-      //   }
-      //   this.batchLoading = false
-      // }).catch(err =>{
-      //   this.batchLoading = false
-      //   this.$message.error(err.message)
-      // })
-    },
-    //保存批量数据
-    saveBatch() {
-      let temp = [];
-      this.resultData = [];
-      // 第一行不提交
-      let arr = this.tableData.slice(0);
-      arr.splice(0, 1);
-      arr.forEach((item, index) => {
-        let obj = Object.assign(item);
-        delete obj.index;
-        //将对象转化成数组、循环获取到index
-        let tempArr = Object.keys(obj);
-        tempArr.forEach((items, indexs) => {
-          // console.log('名字'+items +'数值'+ obj[items]+'数组的id'+this.testTable[index][items]);
-          this.resultData.push({
-            anlyValue: obj[items],
-            stIdD: this.testTable[index][items],
-          });
-        });
-      });
-      let tempData = [];
-      this.selectVal.map((item) => {
-        tempData.push(item.stId);
-      });
-      this.batchLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
-          this.resultData,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.axios
-              .post(
-                "pass/testManagement/v1/limssampletests/formulacomByStIds",
-                tempData,
-                { individualType: "json" }
-              )
-              .then((res) => {
-                if (res.code == 0 || res.code == 200) {
-                  this.$message.success(res.message);
-                } else {
-                  this.$message.error(res.message);
-                }
-              })
-              .catch((err) => {
-                this.$message.error(err.message);
-              });
-            this.searchData();
-            this.closebatch();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.batchLoading = false;
-        })
-        .catch((err) => {
-          this.batchLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    getCompany() {
-      this.axios
-        .get("pass/baseManagement/v1/limslrcemps/" + userId)
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.userdeptNo = res.data ? res.data.deptNo : "";
-            this.usersectionNo = res.data ? res.data.sectionNo : "";
-            this.userjobs = res.data ? res.data.postNo : "";
-          } else {
-            this.$message.error(e.message);
-          }
-        })
-        .catch((e) => {
-          this.$message.error(e.message);
-        });
-    },
-    closebatch() {
-      this.batchShow = false;
-      this.batchLoading = false;
-      this.recallShow = false;
-      this.cols = [];
-      this.tableData = [];
-      this.testTable = [];
-    },
-    closeBly() {
-      this.dialog.show = false;
-      this.addByShow = false;
-      this.dialog.form.data.sampleNo = "";
-      this.dialog.form.tableData = [];
-    },
-    inputData(val, index, prop) {
-      let that = this;
-      // 修改第一行数据,联动修改同列其他行数据
-      if (index == 0 && that.tableData.length > 1) {
-        for (let i = 1; i < that.tableData.length; i++) {
-          that.tableData[i][prop] = val;
-        }
-      }
-    },
-    sign(val, row, prop) {
-      if (val) {
-        row[prop] = formatDate(val, "yyyy-MM-dd HH:mm:ss");
-      }
-    },
-    //保存
-    saveData() {
-      if (this.tableData3.length < 1) {
-        this.$message.warning("表格中无数据,无法进行保存");
-        return;
-      }
-      if (this.analyzeVal.stateFlag == 3) {
-        this.$message.warning(
-          "已提交的数据不能进行保存,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      if (this.analyzeVal.validFlag == "0") {
-        this.$message.warning("停用的数据不能进行保存");
-        return;
-      }
-      this.saveLoading = true;
-      this.tableData3.forEach((item) => {
-        if (item.dataTypeCode === "482504" && item.reviseValue) {
-          item.reviseValue = formatDate(
-            item.reviseValue,
-            "yyyy-MM-dd HH:mm:ss"
-          );
-        }
-      });
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/testAnalysisUpdateLimsSampleTestDList",
-          this.tableData3,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchAnalyze(this.analyzeVal, true);
-            // this.searchData()
-          } else {
-            this.$message.error(res.message);
-          }
-          this.saveLoading = false;
-        })
-        .catch((err) => {
-          this.saveLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    //查询操作
-    searchData() {
-      this.pageIndex = 1;
-      this.pageSize = 100;
-      this.pageSize_dep = 100;
-      this.pageIndex_dep = 1;
-      this.DataMain(); // 待接任务
-      this.DataDep(); // 已接任务
-      this.Data4(); // 已提交、无效数据
-      this.Data5(); // 无效数据
-    },
-    // 测试管理-待接任务
-    DataMain() {
-      // this.saveMainData = {}
-      let startTime = "";
-      let endTime = "";
-      if (!this.searchForm.times) {
-        // startTime = null
-        // endTime = null
-      } else {
-        // startTime = this.searchForm.times[0] + ' 00:00:00'
-        // endTime = this.searchForm.times[1] + ' 23:59:59'
-        startTime = this.searchForm.times[0];
-        endTime = this.searchForm.times[1];
-      }
-      // 中心分析室查询待接任务不用时间参数
-      if (this.userdeptNo != null && this.userdeptNo === "P31301100") {
-        startTime = "";
-        endTime = "";
-      }
-      let obj = {
-        object: {
-          sampleTypeCode: this.searchForm.sampleTypeCode,
-          // 'isCtrl':0,
-          functionCode: "484003",
-          stateFlag: 1,
-          optNo: userId,
-        },
-        mode3: this.searchForm.matName, // 样品名称
-        pageSize: this.pageSize,
-        pageIndex: this.pageIndex,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading1 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limstasktests/queryLimsTaskTestPage2",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData1 = res.data.list;
-            this.total_main = res.data.total;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading1 = false;
-        })
-        .catch((err) => {
-          this.tableLoading1 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 已接任务
-    DataDep() {
-      this.tableData3 = [];
-      let startTime = "";
-      let endTime = "";
-      this.analyzeVal = {};
-      if (!this.searchForm.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        // startTime = this.searchForm.times[0] + ' 00:00:00'
-        // endTime = this.searchForm.times[1] + ' 23:59:59'
-        startTime = this.searchForm.times[0];
-        endTime = this.searchForm.times[1];
-      }
-      let obj = {
-        object: {
-          matName: this.searchForm.matName,
-          sampleTypeCode: this.searchForm.sampleTypeCode,
-          validFlag: "1",
-          sampleNo: this.searchForm.sampleNo,
-          createNo: userId,
-        },
-        list: [0], // 已接任务、未处理状态
-        list2: [484003], // 测试分析模块
-        pageSize: this.pageSize_dep,
-        pageIndex: this.pageIndex_dep,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading2 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage1",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData2 = res.data.list;
-            this.total_dep = res.data.total;
-            this.tableData2.forEach((item) => {
-              item.stateFlagName =
-                item.stateFlag == "0"
-                  ? "未处理"
-                  : item.stateFlag == "3"
-                    ? "已提交"
-                    : "";
-              item.validFlagName =
-                item.validFlag == 0
-                  ? "无效"
-                  : item.validFlag == 1
-                    ? "有效"
-                    : "";
-              if (item.sampleTypeCode != 480102) {
-                item.suppName = "";
-                item.acceptName = "";
-              }
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading2 = false;
-        })
-        .catch((err) => {
-          this.tableLoading2 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 已提交、或者无效数据
-    Data4() {
-      let startTime = "";
-      let endTime = "";
-      if (!this.searchForm.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        /*startTime = this.searchForm.times[0] + ' 00:00:00'
-        endTime = this.searchForm.times[1] + ' 23:59:59'*/
-        startTime = this.searchForm.times[0];
-        endTime = this.searchForm.times[1];
-      }
-      let obj = {
-        object: {
-          matName: this.searchForm.matName,
-          sampleTypeCode: this.searchForm.sampleTypeCode,
-          sampleNo: this.searchForm.sampleNo,
-          createNo: userId,
-        },
-        mode: "1", // mode 1 表示查询已提交、或者无效数据
-        list2: [484003], // 测试分析模块
-        pageSize: this.pageSize4,
-        pageIndex: this.pageIndex4,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading4 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData4 = res.data.list;
-            this.total4 = res.data.total;
-            this.tableData4.forEach((item) => {
-              item.stateFlagName =
-                item.stateFlag == "0"
-                  ? "未处理"
-                  : item.stateFlag == "3"
-                    ? "已提交"
-                    : "";
-              item.validFlagName =
-                item.validFlag == 0
-                  ? "无效"
-                  : item.validFlag == 1
-                    ? "有效"
-                    : "";
-              if (item.sampleTypeCode != 480102) {
-                item.suppName = "";
-                item.acceptName = "";
-              }
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading4 = false;
-        })
-        .catch((err) => {
-          this.tableLoading4 = false;
-          this.$message.error(err.message);
-        });
-    },
-    dialogDeleteData(row, index) {
-      row.glMatName = "";
-      row.glSampleNo = "";
-      row.glCount = 1;
-      this.dialog.form.tableData.splice(index, 1);
-      this.glDialog.totalPage = this.glDialog.totalPage - 1;
-    },
-    Data5() {
-      let startTime = "";
-      let endTime = "";
-      if (!this.searchForm.times) {
-        startTime = "";
-        endTime = "";
-      } else {
-        // startTime = this.searchForm.times[0] + ' 00:00:00'
-        // endTime = this.searchForm.times[1] + ' 23:59:59'
-        startTime = this.searchForm.times[0];
-        endTime = this.searchForm.times[1];
-      }
-      let obj2 = {
-        object: {
-          matName: this.searchForm.matName,
-          sampleTypeCode: this.searchForm.sampleTypeCode,
-          sampleNo: this.searchForm.sampleNo,
-          createNo: userId,
-        },
-        mode: "0", // mode 0 表示查询无效数据
-        list2: [484003], // 测试分析模块
-        pageSize: this.pageSize42,
-        pageIndex: this.pageIndex42,
-        startTime: startTime,
-        endTime: endTime,
-      };
-      this.tableLoading42 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
-          obj2,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData42 = res.data.list;
-            this.total42 = res.data.total;
-            this.tableData42.forEach((item) => {
-              item.stateFlagName =
-                item.stateFlag == "0"
-                  ? "未处理"
-                  : item.stateFlag == "3"
-                    ? "已提交"
-                    : "";
-              item.validFlagName =
-                item.validFlag == 0
-                  ? "无效"
-                  : item.validFlag == 1
-                    ? "有效"
-                    : "";
-              if (item.sampleTypeCode != 480102) {
-                item.suppName = "";
-                item.acceptName = "";
-              }
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading42 = false;
-        })
-        .catch((err) => {
-          this.tableLoading42 = false;
-          this.$message.error(err.message);
-        });
-    },
-    searchAnalyze2(row) {
-      //保存点击的样品信息数据,保存、提交操作时刷新
-      this.saveAnaly = {};
-      this.analyzeVal = row;
-      this.tableLoading3 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList?stId=" +
-          this.analyzeVal.id
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData3 = res.data;
-            this.tableData3.forEach((item) => {
-              item.showInput =
-                item.defaultValue && item.defaultValue.indexOf("#") > -1
-                  ? false
-                  : true;
-              item.defaultList = item.defaultValue
-                ? item.defaultValue.split("#")
-                : [];
-              item.anlyValue = item.anlyValue
-                ? item.anlyValue
-                : item.defaultList[0];
-              item.isReportName =
-                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
-              item.isAlarmName =
-                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
-              if (item.anlyValue && item.maxValue && item.maxSign) {
-                let anlyVal = item.anlyValue;
-                if (
-                  item.anlyValue.startsWith("<") ||
-                  item.anlyValue.startsWith("≤")
-                ) {
-                  anlyVal = item.anlyValue.slice(1);
-                }
-                if (item.maxSign === "<") {
-                  let i = anlyVal - 0 >= item.maxValue - 0 ? 1 : -1;
-                  item.warning = i;
-                } else if (item.maxSign === "<=") {
-                  let i = anlyVal - 0 > item.maxValue - 0 ? 1 : -1;
-                  item.warning = i;
-                }
-              }
-              if (item.anlyValue && item.minValue && item.minSign) {
-                let anlyVal = item.anlyValue;
-                if (
-                  item.anlyValue.startsWith("<") ||
-                  item.anlyValue.startsWith("≤")
-                ) {
-                  anlyVal = item.anlyValue.slice(1);
-                }
-                if (item.minSign === ">") {
-                  let i = anlyVal - 0 <= item.minValue - 0 ? 0 : -1;
-                  item.warning = i;
-                } else if (item.minSign === ">=") {
-                  let i = anlyVal - 0 < item.minValue - 0 ? 0 : -1;
-                  item.warning = i;
-                }
-              }
-            });
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading3 = false;
-        })
-        .catch((err) => {
-          this.tableLoading3 = false;
-          this.$message.error(err.message);
-        });
-    },
-    //点击测试项目,查询分析项目
-    searchAnalyze(row, clear, event) {
-      this.stopall();
-      //保存点击的样品信息数据,保存、提交操作时刷新
-      this.saveAnaly = {};
-      this.analyzeVal = row;
-      this.tableLoading3 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList?stId=" +
-          this.analyzeVal.id
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.tableData3 = res.data;
-            this.tableData3.forEach((item) => {
-              item.showInput =
-                item.defaultValue && item.defaultValue.indexOf("#") > -1
-                  ? false
-                  : true;
-              item.defaultList = item.defaultValue
-                ? item.defaultValue.split("#")
-                : [];
-              item.anlyValue = item.anlyValue
-                ? item.anlyValue
-                : item.defaultList[0];
-              item.isReportName =
-                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
-              item.isAlarmName =
-                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
-              if (item.anlyValue && item.maxValue && item.maxSign) {
-                let anlyVal = item.anlyValue;
-                if (
-                  item.anlyValue.startsWith("<") ||
-                  item.anlyValue.startsWith("≤")
-                ) {
-                  anlyVal = item.anlyValue.slice(1);
-                }
-                if (item.maxSign === "<") {
-                  let i = anlyVal - 0 >= item.maxValue - 0 ? 1 : -1;
-                  item.warning = i;
-                } else if (item.maxSign === "<=") {
-                  let i = anlyVal - 0 > item.maxValue - 0 ? 1 : -1;
-                  item.warning = i;
-                }
-              }
-              if (item.anlyValue && item.minValue && item.minSign) {
-                let anlyVal = item.anlyValue;
-                if (
-                  item.anlyValue.startsWith("<") ||
-                  item.anlyValue.startsWith("≤")
-                ) {
-                  anlyVal = item.anlyValue.slice(1);
-                }
-                if (item.minSign === ">") {
-                  let i = anlyVal - 0 <= item.minValue - 0 ? 0 : -1;
-                  item.warning = i;
-                } else if (item.minSign === ">=") {
-                  let i = anlyVal - 0 < item.minValue - 0 ? 0 : -1;
-                  item.warning = i;
-                }
-              }
-            });
-            // if (this.isAutoColl && notColl instanceof PointerEvent){
-            //    this.autoCollet();
-            // }
-          } else {
-            this.$message.error(res.message);
-          }
-          this.tableLoading3 = false;
-        })
-        .catch((err) => {
-          this.tableLoading3 = false;
-          this.$message.error(err.message);
-        });
-    },
-    //表格数据右移
-    rightData2(row) {
-      //新增的数据清空id
-      row.cretNoD = "";
-      this.table.addTest.push(row);
-    },
-    showCell(row) {
-      this.tabClickIndex = row.index;
-    },
-    saveCell(row) {
-      this.tabClickIndex = null;
-    },
-    tableRowName({ row, rowIndex }) {
-      row.index = rowIndex;
-      if (row.warning - 0 === 1) {
-        return "row-orange"; //橙色
-      }
-      if (row.warning - 0 === 0) {
-        return "error-row"; //红色
-      }
-    },
-    handleSizeChangeMain(pageSize) {
-      this.pageIndex = 1;
-      this.pageSize = pageSize;
-      this.DataMain();
-    },
-    handleSizeChangeDep(pageSize) {
-      this.pageIndex_dep = 1;
-      this.pageSize_dep = pageSize;
-      this.DataDep();
-    },
-    handleSizeChange4(pageSize) {
-      this.pageIndex4 = 1;
-      this.pageSize4 = pageSize;
-      this.Data4();
-    },
-    handleSizeChange5(pageSize) {
-      this.pageIndex42 = 1;
-      this.pageSize42 = pageSize;
-      this.Data5();
-    },
-    glDialogSizeTest(size) {
-      this.glDialog.pageSize = size;
-    },
-    glDialogPageChangeTest(index) {
-      this.glDialog.pageNum = index;
-    },
-    SizeTest(size) {
-      this.pageTests.pageSize = size;
-      this.getDataListTest2();
-    },
-    pageChangeTest(index) {
-      this.pageTests.pageNum = index;
-      this.getDataListTest2();
-    },
-    tableRowClassName({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 2) {
-        if (row.yearMonth === "1") {
-          return "error-row";
-        }
-      }
-      if (row.validFlag !== "1") {
-        return "error-row";
-      } else if (row.stateFlag === "3") {
-        return "error-green";
-      }
-      return "";
-      // if (columnIndex === 0) {
-      //   if (row.validFlag !== '1') {
-      //       return 'error-row';
-      //   } else if (row.stateFlag === '3') {
-      //     return 'error-green';
-      //   }
-      // }
-      // return ''
-    },
-    tableRowBatch({ row, column, rowIndex, columnIndex }) { },
-    fxTableRowClassName({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 3) {
-        //最大符号与最小符号必须同时存在,最大值与最小值必须有一项要有值,否则直接return不进入判断
-        if (row.maxSign && row.minSign && (row.maxValue || row.minValue)) {
-          if (row.maxSign == "<=" && row.minSign == ">=") {
-            if (
-              Number(row.anlyValue) <=
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-          if (row.maxSign == "<=" && row.minSign == ">") {
-            if (
-              Number(row.anlyValue) <=
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-          if (row.maxSign == "<" && row.minSign == ">=") {
-            if (
-              Number(row.anlyValue) <
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-          if (row.maxSign == "<" && row.minSign == ">") {
-            if (
-              Number(row.anlyValue) <
-              Number(row.maxValue ? row.maxValue : Infinity) &&
-              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
-            ) {
-              return "error-green";
-            } else {
-              return "error-row";
-            }
-          }
-        }
-        return "";
-      } else if (column.property === "reviseValue") {
-        return "error-blue";
-      }
-    },
-    tableHeaderCellStyle() {
-      return "background-color: rgb(249,249,249) !important;color: rgb(73, 72, 72);border-bottom: 1px solid #DCDFE7;border-top:3px solid #3ac1ea;";
-    },
-    // 停用
-    abolish() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选您要停用的数据");
-        return;
-      }
-      for (let item of this.selectVal) {
-        if (item.stateFlag == "3") {
-          this.$message.warning("已提交的数据不能停用");
-          return;
-        }
-      }
-      this.buttonLoading1 = true;
-      let abolishlength = this.selectVal.length;
-      this.$confirm(
-        "确认要停用" + abolishlength + "条数据吗",
-        "是否继续?",
-        "提示",
-        {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        }
-      )
-        .then(() => {
-          let _this = this;
-          _this.axios
-            .post(
-              "pass/testManagement/v1/limssampletests/abolish",
-              this.selectVal,
-              { individualType: "json" }
-            )
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                this.$message.success(res.message);
-                this.searchData();
-              } else {
-                this.$message.error(res.message);
-              }
-              this.buttonLoading1 = false;
-            })
-            .catch((err) => {
-              this.buttonLoading1 = false;
-              this.$message.error(err.message);
-            });
-        })
-        .catch(() => {
-          this.$message({
-            type: "info",
-            message: "已取消停用",
-          });
-          this.buttonLoading1 = false;
-        });
-    },
-    // 启用
-    recoverData() {
-      if (this.selectVal42.length < 1) {
-        this.$message.warning("请勾选您要启用的数据");
-        return;
-      }
-      this.buttonLoading2 = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/recover",
-          this.selectVal42,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.buttonLoading2 = false;
-        })
-        .catch((err) => {
-          this.buttonLoading2 = false;
-          this.$message.error(err.message);
-        });
-    },
-    // 批量退回
-    back() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选您要退回的数据");
-        return;
-      }
-      for (let item of this.selectVal) {
-        if (item.stateFlag != 0) {
-          this.$message.warning("请选择状态为未处理的数据");
-          return;
-        }
-        if (item.isSendBack == "2") {
-          this.$message.warning("额外增加的任务不允许退回");
-          return;
-        }
-      }
-      this.backLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/sendBacks",
-          this.selectVal,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.succeed) {
-            this.$message.success(res.message);
-            this.searchData();
-          } else {
-            this.$message.error(res.message);
-          }
-          this.backLoading = false;
-        })
-        .catch((e) => {
-          this.backLoading = false;
-          this.$message.error(e.message);
-        });
-    },
-    // 新增标样
-    addBy() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选您要新增标样的数据");
-        return;
-      }
-      if (this.selectVal.length > 1) {
-        this.$message.warning("请勾选一条数据");
-        return;
-      }
-      if (this.selectVal[0].stateFlag == 3) {
-        this.$message.warning(
-          "已提交的数据不能增加标样,请选择状态为未处理的数据进行操作"
-        );
-        return;
-      }
-      // if (JSON.stringify(this.analyzeVal)==="{}") {
-      //   this.$message.warning("请先点击选中一条测试项目数据");
-      //   return
-      // }
-      // if (this.analyzeVal.stateFlag == 3) {
-      //   this.$message.warning("已提交的数据不能增加标样,请选择状态为未处理的数据进行操作");
-      //   return;
-      // }
-      this.gangwei = this.selectVal[0].testPostCode;
-      this.addByShow = !this.addByShow;
-    },
-    addBy2() {
-      let that = this;
-      if (that.selectVal.length < 1) {
-        that.$message.warning("请勾选您要新增标样的数据");
-        return;
-      }
-      if (that.selectVal.length > 1) {
-        that.$message.warning("请勾选一条数据");
-        return;
-      }
-      let addData = {
-        testItemNo: "T0424", // 标准曲线
-        id: that.selectVal[0].id,
-        yuansu: that.dialog2.form.data.yuansu,
-        vlaue: that.dialog2.form.data.sampleNum,
-      };
-      that.$refs["dialog_form2"].validate((valid) => {
-        if (valid) {
-          that.axios
-            .post("pass/testManagement/v1/limssampletests/addTest", addData, {
-              individualType: "json",
-            })
-            .then((res) => {
-              if (res.code == 0 || res.code == 200) {
-                that.$message.success(res.message);
-                that.searchData();
-              } else {
-                that.$message.error(res.message);
-              }
-              that.addByLoading = false;
-              that.addByShow = false;
-            })
-            .catch((err) => {
-              that.addByLoading = false;
-              that.$message.error(err.message);
-            });
-        }
-      });
-    },
-    // 新增管理样弹窗
-    addGly() {
-      if (this.selectVal.length < 1) {
-        this.$message.warning("请勾选您要新增标样的数据");
-        return;
-      }
-      if (this.selectVal.length > 6) {
-        return this.$message.warning(
-          "每次批量增加管理样最大数量为6,当前数量" + this.selectVal.length
-        );
-      }
-      for (let i = 0; i < this.selectVal.length; i++) {
-        if (this.selectVal[i].matName.indexOf("管理样") != -1) {
-          return this.$message.warning("请取消勾选管理样!");
-        }
-        if (this.selectVal[i].stateFlag === "3") {
-          return this.$message.warning(
-            "勾选的数据中含有已提交数据,请刷新页面后重试!"
-          );
-        }
-        this.selectVal[i].glSampleNo = "";
-        this.selectVal[i].glMatName = "(管理样)" + this.selectVal[i].matName;
-        this.selectVal[i].glCount = "1";
-        this.dialog.form.tableData.push(this.selectVal[i]);
-      }
-      this.dialog.show = true;
-      if (this.dialog.form.tableData.length > 0) {
-        this.$refs.dialog_form.setCurrentRow(this.$refs.dialog_form.data[0]);
-      }
-    },
-    // 新增管理样确认
-    addGlySure() {
-      let arr = [];
-      this.addGlyLoading = true;
-      if (this.dialog.form.tableData.length == 0) {
-        this.addGlyLoading = false;
-        return this.$message.warning("没有数据,无法增加管理样!");
-      }
-      for (let i = 0; i < this.dialog.form.tableData.length; i++) {
-        if (this.dialog.form.tableData[i].glCount > 6) {
-          this.addGlyLoading = false;
-          return this.$message.warning(
-            "每条数据设置的管理样增加个数最大为6,请重新设置!"
-          );
-        }
-        if (this.dialog.form.tableData[i].glCount < 1) {
-          this.addGlyLoading = false;
-          return this.$message.warning(
-            "每条数据设置的管理样增加个数必须大于0,请重新设置!"
-          );
-        }
-        if (
-          this.dialog.form.tableData[i].glSampleNo == null ||
-          this.dialog.form.tableData[i].glSampleNo === ""
-        ) {
-          this.addGlyLoading = false;
-          return this.$message.warning("必须设置管理样编号!请重新设置");
-        }
-        if (
-          this.dialog.form.tableData[i].glMatName == null ||
-          this.dialog.form.tableData[i].glMatName === ""
-        ) {
-          this.addGlyLoading = false;
-          return this.$message.warning("必须为管理样设置物料名称!请重新设置");
-        }
-        let obj = {
-          id: this.dialog.form.tableData[i].stId,
-          glSampleNo: this.dialog.form.tableData[i].glSampleNo,
-          glMatName: this.dialog.form.tableData[i].glMatName,
-          glCount: this.dialog.form.tableData[i].glCount,
-          // 设置固定增加的分析项目,针对当前需要固定添加标样含量的需求,后续如需改动或删除,改变下面变量即可
-          append: {
-            anlyItemNo: "A0555",
-            anlyItemName: "标样含量",
-          },
-        };
-        arr.push(obj);
-      }
-      this.axios
-        .post("pass/testManagement/v1/limssampletests/addGly", arr, {
-          individualType: "json",
-        })
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.searchData();
-            this.addGlyLoading = false;
-          } else {
-            this.$message.error(res.message);
-            this.addGlyLoading = false;
-          }
-          this.addGlyLoading = false;
-          this.closeBly();
-        })
-        .catch((err) => {
-          this.addGlyLoading = false;
-          this.$message.error(err.message);
-        });
-    },
-    addKb() {
-      if (this.selectVal.length == 0) {
-        this.$message.warning("请选择需要增加空白样的数据!");
-        return;
-      }
-      if (this.selectVal.length > 1) {
-        this.$message.warning("只能勾选一条数据增加空白样,请取消多选");
-        return;
-      }
-      var stId = this.selectVal[0].stId;
-      this.addKbLoading = true;
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletests/addKb",
-          { stId: stId },
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.$message.success(res.message);
-            this.addKbLoading = false;
-            this.DataDep();
-          } else {
-            this.addKbLoading = false;
-            this.$message.error(res.data);
-          }
-        })
-        .catch((e) => {
-          this.addKbLoading = false;
-          this.$message.error(e.data);
-        });
-    },
-    keyDown(event, row, rindex) {
-      let tdTarget = event.target;
-      let pid = tdTarget.id;
-      if (!pid) {
-        return true;
-      }
-      let ids = pid.split("--");
-      if (ids.length != 2) {
-        return true;
-      }
-      let columnId = ids[0];
-      let index = ids[1];
-      let that = this;
-      while (tdTarget.tagName !== "TD") {
-        tdTarget = tdTarget.parentElement;
-      }
-      if (event.keyCode === 13) {
-        this.jisuanRow(row, rindex);
-      }
-      // 如果按下键盘下键或者回车键
-      if (event.keyCode === 40 || event.keyCode === 13) {
-        let ind = Number(index) + 1;
-        let id = "#" + columnId + "--" + ind;
-        let input = $(id);
-        if (input) {
-          this.$refs.tablePllr.setCurrentRow(this.tableData[ind]);
-          input.focus();
-          input.select(); // 选中内容
-          event.stopPropagation();
-          event.stopImmediatePropagation();
-          event.preventDefault();
-          return false;
-        }
-      } else if (event.keyCode === 38) {
-        // 键盘上键
-        let ind = Number(index) - 1;
-        let id = "#" + columnId + "--" + ind;
-        let input = $(id);
-        if (input) {
-          this.$refs.tablePllr.setCurrentRow(this.tableData[ind]);
-          input.focus();
-          input.select(); // 选中内容
-          event.stopPropagation();
-          event.stopImmediatePropagation();
-          event.preventDefault();
-          return false;
-        }
-      } else if (event.keyCode === 37) {
-        // 键盘左键
-        let input =
-          $(tdTarget).prev().find("input") &&
-          $(tdTarget).prev().find("input")[0];
-        if (input) {
-          input.focus();
-          input.select(); // 选中内容
-          event.stopPropagation();
-          event.stopImmediatePropagation();
-          event.preventDefault();
-          return false;
-        }
-      } else if (event.keyCode === 39) {
-        // 键盘右键
-        let input = $(tdTarget).next().find("input")[0];
-        if (input) {
-          input.focus();
-          input.select(); // 选中内容
-          event.stopPropagation();
-          event.stopImmediatePropagation();
-          event.preventDefault();
-          return false;
-        }
-      }
-    },
-    // 删除数据(前端删除)
-    delData(row, index) {
-      let that = this;
-
-      that.tableData.splice(index, 1);
-      that.testTable.splice(index - 1, 1);
-      let srow = that.selectVal[index - 1];
-      that.selectVal.splice(index - 1, 1);
-      that.$refs.table2.toggleRowSelection(srow, false);
-    },
-    // 计算单行
-    jisuanRow(row, index) {
-      if (index < 1) {
-        return true;
-      }
-
-      let temp = [];
-      let obj = Object.assign(row);
-      delete obj.index;
-      //将对象转化成数组、循环获取到index
-      let tempArr = Object.keys(obj);
-      tempArr.forEach((items, indexs) => {
-        temp.push({
-          anlyValue: obj[items],
-          stIdD: this.testTable[index - 1][items],
-        });
-      });
-      let tempData = [row.stId];
-      // console.log('temp', temp);
-      this.axios
-        .post(
-          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
-          temp,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.axios
-              .post(
-                "pass/testManagement/v1/limssampletests/formulacomByStIds",
-                tempData,
-                { individualType: "json" }
-              )
-              .then((res) => {
-                if (res.code == 0 || res.code == 200) {
-                  this.axios
-                    .post(
-                      "pass/testManagement/v1/limssampletestds/transitionData",
-                      tempData,
-                      { individualType: "json" }
-                    )
-                    .then((res) => {
-                      if (res.data.badyData.length > 0) {
-                        let obj = res.data.badyData[0];
-                        this.tableData.splice(index, 1, obj);
-                      }
-                    })
-                    .catch((e) => {
-                      this.$message.error(e.message);
-                    });
-                } else {
-                  this.$message.error(res.message);
-                }
-              })
-              .catch((err) => {
-                this.$message.error(err.message);
-              });
-          } else {
-            this.$message.error(res.message);
-          }
-        })
-        .catch((err) => {
-          this.$message.error(err.message);
-        });
-    },
-    selectStyle({ row, column, rowIndex, columnIndex }) {
-      if (row.warning) {
-        return "row-green";
-      }
-    },
-  },
-};
-</script>
-<style scoped></style>
-<style lang="less">
-.testManagement {
-  .buttons {
-    .el-button {
-      margin: 2px 3px 0 0;
-    }
-  }
-
-  .textOverflow {
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    overflow: hidden;
-  }
-
-  .testManagement_left {
-    .el-table .el-table__body tr.error-row {
-      background-color: rgb(253, 89, 89) !important;
-    }
-
-    .el-table .el-table__body tr.error-row>td {
-      background-color: rgb(253, 89, 89) !important;
-    }
-
-    .el-table .el-table__body tr.error-green {
-      background-color: rgb(202, 249, 130) !important;
-    }
-
-    .el-table .el-table__body tr.error-green>td {
-      background-color: rgb(202, 249, 130) !important;
-    }
-  }
-
-  .testManagement-pllr {
-    .el-table .el-table__body tr.current-row>td {
-      //background-color: rgba(26, 75, 236, 0.2) !important;
-      background-color: rgba(64, 158, 255, 0.3) !important;
-    }
-  }
-
-  .row-orange {
-    background-color: #fa9707 !important;
-  }
-}
-</style>
+<!-- 测试分析-测试管理 -->
+<template>
+  <div class="examination testManagement">
+    <div class="common-head-search">
+      <el-form :inline="true" @submit.native.prevent ref="searchForm" :model="searchForm"
+        class="demo-form-inline sui-search-form">
+        <el-form-item label="样品名称">
+          <el-input v-model="searchForm.matName" @keyup.enter.native="searchData()" size="small" placeholder="请输入查询内容"
+            style="width: 150px"></el-input>
+        </el-form-item>
+        <el-form-item label="样品编号">
+          <el-input v-model="searchForm.sampleNo" size="small" placeholder="请输入查询内容" style="width: 120px"></el-input>
+        </el-form-item>
+        <el-form-item label="样品类型">
+          <el-select v-model="searchForm.sampleTypeCode" clearable filterable collapse-tags size="small"
+            style="width: 150px" placeholder="请选择查询内容">
+            <el-option v-for="item in sampleTypeNameType" :key="item.baseName" :label="item.baseName"
+              :value="item.baseCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="任务领用日期">
+          <el-date-picker v-model="searchForm.times[0]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="datetime"
+            placeholder="开始日期" size="mini" style="width: 180px" :default-time="'00:00:00'">
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="searchForm.times[1]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="datetime"
+            placeholder="结束日期" size="mini" style="width: 180px" :default-time="'23:59:59'">
+          </el-date-picker>
+          <!-- <el-date-picker
+            v-model="searchForm.times"
+            type="datetimerange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            style="width: 350px"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            :default-time="['00:00:00', '23:59:59']"
+          >
+          </el-date-picker> -->
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
+          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="resetData">重置</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-row>
+      <el-col :span="10">
+        <el-tabs type="border-card" v-model="activeName" class="testManagement_left">
+          <el-tab-pane label="待接任务" name="first">
+            <span slot="label">待接任务<el-badge :max="10" :hidden="total_main == 0" style="margin-top: -18px"
+                :value="total_main"></el-badge></span>
+            <div class="common-title-div" style="height: auto">
+              <div class="common-title-name" style="margin-right: 10px">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                未接收
+              </div>
+              <div>
+                <el-form :inline="true" @submit.native.prevent>
+                  <el-form-item style="margin-bottom: 0">
+                    <el-button icon="el-icon-check" type="goon" :loading="sampleLoading" @click="recSample"
+                      v-privilege="activeMenu + 'receive'" size="mini">接任务</el-button>
+                  </el-form-item>
+                  <el-form-item style="margin-bottom: 0">
+                    <el-input ref="autoInput" v-model="values" placeholder="扫码接任务" size="mini" style="width: 150px"
+                      @input="autoSubmit()" clearable :disabled="inputLoading"></el-input>
+                  </el-form-item>
+                  <!--<el-form-item>
+                    <el-button icon="el-icon-check" type="goon" size="mini" :loading='inputLoading' v-privilege="activeMenu + 'codeSampling'" @click="transferTask">任务转移</el-button>
+                  </el-form-item>-->
+                </el-form>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table ref="table1" :height="theight1" v-loading="tableLoading1" :data="tableData1"
+                :summary-method="getSummaries2" show-summary border @selection-change="searchFollow"
+                :header-cell-style="tableHeaderCellStyle" highlight-current-row :icorePanelShown="100"
+                :icore-filter-flag="icoreFilterFlag" :exchangeFilterMap="{
+                  lock_flag: { '0': '未锁定', '1': '已锁定' },
+                }" style="width: 100%">
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
+                  label="委托编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
+                  label="中心编号">
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
+                  label="物料名称"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
+                  label="测试项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="entrMemo" label="委托备注"
+                  align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="matOrder"
+                  label="物料顺序"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="75" align="center" prop="sampleTypeName"
+                  label="样品类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="functionName"
+                  label="任务类型"></el-table-column>
+              </el-table>
+            </div>
+            <div class="common-foot-style">
+              <el-pagination @size-change="handleSizeChangeMain" @current-change="DataMain()"
+                :current-page.sync="pageIndex" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize"
+                layout="total, sizes, prev, pager, next, jumper" :total="total_main" background></el-pagination>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="已接任务" name="second">
+            <div class="common-title-div" style="height: auto">
+              <div class="common-title-name" style="margin-right: 10px">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                已接收
+              </div>
+              <div class="buttons">
+                <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
+                  v-privilege="activeMenu + 'back'" @click="back">退回</el-button>
+                <el-button icon="el-icon-check" type="goon" :loading="submitLoading" @click="subData"
+                  v-privilege="activeMenu + 'submit'" size="mini">提交</el-button>
+                <el-button icon="el-icon-check" type="goon" @click="retest('480403')" size="mini"
+                  v-privilege="activeMenu + 'retest'">增加任务</el-button>
+                <el-button icon="el-icon-check" type="goon" @click="retest('480405')" size="mini"
+                  v-privilege="activeMenu + 'retest'">增加标样</el-button>
+                <el-button icon="el-icon-check" type="goon" @click="collectData" v-privilege="activeMenu + 'collect'"
+                  size="mini">批量采集</el-button>
+                <el-button icon="el-icon-back" type="danger" size="mini" :loading="backLoading"
+                  v-privilege="activeMenu + 'backCollect'" @click="backCollect">撤回采集</el-button>
+                <el-button icon="el-icon-check" type="goon" :loading="batchDataLoading" @click="batchData"
+                  v-privilege="activeMenu + 'batch'" size="mini">批量录入</el-button>
+                <el-button icon="el-icon-circle-close" :loading="buttonLoading1" type="danger" size="mini"
+                  v-privilege="activeMenu + 'disable'" @click="abolish">停用</el-button>
+                <el-button icon="el-icon-check" type="goon" :loading="addByLoading" @click="addBy" size="mini"
+                  v-privilege="activeMenu + 'addBy'">增加标准点</el-button>
+                <el-button icon="el-icon-check" type="goon" @click="addGly" size="mini"
+                  v-privilege="activeMenu + 'addGly'">增加管理样</el-button>
+                <el-button icon="el-icon-check" type="goon" :loading="addKbLoading" @click="addKb" size="mini"
+                  v-privilege="activeMenu + 'addKb'">增加空白样</el-button>
+                <el-checkbox v-model="isOneHint" @change="changeIsOneHint">重复提醒一次</el-checkbox>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table v-loading="tableLoading2" ref="table2" :cell-class-name="tableRowClassName"
+                @selection-change="SelectionValues" @current-change="handleCurrentChange" border
+                @row-click="searchAnalyze" :height="theight2" highlight-current-row :data="tableData2"
+                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries2" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable width="95" align="center" prop="isSendBack" label="类型">
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.isSendBack === '2'" :class="{ 'color-warning': true }">
+                      额外任务
+                    </span>
+                    <span v-else> 普通任务 </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
+                  label="委托编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
+                  label="中心编号">
+                  <template slot-scope="scope">
+                    <span @click.stop="showHistory(scope.row)" style="cursor: pointer"
+                      :class="{ 'color-blue': scope.row.sampleNo }">
+                      {{ scope.row.sampleNo }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
+                  label="物料名称"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="170" align="center" prop="testItemName"
+                  label="测试项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
+                  label="委托备注"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeName"
+                  label="样品类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="stdName"
+                  label="方法"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="eqpName"
+                  label="仪器类型"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
+                  label="测试部门">
+                  <template slot-scope="{ row }">
+                    <el-input v-model="row.testDirection" size="small" @keyup.enter.native="calAge(row)"
+                      style="width: 100%">
+                    </el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
+                  label="备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="createMan" label="创建人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="createTime" label="创建时间"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="updateMan" label="修改人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="updateTime" label="修改时间"
+                  align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="stateFlagName"
+                  label="状态"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="validFlagName"
+                  label="数据状态"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChangeDep" @current-change="DataDep()"
+                  :current-page.sync="pageIndex_dep" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize_dep"
+                  layout="total, sizes, prev, pager, next, jumper" :total="total_dep" background></el-pagination>
+              </div>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="已提交" name="third">
+            <div class="common-title-div" style="height: auto">
+              <div class="common-title-name" style="margin-right: 10px">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                已提交
+              </div>
+              <div class="buttons">
+                <el-button icon="el-icon-back" type="danger" size="mini" :loading="withdrawLoading"
+                  @click="backWithdraw">撤回</el-button>
+              </div>
+              <el-button icon="el-icon-check" type="goon" @click="retest2('480403')" size="mini"
+                v-privilege="activeMenu + 'retest'">增加任务</el-button>
+            </div>
+            <div class="common-table-div">
+              <el-table v-loading="tableLoading4" ref="table4" :cell-class-name="tableRowClassName"
+                @selection-change="SelectionValues4" @current-change="handleCurrentChange" border
+                @row-click="searchAnalyze" :height="theight2" highlight-current-row :data="tableData4"
+                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries2" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable width="95" align="center" prop="isSendBack" label="类型">
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.isSendBack === '2'" :class="{ 'color-warning': true }">
+                      额外任务
+                    </span>
+                    <span v-else> 普通任务 </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
+                  label="委托编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
+                  label="中心编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
+                  label="物料名称"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
+                  label="测试项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
+                  label="委托备注"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeName"
+                  label="样品类型"></el-table-column>
+                <!-- <el-table-column
+                  show-overflow-tooltip
+                  sortable
+                  min-width="100"
+                  align="center"
+                  prop="id"
+                  label="编号"
+                ></el-table-column> -->
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="stdName"
+                  label="方法"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="eqpName"
+                  label="仪器类型"></el-table-column>
+                <!-- <el-table-column
+                  show-overflow-tooltip
+                  sortable
+                  min-width="100"
+                  align="center"
+                  prop="testPostName"
+                  label="分析岗位"
+                ></el-table-column> -->
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
+                  label="测试部门"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
+                  label="备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="createMan" label="创建人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="createTime" label="创建时间"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="updateMan" label="修改人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="updateTime" label="修改时间"
+                  align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="stateFlagName"
+                  label="状态"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="validFlagName"
+                  label="数据状态"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChange4" @current-change="Data4()"
+                  :current-page.sync="pageIndex4" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize4"
+                  layout="total, sizes, prev, pager, next, jumper" :total="total4" background></el-pagination>
+              </div>
+            </div>
+          </el-tab-pane>
+          <el-tab-pane label="已停用" name="stop">
+            <div class="common-title-div" style="height: auto">
+              <div class="common-title-name" style="margin-right: 10px">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                已停用
+              </div>
+              <div class="buttons">
+                <el-button icon="el-icon-check" :loading="buttonLoading2" type="goon" size="mini"
+                  v-privilege="activeMenu + 'effectivity'" @click="recoverData">启用</el-button>
+              </div>
+            </div>
+            <div class="common-table-div">
+              <el-table v-loading="tableLoading42" ref="table42" :cell-class-name="tableRowClassName"
+                @selection-change="SelectionValues42" @current-change="handleCurrentChange" border
+                @row-click="searchAnalyze" :height="theight2" highlight-current-row :data="tableData42"
+                :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+                :summary-method="getSummaries2" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable width="95" align="center" prop="isSendBack" label="类型">
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.isSendBack === '2'" :class="{ 'color-warning': true }">
+                      额外任务
+                    </span>
+                    <span v-else> 普通任务 </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="carNo"
+                  label="委托编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="115" align="center" prop="sampleNo"
+                  label="中心编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="matName"
+                  label="物料名称"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="testItemName"
+                  label="测试项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="receivedDate"
+                  label="收样日期"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="entrMemo"
+                  label="委托备注"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="sampleTypeName"
+                  label="样品类型"></el-table-column>
+                <!-- <el-table-column
+                  show-overflow-tooltip
+                  sortable
+                  min-width="100"
+                  align="center"
+                  prop="id"
+                  label="编号"
+                ></el-table-column> -->
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="stdName"
+                  label="方法"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="eqpName"
+                  label="仪器类型"></el-table-column>
+                <!-- <el-table-column
+                  show-overflow-tooltip
+                  sortable
+                  min-width="100"
+                  align="center"
+                  prop="testPostName"
+                  label="分析岗位"
+                ></el-table-column> -->
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testDirection"
+                  label="测试部门"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo"
+                  label="备注"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="createMan" label="创建人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="createTime" label="创建时间"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="80px" prop="updateMan" label="修改人"
+                  align="center"></el-table-column>
+                <el-table-column sortable show-overflow-tooltip min-width="140px" prop="updateTime" label="修改时间"
+                  align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="stateFlagName"
+                  label="状态"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="validFlagName"
+                  label="数据状态"></el-table-column>
+              </el-table>
+              <div class="common-foot-style">
+                <el-pagination @size-change="handleSizeChange5" @current-change="Data5()"
+                  :current-page.sync="pageIndex42" :page-sizes="[10, 20, 30, 40, 100, 200]" :page-size="pageSize42"
+                  layout="total, sizes, prev, pager, next, jumper" :total="total42" background></el-pagination>
+              </div>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+      <el-col :span="14">
+        <el-tabs type="border-card" v-model="activeName2">
+          <el-tab-pane :label="analyzeVal.matName
+            ? '【 ' +
+            analyzeVal.matName +
+            ' 】 - 【 ' +
+            analyzeVal.testItemName +
+            ' 】'
+            : '未选择数据'
+            " name="first2">
+            <el-form :inline="true" :model="autoCollData" ref="autoCollData" :rules="autoColl">
+              <el-form-item prop="eqpTypeCode" label="设备类型">
+                <el-select v-model="autoCollData.eqpTypeCode" @change="selectAuto" filterable collapse-tags size="small"
+                  style="width: 150px" placeholder="">
+                  <el-option v-for="item in facilityType" :key="item.baseCode" :label="item.baseName"
+                    :value="item.baseCode">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item prop="eqpNo" label="设备名称">
+                <el-select v-model="autoCollData.eqpNo" clearable filterable collapse-tags size="small"
+                  style="width: 150px" placeholder="">
+                  <el-option v-for="item in autoEqpType" :key="item.eqpNo" :label="item.eqpName + ` (${item.memo})`"
+                    :value="item.eqpNo">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item>
+                <el-input v-model="scale" ref="autoBalance" size="mini" style="display: inline-block; width: 100px"
+                  clearable @input="autoScale()" placeholder="扫码选设备"></el-input>
+              </el-form-item>
+              <el-form-item>
+                <!--<el-button icon="el-icon-check" type="goon" size="mini" v-privilege="activeMenu + 'autoCollets'"  :loading='autoColletLoading' @click="autoCollet">自动采集</el-button>-->
+                <el-checkbox v-model="isAutoColl" @change="realTimeCollect">自动采集</el-checkbox>
+                <el-button icon="el-icon-check" type="goon" size="mini" :loading="autoColletLoading"
+                  @click="autoCollet">手动采集</el-button>
+              </el-form-item>
+            </el-form>
+            <div style="height: auto; padding-top: 1px" class="common-title-div">
+              <div class="common-title-name">
+                <img style="width: 25px; height: 25px" src="../../../../assets/img/imgScreen/logo.png" />
+                分析项目
+              </div>
+              <div class="buttons">
+                <el-button icon="el-icon-circle-plus-outline" @click="addAnaly" v-privilege="activeMenu + 'addData'"
+                  type="goon" size="mini">新增</el-button>
+                <el-button icon="el-icon-remove-outline" type="danger" :loading="deleteLoading" size="mini"
+                  v-privilege="activeMenu + 'delete'" @click="deleteData">删除</el-button>
+                <el-button icon="el-icon-back" type="danger" :loading="errorLoading" size="mini"
+                  @click="deleteRecall">撤回</el-button>
+                <el-button icon="el-icon-check" :loading="formulacomLoading" @click="formulacom" type="goon"
+                  v-privilege="activeMenu + 'formulacom'" size="mini">计算</el-button>
+                <el-button icon="el-icon-check" :loading="saveLoading" @click="saveData" type="goon"
+                  v-privilege="activeMenu + 'save'" size="mini">保存</el-button>
+                <el-button icon="el-icon-remove-outline" :loading="errorLoading" type="danger" size="mini"
+                  @click="abnormal">异常申报</el-button>
+              </div>
+              <div></div>
+            </div>
+            <div class="common-table-div">
+              <el-table v-loading="tableLoading3" border :height="theight3" @selection-change="selectMultiples"
+                highlight-current-row @row-click="clickRow" :data="tableData3" :icore-filter-flag="icoreFilterFlag"
+                :header-cell-style="tableHeaderCellStyle" @row-dblclick="showCell" :row-class-name="tableRowName"
+                :cell-class-name="fxTableRowClassName" :summary-method="getSummaries2" show-summary>
+                <el-table-column type="index" label="NO" fixed="left" align="center"></el-table-column>
+                <el-table-column type="selection" width="45" fixed="left" align="center"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="90" fixed="left" align="center"
+                  prop="anlyItemNo" label="分析项目编号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="180" fixed="left" align="center"
+                  prop="anlyItemName" label="分析项目"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="130" align="center" prop="anlyValue"
+                  label="报出值">
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="150" align="center" prop="reviseValue"
+                  label="录入值">
+                  <template slot-scope="{ row }">
+                    <el-select :disabled="analyzeVal.stateFlag != 0" v-if="
+                      row.index === tabClickIndex &&
+                      !row.showInput &&
+                      row.dataTypeCode !== '482504'
+                    " clearable allow-create v-model="row.reviseValue" filterable size="small">
+                      <el-option v-for="(item, index) in row.defaultList" :key="index" :label="item" :value="item">
+                      </el-option>
+                    </el-select>
+                    <el-input :disabled="analyzeVal.stateFlag != 0" :controls="false" v-else-if="
+                      row.index === tabClickIndex &&
+                      row.showInput &&
+                      row.dataTypeCode !== '482504'
+                    " @blur="saveCell" v-model="row.reviseValue" @keyup.enter.native="saveCell" size="small"
+                      style="width: 100%">
+                    </el-input>
+                    <el-date-picker v-model="row.reviseValue" type="datetime" size="small" placeholder="选择日期时间"
+                      v-else-if="row.dataTypeCode === '482504'" align="right" style="width: 100%"
+                      :default-value="new Date()">
+                    </el-date-picker>
+                    <span v-else>{{ row.reviseValue }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="dasValue"
+                  label="采集值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="cptValue"
+                  label="计算值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="备注">
+                  <template slot-scope="{ row }">
+                    <el-input v-model="row.memo" @blur="saveCell" @keyup.enter.native="saveCell" size="small"
+                      style="width: 100%"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="memo" label="文件上传">
+                  <template slot-scope="scope">
+                    <el-upload class="upload" action="" style="width: 40px; display: inline-block" :multiple="false"
+                      :show-file-list="false" accept="" :http-request="httpRequest">
+                      <el-button type="goon" size="mini" :disabled="analyzeVal.stateFlag != 0"
+                        @click="saveUpload(scope.row)" icon="el-icon-upload2"></el-button>
+                    </el-upload>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="130" align="center" prop="archiveId"
+                  label="文件路径">
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.archiveId">
+                      <template v-for="fileName in scope.row.archiveId.split('#')">
+                        <span @click.stop="imgPreView(scope.row, fileName)" style="cursor: pointer"
+                          :class="{ 'color-blue': fileName !== '' }">
+                          {{ fileName }}
+                        </span>
+                      </template>
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="unitName"
+                  label="单位"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="formulaName"
+                  label="计算公式"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseRuleName"
+                  label="修约规则"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isReportName"
+                  label="是否报出"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isAlarmName"
+                  label="是否报警"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minSign"
+                  label="最小符号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minValue"
+                  label="最小值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxSign"
+                  label="最大符号"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxValue"
+                  label="最大值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxLimit"
+                  label="方法上限值"></el-table-column>
+                <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minLimit"
+                  label="方法下限值"></el-table-column>
+              </el-table>
+            </div>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+    <!-- 录入湿温度 -->
+    <el-dialog class="testManagement-pllr" :close-on-click-modal="false" @close="closeTemperature" width="70%"
+      :visible.sync="temperatureShow">
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left: 10px; font-size: 18px">温湿度记录</span>
+        <span style="margin-left: 10px; font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;选择化验室</span>
+        <el-select v-model="form.pointNo" clearable filterable collapse-tags @change="temperatureData" size="small"
+          style="width: 150px" placeholder="请选择查询内容">
+          <el-option v-for="item in pointType" :key="item.pointName" :label="item.pointName" :value="item.pointNo">
+          </el-option>
+        </el-select>
+        <!-- <el-form-item label="任务领用日期">
+          <el-date-picker
+            v-model="form.times"
+            type="datetimerange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            style="width: 350px"
+            value-format="yyyy-MM-dd"
+          >
+          </el-date-picker>
+        </el-form-item> -->
+        <el-button icon="el-icon-check" @click="determine" type="goon" size="mini">确定
+        </el-button>
+      </div>
+      <div style="padding: 10px 0">
+        <el-row>
+          <el-col :span="24">
+            <el-table v-loading="temperatureLoading3" ref="dataTable" border :height="heightTop" highlight-current-row
+              :data="dialog3.form.tableData" :header-cell-style="tableHeaderCellStyle" @row-click="temperatureRow"
+              :icore-filter-flag="icoreFilterFlag">
+              <el-table-column type="index" label="NO" align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="pointName" label="分析室"
+                align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="envDate" label="记录日期"
+                align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="tempNow" label="温度 ℃"
+                align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="moisNow" label="湿度 %"
+                align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="weather" label="天气情况"
+                align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="createMan" label="创建人"
+                align="center"></el-table-column>
+              <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="createTime" label="创建时间"
+                align="center"></el-table-column>
+            </el-table>
+            <div style="margin-top: 20px; margin-left: 10px">
+              <el-pagination style="float: right" @size-change="temperatureSizeTest"
+                @current-change="temperaturePageChangeTest" :current-page="temperaturelog.pageNum"
+                :page-sizes="[10, 20, 50, 100, 200]" :page-size="temperaturelog.pageSize"
+                layout="total, sizes, prev, pager, next" :total="temperaturelog.totalPage" background>
+              </el-pagination>
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-form ref="dialog_form" size="mini" label-width="100px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item prop="pointNo" label="化验室">
+              <el-select v-model="dialog3.form.data.pointNo" clearable filterable collapse-tags size="small"
+                style="width: 200px" placeholder="请选择查询内容">
+                <el-option v-for="item in pointType" :key="item.pointName" :label="item.pointName"
+                  :value="item.pointNo">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="记录日期">
+              <el-date-picker v-model="dialog3.form.data.envDate" type="date" placeholder="选择日期" size="small"
+                style="width: 100%"></el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="3" style="text-align: center">
+            <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini" @click="addData">新增</el-button>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item prop="pointNo" label="温度(℃)">
+              <el-input v-model="dialog3.form.data.tempNow" clearable style="width: 200px" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="湿度(%)">
+              <el-input v-model="dialog3.form.data.moisNow" clearable style="width: 200px" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="3" style="text-align: center">
+            <el-button icon="el-icon-edit" type="goon" size="mini" @click="modifyData">修改</el-button>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="16">
+            <el-form-item label="天气描述">
+              <el-input v-model="dialog3.form.data.weather" clearable style="width: 100%" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="3" style="text-align: center">
+            <el-button icon="el-icon-remove-outline" type="danger" size="mini" @click="deData">删除</el-button>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="goon" size="mini" @click="closeTemperature">取 消</el-button>
+        <!-- <el-button
+          type="goon"
+          size="mini"
+          :loading="addGlyLoading"
+          @click="addGlySure"
+          >保 存</el-button
+        > -->
+      </span>
+    </el-dialog>
+    <!-- 批量录入 -->
+    <el-dialog class="testManagement-pllr" :close-on-click-modal="false" @close="closebatch" width="100%"
+      :visible.sync="batchShow" top="0">
+      <div slot="title" class="titleBox">
+        <div>
+          <i class="el-icon-document" style="font-size: 20px"></i>
+          <span style="margin-left: 10px; font-size: 16px">批量录入</span>
+          <span style="font-size: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;标样选择&nbsp;&nbsp;
+          </span>
+          <el-date-picker v-model="itemSize" type="date" size="small" placeholder="根据日期选择标样数据" align="right"
+            style="width: 20%" value-format="yyyyMMdd">
+          </el-date-picker>
+          <span style="font-size: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设备选择&nbsp;&nbsp;</span>
+          <el-select v-model="equipment.nantNo" clearable multiple style="width: 18%; height: 28px" filterable
+            collapse-tags size="small">
+            <el-option v-for="(item, index) in matNameType" :key="index"
+              :label="item.eqpName + '(' + item.eqpUseNo + ')'" :value="item.eqpNo">
+            </el-option>
+          </el-select>
+          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+          <el-button type="goon" size="mini" :loading="temperatureLoading"
+            @click="temperatureSubmit()">选择湿温度</el-button>
+          <!-- <span style="font-size: 16px">&nbsp;&nbsp;&nbsp;&nbsp;
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;湿温度&nbsp;&nbsp;</span>
+          <el-input
+            v-model="equipment.itemTemp"
+            size="small"
+            placeholder="请输入湿温度"
+            style="height: 32px;width: 150px;"
+          ></el-input> -->
+        </div>
+      </div>
+      <el-table ref="tablePllr" border :height="theight4" highlight-current-row :data="tableData"
+        :header-cell-style="tableHeaderCellStyle" :cell-class-name="tableRowBatch" :summary-method="getSummaries2"
+        show-summary>
+        <el-table-column type="index" label="NO" fixed="left" align="center">
+          <template slot-scope="scope">
+            <span>{{ scope.$index }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column width="50px" fixed="left" label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button v-if="scope.$index > 0" type="text" style="padding: 0"
+              @click="delData(scope.row, scope.$index)">删除</el-button>
+          </template>
+        </el-table-column>
+        <template v-for="col in cols">
+          <el-table-column :prop="col.prop" :fixed="col.prop == 'sampleNo' ||
+            col.prop == 'matName' ||
+            col.prop == 'carNo'
+            " show-overflow-tooltip min-width="90" align="center" :key="col.prop" :label="col.label">
+            <template slot-scope="scope">
+              <span v-if="col.prop == 'matName'">{{
+                tableData[scope.$index].matName
+                }}</span>
+              <!--              <span style=display:none v-else-if="col.prop == 'testOrder'">{{tableData[scope.$index].testOrder}}</span>-->
+              <span v-else-if="col.prop == 'sampleNo'">{{
+                tableData[scope.$index].sampleNo
+                }}</span>
+              <span v-else-if="col.prop == 'carNo'">{{
+                tableData[scope.$index].carNo
+                }}</span>
+              <el-select v-else-if="
+                col.showInput == '0' &&
+                col.showDateTime === '0' &&
+                scope.$index > 0
+              " clearable allow-create v-model="scope.row[col.prop]" filterable size="small" style="width: 100%"
+                :class="{
+                  bgRed:
+                    resData[col.prop + '_' + scope.row.stId] &&
+                    resData[col.prop + '_' + scope.row.stId] === '0',
+                  bgOrange:
+                    resData[col.prop + '_' + scope.row.stId] &&
+                    resData[col.prop + '_' + scope.row.stId] === '1',
+                }">
+                <el-option v-for="(item, index) in col.defaultList" :key="index" :label="item" :value="item">
+                </el-option>
+              </el-select>
+              <el-input v-else-if="col.zwFlag == '0' && col.showDateTime === '0'"
+                @input="inputData($event, scope.$index, col.prop)"
+                @keydown.native="keyDown($event, scope.row, scope.$index)" :id="scope.column.id + '--' + scope.$index"
+                v-model="scope.row[col.prop]" size="small" style="width: 100%" :class="{
+                  bgRed:
+                    resData[col.prop + '_' + scope.row.stId] &&
+                    resData[col.prop + '_' + scope.row.stId] === '0',
+                  bgOrange:
+                    resData[col.prop + '_' + scope.row.stId] &&
+                    resData[col.prop + '_' + scope.row.stId] === '1',
+                }">
+              </el-input>
+              <el-date-picker v-model="scope.row[col.prop]" type="datetime" size="small" placeholder="选择日期时间"
+                @change="sign(scope.row[col.prop], scope.row, col.prop)"
+                v-else-if="col.showDateTime === '1' && scope.$index > 0" align="right" style="width: 100%">
+              </el-date-picker>
+              <el-input v-else @input="inputData($event, scope.$index, col.prop)"
+                @keydown.native="keyDown($event, scope.row, scope.$index)" :id="scope.column.id + '--' + scope.$index"
+                v-model="scope.row[col.prop]" size="small" style="width: 100%" :class="{
+                  bgRed:
+                    resData[col.prop + '_' + scope.row.stId] &&
+                    resData[col.prop + '_' + scope.row.stId] === '0',
+                  bgOrange:
+                    resData[col.prop + '_' + scope.row.stId] &&
+                    resData[col.prop + '_' + scope.row.stId] === '1',
+                }">
+              </el-input>
+            </template>
+          </el-table-column>
+        </template>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        (红色背景:当前值不符合最小值要求;橙色背景,当前值不符合最大值要求)
+        <!-- <el-button type="goon" size="mini" icon="el-icon-check" :loading='batchLoading' @click="submitBatch()">计算并提交</el-button> -->
+        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading"
+          @click="submitBatch()">提交</el-button>
+        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading" @click="jisuan()">计算</el-button>
+        <!-- <el-button type="goon" size="mini" icon="el-icon-check" :loading='batchLoading' @click="saveBatch()">确定</el-button> -->
+        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
+      </span>
+    </el-dialog>
+    <!-- 新增管理样 -->
+    <el-dialog :close-on-click-modal="false" width="80%" :visible.sync="dialog.show" @close="closeBly">
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left: 10px; font-size: 18px">新增管理样</span>
+      </div>
+      <div style="padding: 10px 0">
+        <el-form ref="dialog_form" :model="dialog.form.data" :rules="dialog.form.rules" size="mini" label-width="100px">
+          <el-row>
+            <el-col :span="24">
+              <el-table v-loading="glDialogLoading" ref="dataTable" border :height="heightTop" highlight-current-row
+                :data="dialog.form.tableData" :header-cell-style="tableHeaderCellStyle"
+                :icore-filter-flag="icoreFilterFlag">
+                <el-table-column type="index" label="NO" align="center"></el-table-column>
+                <el-table-column width="100px" show-overflow-tooltip label="操作" align="center">
+                  <template slot-scope="scope">
+                    <el-button type="text" style="padding: 0"
+                      @click="dialogDeleteData(scope.row, scope.$index)">删除</el-button>
+                  </template>
+                </el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="sampleNo" label="中心编号"
+                  align="center"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="matName" label="物料名称"
+                  align="center"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
+                  label="测试项目" align="center"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="receivedDate"
+                  label="收样日期" align="center"></el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
+                  label="管理样编号" align="center">
+                  <template slot-scope="scope">
+                    <el-input size="mini" v-model.trim="scope.row.glSampleNo"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
+                  label="管理样物料名称" align="center">
+                  <template slot-scope="scope">
+                    <el-input size="mini" required v-model.trim="scope.row.glMatName"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column min-width="120px" :show-overflow-tooltip="true" sortable prop="testItemName"
+                  label="新增管理样个数" align="center">
+                  <template slot-scope="scope">
+                    <el-input size="mini" v-model.trim="scope.row.glCount"></el-input>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <div style="margin-top: 20px; margin-left: 10px">
+                <el-pagination style="float: right" @size-change="glDialogSizeTest"
+                  @current-change="glDialogPageChangeTest" :current-page="glDialog.pageNum"
+                  :page-sizes="[10, 20, 50, 100, 200]" :page-size="glDialog.pageSize"
+                  layout="total, sizes, prev, pager, next" :total="glDialog.totalPage" background>
+                </el-pagination>
+              </div>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="goon" size="mini" @click="closeBly">取 消</el-button>
+        <el-button type="goon" size="mini" :loading="addGlyLoading" @click="addGlySure">保 存</el-button>
+      </span>
+    </el-dialog>
+    <!-- 新增标准点 -->
+    <el-dialog :close-on-click-modal="false" width="600px" :visible.sync="addByShow" @close="closeBly">
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left: 10px; font-size: 18px">新增标准点</span>
+      </div>
+      <div style="padding: 10px 0">
+        <el-form ref="dialog_form2" :model="dialog2.form.data" :rules="dialog2.form.rules" size="mini"
+          label-width="100px">
+          <el-row>
+            <el-col :span="24">
+              <el-form-item label="标准点数量" prop="sampleNum">
+                <el-input clearable style="width: 90%" :maxlength="3" oninput="value=value.replace(/[^1-9]/g,'')"
+                  v-model="dialog2.form.data.sampleNum"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="9" v-if="this.gangwei == 'P000084'">
+              <el-form-item label="元素" prop="yuansu">
+                <el-input clearable style="width: 90%" :maxlength="3" v-model="dialog2.form.data.yuansu"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="goon" size="mini" @click="closeBly">取 消</el-button>
+        <el-button type="goon" size="mini" @click="addBy2">保 存</el-button>
+      </span>
+    </el-dialog>
+    <!-- 分析项目删除撤回 -->
+    <el-dialog :close-on-click-modal="false" @close="closebatch" width="100%" :visible.sync="recallShow" top="0">
+      <div slot="title" class="titleBox">
+        <i class="el-icon-document" style="font-size: 20px"></i>
+        <span style="margin-left: 10px; font-size: 18px">分析项目撤回</span>
+      </div>
+      <div class="common-table-div">
+        <el-table v-loading="tableLoading5" border :height="theight3" @selection-change="selectMultiples"
+          highlight-current-row @row-click="clickRow" :data="tableData5" :icore-filter-flag="icoreFilterFlag"
+          :header-cell-style="tableHeaderCellStyle" @row-dblclick="showCell" :cell-class-name="fxTableRowClassName"
+          :row-class-name="tableRowName" :summary-method="getSummaries2" show-summary>
+          <el-table-column type="index" label="NO" align="center"></el-table-column>
+          <el-table-column type="selection" width="45" align="center"></el-table-column>
+          <!-- <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="testItemName" label="测试项目" ></el-table-column> -->
+          <el-table-column show-overflow-tooltip sortable min-width="180" align="center" prop="anlyItemName"
+            label="分析项目"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="anlyValue" label="报出值">
+          </el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="dasValue"
+            label="采集值"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="cptValue"
+            label="计算值"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseValue"
+            label="录入值"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="unitName"
+            label="单位"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="formulaName"
+            label="计算公式"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="reviseRuleName"
+            label="修约规则"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isReportName"
+            label="是否报出"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="100" align="center" prop="isAlarmName"
+            label="是否报警"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minSign"
+            label="最小符号"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minValue"
+            label="最小值"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxSign"
+            label="最大符号"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxValue"
+            label="最大值"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="maxLimit"
+            label="方法上限值"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="minLimit"
+            label="方法下限值"></el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading" @click="recall()">撤回</el-button>
+        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
+      </span>
+    </el-dialog>
+    <div is="alertComponents" :showFlag="showFlag" :Params="Params" @refresh="refresh"></div>
+    <div is="historyAlert" :showFlag="historyShowFlag" :Params="Params" @refresh="refresh"></div>
+    <div is="resurveyAlert" :showFlag="resetShowFlag" :Params="Params" :itemTypeCode="itemTypeCode" @refresh="refresh2">
+    </div>
+    <div is="dataCollectionAlert" :showFlag="dataCollectionFlag" :Params2="Params2" @refresh="refresh3"></div>
+  </div>
+</template>
+<script>
+import { getCookie, formatDate } from "@/utils/util.js";
+import { cookieUserId, cookieUserName } from "@/config/config.js";
+import alertComponents from "./alertComponents";
+import historyAlert from "./historyAlert";
+import resurveyAlert from "./resurveyAlert";
+import dataCollectionAlert from "./dataCollectionAlert";
+let userName = getCookie(cookieUserName);
+let userId = getCookie(cookieUserId);
+export default {
+  components: {
+    alertComponents,
+    historyAlert,
+    resurveyAlert,
+    dataCollectionAlert,
+  },
+  data() {
+    return {
+      fromDaiban: null,
+      temperatureShow: false,
+      temperatureLoading: false,
+      temperatureLoading3: false,
+      temperaturelog: {
+        pageSize: 50,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      form: {
+        times: [],
+        pointNo: "",
+      },
+      pointType: [],
+      temperatureRowData: {},
+      wetTemperature: "",
+
+      searchForm: {
+        times: "",
+        matName: "",
+        sampleNo: "",
+        sampleTypeCode: "",
+        eqpNo: "",
+      },
+      autoCollData: {
+        eqpTypeCode: "",
+        eqpNo: "",
+      },
+      gangwei: "",
+      showFlag: false,
+      historyShowFlag: false,
+      resetShowFlag: false,
+      deleteFlag: false,
+      dataCollectionFlag: false,
+      Params: {},
+      itemTypeCode: "",
+      Params2: [],
+      matNameType: [],
+      autoColl: {
+        eqpTypeCode: [
+          { required: true, message: "不能为空", trigger: "change" },
+        ],
+        eqpNo: [{ required: true, message: "不能为空", trigger: "change" }],
+      },
+      table: {
+        listTests: [],
+        collectionData: [],
+        selectCollectionData: [],
+        sampleData: [],
+      },
+      activeName: "first",
+      activeName2: "first2",
+      backLoading: false,
+      withdrawLoading: false,
+      batchDataLoading: false,
+      buttonLoading1: false,
+      buttonLoading2: false,
+      batchLoading: false,
+      addByLoading: false,
+      addKbLoading: false,
+      addGlyLoading: false,
+      testTable: [],
+      resData: {},
+      cols: [],
+      tableData: [],
+      resultData: [],
+      collectionLoading: false,
+      autoColletLoading: false,
+      clickColl: false,
+      batchShow: false,
+      itemSize: "", //区分标样数据
+      eqpType: [],
+      autoEqpType: [],
+      facilityType: [],
+      selectVal: [], // 已接任务 多选
+      selectVal4: [], // 已提交
+      selectVal42: [], // 无效数据多选
+      selectMul: [],
+      companyNameType: [],
+      userdeptNo: "",
+      usersectionNo: "",
+      userjobs: "",
+      selectRecall: [],
+      testShow: false,
+      checked: true,
+      interval: null,
+      saveValue: "",
+      saveMainData: [],
+      cllotData: [],
+      addRetestLoading: false,
+      dataLoading: false,
+      glDialogLoading: false,
+      sampleLoading: false,
+      saveLoading: false,
+      errorLoading: false,
+      submitLoading: false,
+      isAutoColl: false,
+      sampleTypeNameType: [],
+      analyzeVal: {},
+      analyzeValues: {},
+      formulacomLoading: false,
+      isOneHint: false,
+      theight1: 0,
+      theight2: 0,
+      theight3: 0,
+      theight4: 0,
+      testItemName2: "",
+      pageTests: {
+        pageSize: 50,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      glDialog: {
+        pageSize: 50,
+        pageNum: 1,
+        totalPage: 0,
+      },
+      equipment: {
+        nantNo: [],
+        itemTemp: "",
+      },
+      addByShow: false,
+      deleteLoading: false,
+      collectionShow: false,
+      recallShow: false,
+      addCollectionLoading: false,
+      tableLoading1: false,
+      tableLoading2: false,
+      tableLoading3: false,
+      tableLoading4: false,
+      tableLoading42: false,
+      tableLoading5: false,
+      saveFileRow: {},
+      fileList: [],
+      selectLine: {},
+      tabClickIndex: null,
+      func: "",
+      originalData: [],
+      tableData1: [],
+      tableData2: [],
+      tableData3: [],
+      tableData4: [],
+      tableData42: [],
+      tableData5: [],
+      pageIndex: 1,
+      pageSize: 100,
+      total_main: 0,
+      pageIndex_dep: 1,
+      pageSize_dep: 100,
+      total_dep: 0,
+      pageIndex4: 1,
+      pageSize4: 100,
+      pageIndex42: 1,
+      pageSize42: 100,
+      total4: 0,
+      total42: 0,
+      scale: "",
+      allFacility: [],
+      scaleId: null,
+      inputLoading: false,
+      values: "",
+      saveAnaly: {},
+      timeId: null,
+      icoreFilterFlag: true,
+      heightTop: 0,
+      activeMenu: "",
+      dialog: {
+        show: false,
+        form: {
+          data: {
+            sampleNo: "",
+            matName: "",
+          },
+          tableData: [],
+          rules: {
+            sampleNo: [
+              { required: true, message: "该项不能为空", trigger: "blur" },
+            ],
+            matName: [
+              { require: true, message: "物料名称不能为空!", trigger: "blur" },
+            ],
+          },
+        },
+      },
+      dialog2: {
+        show: false,
+        form: {
+          data: {
+            sampleNum: "6", // 标准点数量
+            yuansu: "",
+          },
+          rules: {
+            sampleNum: [
+              { required: true, message: "该项不能为空", trigger: "blur" },
+            ],
+          },
+        },
+      },
+      dialog3: {
+        show: false,
+        form: {
+          data: {
+            pointNo: "",
+            pointName: "",
+            envDate: "",
+            tempNow: "",
+            moisNow: "",
+            tempUnit: "",
+            moisUnit: "",
+            weather: "",
+          },
+          tableData: [],
+        },
+      },
+    };
+  },
+  created() {
+    this.theight1 =
+      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
+    this.theight2 =
+      window.innerHeight - 185 < 249 ? 249 : window.innerHeight - 230;
+    this.theight3 =
+      window.innerHeight - 230 < 249 ? 249 : window.innerHeight - 230;
+    this.theight4 =
+      window.innerHeight - 140 < 249 ? 249 : window.innerHeight - 140;
+    this.heightTop =
+      window.innerHeight / 2 - 130 < 249 ? 249 : window.innerHeight / 2 - 130;
+    // this.itemSize = new Date();
+
+    this.activeMenu = window.top.localStorage.getItem("activeMenu");
+
+    this.fromDaiban = JSON.parse(sessionStorage.getItem("fromDaiban"));
+    sessionStorage.removeItem("fromDaiban");
+
+    if (this.fromDaiban) {
+      this.searchForm.times = [
+        this.fromDaiban.startTime,
+        this.fromDaiban.endTime,
+      ];
+      this.activeName = this.fromDaiban.status == 0 ? "first" : "second";
+    } else {
+      this.searchForm.times = [
+        this.getYNM(new Date()) + " 00:00:00",
+        this.getYNM(new Date()) + " 23:59:59",
+      ];
+    }
+
+    this.axios
+      .post(
+        "pass/baseManagement/v1/sysorgs/querySysOrgCompanyAll",
+        {},
+        { individualType: "json" }
+      )
+      .then((response) => {
+        this.companyNameType = response.data;
+        this.getCompany();
+      });
+    this.searchForm.sampleNo = this.$route.query.Name;
+    this.searchData();
+  },
+  mounted() {
+    console.log('testManagement:',this.$route.query.type)
+    this.searchForm.type = this.$route.query.type  || '';
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        { validFlag: 1, baseCode: 4801 },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.sampleTypeNameType = res.data;
+      });
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode",
+        { validFlag: 1, baseCode: 4808 },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.facilityType = res.data;
+      });
+    this.axios
+      .get(
+        "pass/baseManagement/v1/limslrceqpinfos/like/" +
+        "?pageNum=1" +
+        "&pageSize=9999" +
+        "&eqpTypeName=" +
+        "" +
+        "&stateFlag=" +
+        ""
+      )
+      .then((res) => {
+        this.allFacility = res.data.list;
+      });
+    // 设备信息
+    this.axios
+      .post("pass/baseManagement/v1/limslrceqpinfos/queryAll", {
+        individualType: "json",
+      })
+      .then((res) => {
+        this.matNameType = res.data;
+      });
+    // 实验室
+    this.axios
+      .post(
+        "pass/baseManagement/v1/limsbasepoints/queryLimsBasePointPage",
+        { pageIndex: 1, pageSize: 9999, object: { validFlag: 1 } },
+        { individualType: "json" }
+      )
+      .then((res) => {
+        this.pointType = res.data.list;
+      });
+    this.searchData();
+  },
+  methods: {
+    addData() {
+      this.dialog3.form.data.pointName = this.getCode(
+        this.dialog3.form.data.pointNo,
+        this.pointType,
+        "pointNo",
+        "pointName"
+      );
+      if (this.dialog3.form.data.pointNo == "") {
+        this.$message.warning("请先选择化验室!");
+        return;
+      }
+      this.dialog3.form.data.envId = "";
+      this.dialog3.form.data.id = "";
+      this.axios
+        .post(
+          "pass/testManagement/v1/limsdataenvironments/insertUpdate",
+          this.dialog3.form.data,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.temperatureData();
+            this.closeData();
+            this.$message.success("添加成功!");
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.$message.error(err.message);
+        });
+    },
+    temperatureRow(row) {
+      this.temperatureRowData = row;
+      this.dialog3.form.data = row;
+    },
+    modifyData() {
+      this.axios
+        .post(
+          "pass/testManagement/v1/limsdataenvironments/insertUpdate",
+          this.dialog3.form.data,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.closeData();
+            this.$message.success("修改成功!");
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.$message.error(err.message);
+        });
+    },
+    deData() {
+      this.axios
+        .delete(
+          "pass/testManagement/v1/limsdataenvironments/" +
+          this.temperatureRowData.envId
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.temperatureData();
+            this.closeData();
+            this.$message.success("删除成功!");
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.$message.error(err.message);
+        });
+    },
+    closeData() {
+      this.dialog3.form.data = {
+        pointNo: "",
+        pointName: "",
+        envDate: "",
+        tempNow: "",
+        moisNow: "",
+        tempUnit: "",
+        moisUnit: "",
+        weather: "",
+      };
+    },
+    determine() {
+      if (this.temperatureRowData == {} || this.temperatureRowData == null) {
+        this.$message.warning("请选择湿温度!");
+        return;
+      }
+      this.equipment.itemTemp = this.temperatureRowData.envId;
+      this.temperatureShow = false;
+    },
+    temperatureSubmit() {
+      this.temperatureShow = true;
+    },
+    closeTemperature() {
+      this.closeData();
+      this.temperatureShow = false;
+    },
+    temperatureSizeTest(size) {
+      this.temperaturelog.pageSize = size;
+      this.temperatureData();
+    },
+    temperaturePageChangeTest(index) {
+      this.temperaturelog.pageNum = index;
+      this.temperatureData();
+    },
+    temperatureData() {
+      let obj = {
+        pageIndex: this.temperaturelog.pageNum,
+        pageSize: this.temperaturelog.pageSize,
+        // startTime:'',
+        // endTime:'',
+        mode: this.form.pointNo,
+      };
+      this.temperatureLoading = true;
+      this.temperatureLoading3 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limsdataenvironments/queryPageList",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.temperaturelog.totalPage = res.data.total;
+            this.dialog3.form.tableData = res.data.list;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.temperatureLoading = false;
+          this.temperatureLoading3 = false;
+        })
+        .catch((err) => {
+          this.temperatureLoading = false;
+          this.temperatureLoading3 = false;
+          this.$message.error(err.message);
+        });
+    },
+    getCode(code, arr, codeKey, nameKey) {
+      if (!code) {
+        return "";
+      }
+      let targetRow = arr.find((item) => {
+        return item[codeKey] === code;
+      });
+      return targetRow ? targetRow[nameKey] : "";
+    },
+    getYNM(date) {
+      let year = date.getFullYear().toString();
+      let month = date.getMonth() + 1;
+      let day = date.getDate();
+      month = month < 10 ? "0" + month : month;
+      day = day < 10 ? "0" + day : day;
+      return `${year}-${month}-${day}`;
+    },
+    refresh() {
+      this.searchAnalyze(this.analyzeVal, true);
+    },
+    refresh2() {
+      this.searchData();
+    },
+    refresh3() {
+      // console.log('批量采集执行完毕');
+    },
+    getSummaries2(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "总计";
+        }
+        if (index === 1) {
+          sums[index] = data.length;
+        } else if (column.property === "quantity") {
+          let val = 0;
+          for (let i in data) {
+            val = this.floatComputed(
+              data[i].quantity ? data[i].quantity : 0,
+              val,
+              "+"
+            );
+          }
+          sums[index] = val;
+        }
+      });
+      return sums;
+    },
+    calAge(e) {
+      if (e == null || e == {}) {
+        this.$message.warning("无参数传值!");
+        return;
+      }
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/updateLimsSampleTest",
+          e,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.$message.error(err.message);
+        });
+    },
+    //分析项目删除撤回
+    deleteRecall() {
+      if (this.selectLine.length < 1) {
+        this.$message.warning("请选择一条需要撤回的主数据!");
+        return;
+      }
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList2?stId=" +
+          this.selectLine.id
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData5 = res.data;
+            this.tableData5.forEach((item) => {
+              item.anlyValue = item.anlyValue
+                ? item.anlyValue
+                : item.defaultValue;
+              item.isReportName =
+                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
+              item.isAlarmName =
+                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
+            });
+            // console.log("查询撤回的数据", res.data)
+          } else {
+            this.$message.error(res.message);
+          }
+          this.recallShow = !this.recallShow;
+          this.tableLoading5 = false;
+        })
+        .catch((err) => {
+          this.tableLoading5 = false;
+          this.$message.error(err.message);
+        });
+    },
+    recall() {
+      if (this.selectRecall.length < 1) {
+        this.$message.warning("请勾选需要撤回的数据!");
+        return;
+      }
+      let tempIds = this.selectRecall.map((item) => item.stIdD);
+      this.deleteLoading = true;
+      let obj = {
+        id: tempIds,
+        validFlag: "1",
+      };
+      this.axios
+        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.deleteLoading = false;
+          this.recallShow = !this.recallShow;
+        })
+        .catch((e) => {
+          this.deleteLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    addAnaly() {
+      if (JSON.stringify(this.analyzeVal) == "{}") {
+        this.$message.warning("请选择一条需要新增的主数据!");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "选中的已接收数据为已提交的数据,不能进行新增!,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      this.showFlag = !this.showFlag;
+      this.Params = this.analyzeVal;
+    },
+    clickRow(val) {
+      this.saveAnaly = val;
+    },
+    //删除分析项目
+    deleteData() {
+      if (this.selectMul.length < 1) {
+        this.$message.warning("请勾选需要删除的数据!");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "选中的已接收数据为已提交的数据,不能进行删除!,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      let tempIds = this.selectMul.map((item) => item.stIdD);
+      this.deleteLoading = true;
+      let obj = {
+        id: tempIds,
+        validFlag: "0",
+      };
+      this.axios
+        .post("pass/testManagement/v1/limssampletestds/delete", obj, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.deleteLoading = false;
+        })
+        .catch((e) => {
+          this.deleteLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    selectAuto(val) {
+      this.autoEqpType = [];
+      this.scale = "";
+      this.autoCollData.eqpNo = "";
+      if (!val) {
+        return;
+      }
+      this.axios
+        .post(
+          "pass/baseManagement/v1/limslrceqpinfos/queryeqpName",
+          { eqpTypeCode: val },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          this.autoEqpType = res.data;
+        });
+    },
+    resetData() {
+      this.searchForm.matName = "";
+      this.searchForm.sampleTypeCode = "";
+      this.searchForm.eqpNo = "";
+      this.searchForm.times = [
+        this.getYNM(new Date()) + " 00:00:00",
+        this.getYNM(new Date()) + " 23:59:59",
+      ];
+      this.searchData();
+    },
+    SelectionValues(val) {
+      this.selectVal = val;
+    },
+    // 已提交、无效数据,多选
+    SelectionValues4(val) {
+      this.selectVal4 = val;
+    },
+    SelectionValues42(val) {
+      this.selectVal42 = val;
+    },
+    selectMultiples(val) {
+      this.selectMul = val;
+      this.selectRecall = val;
+    },
+    //点击选中样品信息数据
+    searchFollow(val) {
+      this.saveMainData = val;
+    },
+    //获取选中已接任务数据
+    handleCurrentChange(val) {
+      this.selectLine = val;
+    },
+    //异常申报
+    abnormal() {
+      if (this.selectMul.length < 1) {
+        this.$message.warning("请先勾选您要异常申报的数据");
+        return;
+      }
+      let obj = {
+        limsSampleTest: this.selectLine,
+        limsSampleTestDList: this.selectMul,
+        limsObjHeat: {
+          declareNo: userId,
+          declareName: userName,
+          objTypeName: "检验异常",
+          objTypeCode: "482603",
+          objFlag: "0",
+          validFlag: "1",
+          createMan: userName,
+          createNo: userId,
+        },
+      };
+      this.errorLoading = true;
+      this.$confirm("确认要申报" + this.selectMul.length + "条异常吗", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.axios
+            .post("pass/testManagement/v1/limsobjheats/toDeclare/", obj, {
+              individualType: "json",
+            })
+            .then((res) => {
+              if (res.code == 500) {
+                this.$message.error(res.message);
+                this.errorLoading = false;
+              } else {
+                this.$message.success(res.message);
+                this.errorLoading = false;
+              }
+            })
+            .catch((err) => {
+              this.errorLoading = false;
+              this.$message.error(err.message);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消",
+          });
+          this.errorLoading = false;
+        });
+    },
+    //撤回已提交数据
+    backWithdraw() {
+      if (this.selectVal4.length < 1) {
+        this.$message.warning("请先勾选您要撤回的数据");
+        return;
+      }
+      for (let item of this.selectVal4) {
+        if (item.validFlag == "0") {
+          this.$message.warning("请选择有效数据");
+          return;
+        }
+      }
+      let params = [];
+      this.selectVal4.forEach((item) => {
+        params.push({ stId: item.id });
+      });
+      this.withdrawLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limssampletests/backAuditData", params, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.withdrawLoading = false;
+        })
+        .catch((err) => {
+          this.withdrawLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    //接样
+    recSample() {
+      if (this.saveMainData.length < 1) {
+        this.$message.warning("请先勾选您要接样的数据");
+        return;
+      }
+      this.sampleLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/pickUpSample",
+          this.saveMainData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.sampleLoading = false;
+        })
+        .catch((err) => {
+          this.sampleLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 显示历史记录
+    showHistory(row) {
+      if (!row) {
+        return this.$message.warning("查询历史记录失败,参数错误!");
+      }
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssamplehistorys/queryHistoryTest",
+          row,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            //打开窗口
+            this.historyShowFlag = !this.historyShowFlag;
+            this.Params = Object.assign([{}], res.data);
+          } else {
+            this.$message.warning("查询历史记录失败!");
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    autoSubmit(val) {
+      if (!this.values) {
+        this.$message.warning("请先用扫码枪扫描标签");
+        return;
+      }
+      if (!this.timeId) {
+        this.timeId = setTimeout(() => {
+          this.inputLoading = true;
+          this.axios
+            .post(
+              "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
+              this.values,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.$message.success(res.message);
+                this.searchData();
+              } else {
+                this.$message.error(res.message);
+              }
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+            })
+            .catch((e) => {
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+            })
+            .catch((e) => {
+              this.$nextTick(() => {
+                this.$refs.autoInput.focus();
+              });
+              this.values = "";
+              this.inputLoading = false;
+              this.$message.error(e.message);
+            });
+          this.timeId = null;
+        }, 1000);
+      }
+    },
+    autoScale(val) {
+      if (!this.scale) {
+        this.$message.warning("请先用扫码枪扫描二维码");
+        return;
+      }
+      if (!this.scaleId) {
+        this.scaleId = setTimeout(() => {
+          this.autoCollData.eqpTypeCode = "";
+          this.autoEqpType = this.allFacility;
+          this.autoCollData.eqpNo = this.scale;
+          this.scaleId = null;
+        }, 1000);
+      }
+    },
+    //扫码接样
+    changeval() {
+      if (!this.values) {
+        this.$message.warning("请先用扫码枪扫描标签");
+        return;
+      }
+      this.inputLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/pickUpSampleScan?tkId=" +
+          this.values,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.values = "";
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.inputLoading = false;
+        })
+        .catch((e) => {
+          this.inputLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    stopall() {
+      if (this.interval != null) {
+        clearInterval(this.interval);
+      }
+      this.isAutoColl = false;
+      this.autoColletLoading = false;
+    },
+    changeIsOneHint(val) {
+      this.isOneHint = val;
+    },
+    realTimeCollect(val) {
+      if (val && this.tableData3.length <= 0) {
+        this.$message.warning("测试分析项目不能为空");
+        this.stopall();
+        this.isAutoColl = false;
+        return;
+      }
+      if (val && this.autoCollData.eqpNo && this.autoCollData.eqpTypeCode) {
+        this.startTime(this.tableData3.length, 1, 3000);
+      } else {
+        if (!(this.autoCollData.eqpNo && this.autoCollData.eqpTypeCode)) {
+          this.$message.warning("请选择【设备类型】【设备名称】,不能为空");
+        }
+        this.stopall();
+        this.isAutoColl = false;
+        return;
+      }
+    },
+    intervalCollectData() {
+      if (this.isAutoColl && this.autoCollData.eqpNo) {
+        if (this.autoCollData.eqpTypeCode) {
+          let params = {
+            eqpNo: this.autoCollData.eqpNo,
+            eqpTypeCode: this.autoCollData.eqpTypeCode,
+            stId: this.analyzeVal.stId,
+          };
+          this.axios
+            .post(
+              "pass/testManagement/v1/limssampletests/intervalCollectData",
+              params,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.searchAnalyze(this.analyzeVal, true);
+              } else {
+                this.isAutoColl = false;
+                this.$message.warning(res);
+                return;
+              }
+            })
+            .catch((e) => {
+              this.isAutoColl = false;
+              this.$message.error(e.message);
+              return;
+            });
+        } else {
+          this.isAutoColl = false;
+          return this.$message.warning("设备仪器类型发生更改,自动采集结束!");
+        }
+      } else {
+        this.isAutoColl = false;
+        return this.$message.warning("设备仪器发生更改,自动采集结束!");
+      }
+    },
+    startTime(tableLength, openOff, times) {
+      let that = this;
+      try {
+        let timesRun = 0;
+        this.interval = setInterval(function () {
+          timesRun += 1;
+          if (!openOff) {
+            this.isAutoColl = false;
+            clearInterval(this.interval);
+          }
+          if (!tableLength) {
+            this.isAutoColl = false;
+            clearInterval(this.interval);
+          }
+          if (timesRun > tableLength) {
+            this.isAutoColl = false;
+            clearInterval(this.interval);
+          }
+          that.autoCollet();
+        }, times);
+      } catch (e) {
+        clearInterval(this.interval);
+        this.isAutoColl = false;
+        return this.$message.warning("发生异常,自动采集中断!");
+      }
+    },
+    subData() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选您要提交的数据");
+        return;
+      }
+      for (let item of this.selectVal) {
+        if (item.stateFlag != 0) {
+          this.$message.warning("请选择状态为未处理的数据");
+          return;
+        }
+        if (item.validFlag == "0") {
+          this.$message.warning("请选择有效数据");
+          return;
+        }
+        this.$confirm("确认是否提交?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          if (this.isOneHint) {
+            this.subDataAndHintOne();
+          } else {
+            this.subData3();
+          }
+        });
+      }
+    },
+    // 提交, 批量、同步执行
+    async subData2() {
+      this.saveLoading = true;
+      this.submitLoading = true;
+      let cg = 0; // 成功
+      let sb = 0; // 失败
+      let qx = 0; // 取消
+      let sbwl = []; // 失败的物料
+      let ids = []; //需要提交的数据的id
+      for (let i = 0; i < this.selectVal.length; i++) {
+        let item = this.selectVal[i];
+        ids.push(item.stId);
+      }
+      try {
+        let tishi = [];
+        const cfs = await this.axios.post(
+          "pass/testManagement/v1/limssampletests/queryBySample_No",
+          ids,
+          { individualType: "json" }
+        );
+        if (cfs.code == 0 || cfs.code == 200) {
+          let b = true;
+          for (let i = 0; i < cfs.data.length; i++) {
+            if (cfs.data[i]) {
+              b = false;
+              tishi.push(this.selectVal[i].matName);
+            }
+          }
+          if (b) {
+            let b2 = true;
+            const res = await this.axios.post(
+              "pass/testManagement/v1/limssampletests/errorWarningRemind",
+              ids,
+              { individualType: "json" }
+            );
+            if (res.code == 0 || res.code == 200) {
+              for (let i = 0; i < ids.length; i++) {
+                if (res.data.get(i)) {
+                  b2 = false;
+                }
+              }
+              if (b2) {
+              }
+              if (res.data) {
+              } else {
+                const res4 = await this.axios.post(
+                  "pass/testManagement/v1/limssampletests/submit" + ids,
+                  { individualType: "json" }
+                );
+                if (res4.code == 0 || res4.code == 200) {
+                  cg++;
+                } else {
+                  sbwl.push(item.matName);
+                  sb++;
+                }
+              }
+            }
+          } else {
+            this.$confirm(
+              item.matName + "," + tishi + ",这条数据重复,是否重复提交?",
+              "提示",
+              {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }
+            )
+              .then()
+              .catch((err) => {
+                // 选择 取消
+                qx++;
+              });
+          }
+        }
+      } catch (err) {
+        sbwl.push(item.matName);
+        sb++;
+        // console.log('eeeeee');
+      }
+    },
+    async subData3() {
+      this.saveLoading = true;
+      this.submitLoading = true;
+      let cg = 0; // 成功
+      let sb = 0; // 失败
+      let qx = 0; // 取消
+      let sbwl = []; // 失败的物料centerPersonnelScheduling
+      for (let i = 0; i < this.selectVal.length; i++) {
+        let item = this.selectVal[i];
+        try {
+          const cfs = await this.axios.post(
+            "pass/testManagement/v1/limssampletests/queryBySample_No?stId=" +
+            item.stId,
+            { individualType: "json" }
+          );
+          if (cfs.code == 0 || cfs.code == 200) {
+            if (cfs.data) {
+              await this.$confirm(
+                item.matName +
+                "," +
+                item.testItemName +
+                ",这条数据重复,是否重复提交?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              )
+                .then(async () => {
+                  const res = await this.axios.post(
+                    "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
+                    item.stId,
+                    { individualType: "json" }
+                  );
+                  if (res.code == 0 || res.code == 200) {
+                    if (res.data) {
+                      if (res.data.code == 0) {
+                        let temp = res.data.object;
+                        const res2 = await this.axios.post(
+                          "pass/testManagement/v1/limssampletests/submit?stId=" +
+                          item.stId,
+                          { individualType: "json" }
+                        );
+                        if (res2.code == 0 || res2.code == 200) {
+                          cg++;
+                        } else {
+                          sbwl.push(res2.message);
+                          sb++;
+                        }
+                      } else {
+                        await this.$confirm(
+                          "第" +
+                          (i + 1) +
+                          "条数据, " +
+                          `${res.data.message},是否继续?`,
+                          "超差预警提醒",
+                          {
+                            confirmButtonText: "确定",
+                            cancelButtonText: "取消",
+                            type: "warning",
+                          }
+                        )
+                          .then(async () => {
+                            const res4 = await this.axios.post(
+                              "pass/testManagement/v1/limssampletests/submit?stId=" +
+                              item.stId,
+                              { individualType: "json" }
+                            );
+                            if (res4.code == 0 || res4.code == 200) {
+                              cg++;
+                            } else {
+                              sbwl.push(res4.message);
+                              sb++;
+                              this.$message.error(
+                                "第" +
+                                (i + 1) +
+                                "条数据提交失败:" +
+                                res4.message
+                              );
+                            }
+                          })
+                          .catch((err) => {
+                            // 选择 取消
+                            qx++;
+                          });
+                      }
+                    } else {
+                      const res4 = await this.axios.post(
+                        "pass/testManagement/v1/limssampletests/submit?stId=" +
+                        item.stId,
+                        { individualType: "json" }
+                      );
+                      if (res4.code == 0 || res4.code == 200) {
+                        cg++;
+                      } else {
+                        sbwl.push(res4.message);
+                        sb++;
+                        this.$message.error(
+                          "第" + (i + 1) + "条数据提交失败:" + res4.message
+                        );
+                      }
+                    }
+                  } else {
+                    sbwl.push(item.matName);
+                    sb++;
+                    this.$message.error(
+                      "第" + (i + 1) + "条数据提交失败:" + res.message
+                    );
+                  }
+                })
+                .catch((err) => {
+                  // 选择 取消
+                  qx++;
+                });
+            } else {
+              const res = await this.axios.post(
+                "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
+                item.stId,
+                { individualType: "json" }
+              );
+              // console.log('res.data=' + res.data + ",res.code=" + res.code);
+              if (res.code == 0 || res.code == 200) {
+                if (res.data) {
+                  if (res.data.code == 0) {
+                    let temp = res.data.object;
+                    const res2 = await this.axios.post(
+                      "pass/testManagement/v1/limssampletests/submit?stId=" +
+                      item.stId,
+                      { individualType: "json" }
+                    );
+                    if (res2.code == 0 || res2.code == 200) {
+                      cg++;
+                    } else {
+                      sbwl.push(res2.message);
+                      sb++;
+                    }
+                  } else {
+                    await this.$confirm(
+                      "第" +
+                      (i + 1) +
+                      "条数据, " +
+                      `${res.data.message},是否继续?`,
+                      "超差预警提醒",
+                      {
+                        confirmButtonText: "确定",
+                        cancelButtonText: "取消",
+                        type: "warning",
+                      }
+                    )
+                      .then(async () => {
+                        const res4 = await this.axios.post(
+                          "pass/testManagement/v1/limssampletests/submit?stId=" +
+                          item.stId,
+                          { individualType: "json" }
+                        );
+                        if (res4.code == 0 || res4.code == 200) {
+                          cg++;
+                        } else {
+                          sbwl.push(res4.message);
+                          sb++;
+                        }
+                      })
+                      .catch((err) => {
+                        // 选择 取消
+                        qx++;
+                      });
+                  }
+                } else {
+                  const res4 = await this.axios.post(
+                    "pass/testManagement/v1/limssampletests/submit?stId=" +
+                    item.stId,
+                    { individualType: "json" }
+                  );
+                  if (res4.code == 0 || res4.code == 200) {
+                    cg++;
+                  } else {
+                    sbwl.push(res4.message);
+                    sb++;
+                  }
+                }
+              } else {
+                sbwl.push(item.matName);
+                sb++;
+                //this.$message.error('第' + (i+1) + '条数据提交失败:' + res.message)
+              }
+            }
+          } else {
+            sbwl.push(item.matName);
+            sb++;
+          }
+        } catch (err) {
+          sbwl.push(item.matName);
+          sb++;
+        }
+      }
+      this.saveLoading = false;
+      this.submitLoading = false;
+      //console.log('cg', cg);
+      //console.log('sb', sb);
+      if (sb == 0 && qx == 0) {
+        this.$message.success("执行完毕,成功提交 " + cg + " 条数据");
+      } else {
+        this.$message.warning(
+          "执行完毕,成功提交 " +
+          cg +
+          " 条数据,失败 " +
+          sb +
+          " 条:[" +
+          sbwl +
+          "], 取消" +
+          qx +
+          " 条"
+        );
+      }
+      this.searchData();
+    },
+    // 在检验数据是否重复提交时只提醒一次
+    async subDataAndHintOne() {
+      this.saveLoading = true;
+      this.submitLoading = true;
+      let cg = 0; // 成功
+      let sb = 0; // 失败
+      let qx = 0; // 取消
+      let sbwl = []; // 失败的物料centerPersonnelScheduling
+      let stIds = [];
+      let needcheck = true; //记录是不是第一次提醒
+      for (let k = 0; k < this.selectVal.length; k++) {
+        stIds.push(this.selectVal[k].stId);
+      }
+      let param = { needcheck: needcheck, stIds: stIds };
+      for (let i = 0; i < this.selectVal.length; i++) {
+        let item = this.selectVal[i];
+        try {
+          // console.log(i + ":" + param.needcheck);
+          const cfs = await this.axios.post(
+            "pass/testManagement/v1/limssampletests/queryRepetable",
+            param,
+            { individualType: "json" }
+          );
+          if (cfs.code == 0 || cfs.code == 200) {
+            param.needcheck = false; //false 表示待提交的样全部已经进行了查重,不需要再次查重
+            var hintInfo = cfs.message;
+            var msgArr = hintInfo.split("&");
+            if (cfs.data) {
+              let flag = await this.$confirm(msgArr[0], "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              })
+                .then(() => { })
+                .catch((err) => {
+                  qx++;
+                  return "cancel";
+                });
+              if (flag !== "cancel") {
+                const res = await this.axios.post(
+                  "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
+                  item.stId,
+                  { individualType: "json" }
+                );
+                if (res.code == 0 || res.code == 200) {
+                  if (res.data) {
+                    if (res.data.code == 0) {
+                      let temp = res.data.object;
+                      const res2 = await this.axios.post(
+                        "pass/testManagement/v1/limssampletests/submit?stId=",
+                        item.stId,
+                        { individualType: "json" }
+                      );
+                      if (res2.code == 0 || res2.code == 200) {
+                        cg++;
+                      } else {
+                        sbwl.push(res2.message);
+                        sb++;
+                      }
+                    } else {
+                      await this.$confirm(
+                        "第" +
+                        (i + 1) +
+                        "条数据, " +
+                        `${res.data.message},是否继续?`,
+                        "超差预警提醒",
+                        {
+                          confirmButtonText: "确定",
+                          cancelButtonText: "取消",
+                          type: "warning",
+                        }
+                      )
+                        .then(async () => {
+                          const res4 = await this.axios.post(
+                            "pass/testManagement/v1/limssampletests/submit?stId=" +
+                            item.stId,
+                            { individualType: "json" }
+                          );
+                          if (res4.code == 0 || res4.code == 200) {
+                            cg++;
+                          } else {
+                            sbwl.push(res4.message);
+                            sb++;
+                          }
+                        })
+                        .catch((err) => {
+                          // 选择 取消
+                          qx++;
+                        });
+                    }
+                  } else {
+                    const res4 = await this.axios.post(
+                      "pass/testManagement/v1/limssampletests/submit?stId=" +
+                      item.stId,
+                      { individualType: "json" }
+                    );
+                    if (res4.code == 0 || res4.code == 200) {
+                      cg++;
+                    } else {
+                      sbwl.push(res4.message);
+                      sb++;
+                    }
+                  }
+                } else {
+                  sbwl.push(item.matName);
+                  sb++;
+                  this.$message.error(
+                    "第" + (i + 1) + "条数据提交失败:" + res.message
+                  );
+                }
+              } else {
+                break;
+              }
+            } else {
+              const res = await this.axios.post(
+                "pass/testManagement/v1/limssampletests/errorWarningRemind?stId=" +
+                item.stId,
+                { individualType: "json" }
+              );
+              // console.log('res.data=' + res.data + ",res.code=" + res.code);
+              if (res.code == 0 || res.code == 200) {
+                if (res.data) {
+                  if (res.data.code == 0) {
+                    let temp = res.data.object;
+                    const res2 = await this.axios.post(
+                      "pass/testManagement/v1/limssampletests/submit?stId=" +
+                      item.stId,
+                      { individualType: "json" }
+                    );
+                    if (res2.code == 0 || res2.code == 200) {
+                      cg++;
+                    } else {
+                      sbwl.push(res2.message);
+                      sb++;
+                    }
+                  } else {
+                    await this.$confirm(
+                      "第" +
+                      (i + 1) +
+                      "条数据, " +
+                      `${res.data.message},是否继续?`,
+                      "超差预警提醒",
+                      {
+                        confirmButtonText: "确定",
+                        cancelButtonText: "取消",
+                        type: "warning",
+                      }
+                    )
+                      .then(async () => {
+                        const res4 = await this.axios.post(
+                          "pass/testManagement/v1/limssampletests/submit?stId=" +
+                          item.stId,
+                          { individualType: "json" }
+                        );
+                        if (res4.code == 0 || res4.code == 200) {
+                          cg++;
+                        } else {
+                          sbwl.push(res4.message);
+                          sb++;
+                        }
+                      })
+                      .catch((err) => {
+                        // 选择 取消
+                        qx++;
+                      });
+                  }
+                } else {
+                  const res4 = await this.axios.post(
+                    "pass/testManagement/v1/limssampletests/submit?stId=" +
+                    item.stId,
+                    { individualType: "json" }
+                  );
+                  if (res4.code == 0 || res4.code == 200) {
+                    cg++;
+                  } else {
+                    sbwl.push(res4.message);
+                    sb++;
+                  }
+                }
+              } else {
+                sbwl.push(item.matName);
+                sb++;
+                //this.$message.error('第' + (i+1) + '条数据提交失败:' + res.message)
+              }
+            }
+          } else {
+            sbwl.push(item.matName);
+            sb++;
+          }
+        } catch (err) {
+          sbwl.push(item.matName);
+          sb++;
+          // console.log('eeeeee');
+        }
+      }
+      this.saveLoading = false;
+      this.submitLoading = false;
+      //console.log('cg', cg);
+      //console.log('sb', sb);
+      if (sb == 0 && qx == 0) {
+        this.$message.success("执行完毕,成功提交 " + cg + " 条数据");
+      } else {
+        // this.$message.warning('执行完毕,成功提交 ' + cg + ' 条数据,失败 ' + sb + ' 条:['+sbwl+'], 取消' + qx + ' 条');
+        this.$message.warning(
+          "执行完毕,成功提交 " +
+          cg +
+          " 条数据,失败 " +
+          sb +
+          " 条:[" +
+          sbwl +
+          "], 取消" +
+          msgArr[1] +
+          " 条"
+        );
+      }
+      this.searchData();
+    },
+    retest2(itemTypeCode) {
+      if (this.selectVal4.length === 0) {
+        this.$message.warning("请至少勾选1条需要增加任务的数据!");
+        return;
+      }
+      let count = 14;
+      if (this.selectVal4.length > count) {
+        return this.$message.warning(
+          "单次添加的任务数量不能超过" + (count + 1) + "条"
+        );
+      }
+      for (let i = 0; i < this.selectVal4.length; i++) {
+        if (this.selectVal4[i].validFlag === 0) {
+          return this.$message.warning(
+            "已停用的数据无法增加任务,请重新查询之后重新操作!"
+          );
+        }
+      }
+      this.resetShowFlag = !this.resetShowFlag;
+      this.Params = Object.assign([], this.selectVal4);
+      this.itemTypeCode = itemTypeCode;
+    },
+    // 增加任务
+    retest(itemTypeCode) {
+      if (itemTypeCode === "480405") {
+        // 增加标样任务
+        if (this.selectVal.length !== 1) {
+          this.$message.warning("只能勾选1条需要增加标样的数据!");
+          return;
+        }
+        if (this.selectVal[0].stateFlag === 3) {
+          return this.$message.warning(
+            "已提交的数据无法增加任务,请重新查询之后重新操作!"
+          );
+        }
+        if (this.selectVal[0].validFlag === 0) {
+          return this.$message.warning(
+            "已停用的数据无法增加任务,请重新查询之后重新操作!"
+          );
+        }
+      } else if (itemTypeCode === "480403") {
+        // 增加检验任务
+        if (this.selectVal.length === 0) {
+          this.$message.warning("请至少勾选1条需要增加任务的数据!");
+          return;
+        }
+        let count = 14;
+        if (this.selectVal.length > count) {
+          return this.$message.warning(
+            "单次添加的任务数量不能超过" + (count + 1) + "条"
+          );
+        }
+        for (let i = 0; i < this.selectVal.length; i++) {
+          if (this.selectVal[i].validFlag === 0) {
+            return this.$message.warning(
+              "已停用的数据无法增加任务,请重新查询之后重新操作!"
+            );
+          }
+          // if (this.selectVal[i].stateFlag === 3) {
+          //   return this.$message.warning('已提交的数据无法增加任务,请重新查询之后重新操作!')
+          // }
+        }
+      }
+      this.resetShowFlag = !this.resetShowFlag;
+      this.Params = Object.assign([], this.selectVal);
+      this.itemTypeCode = itemTypeCode;
+    },
+    //自动采集数据
+    autoCollet() {
+      if (JSON.stringify(this.analyzeVal) === "{}") {
+        this.isAutoColl = false;
+        clearInterval(this.interval);
+        this.$message.warning(
+          "请先点击选中一条需要自动采集的已接收表格中的数据!"
+        );
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.isAutoColl = false;
+        clearInterval(this.interval);
+        this.$message.warning(
+          "已提交的数据不能进行自动采集,请选择状态为未处理的数据!"
+        );
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 4) {
+        this.isAutoColl = false;
+        clearInterval(this.interval);
+        this.$message.warning(
+          "已经二审的数据不能进行自动采集,请选择状态为未处理的数据!"
+        );
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 5) {
+        this.isAutoColl = false;
+        clearInterval(this.interval);
+        this.$message.warning(
+          "已三审的数据不能进行自动采集,请选择状态为未处理的数据!"
+        );
+        return;
+      }
+      this.$refs.autoCollData.validate((valid) => {
+        if (valid) {
+          let obj = {
+            eqpNo: this.autoCollData.eqpNo,
+            stId: this.analyzeVal.stId,
+          };
+          this.autoColletLoading = true;
+          this.axios
+            .post(
+              "pass/testManagement/v1/limssampletests/voluntarilygather",
+              obj,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.$message.success(res.message);
+                this.searchAnalyze2(this.analyzeVal);
+              } else {
+                this.$message.error(res.message);
+              }
+              this.autoColletLoading = false;
+            })
+            .catch((err) => {
+              // console.log("异常")
+              this.autoColletLoading = false;
+              this.$message.error(err.message);
+            });
+        } else {
+          this.isAutoColl = false;
+          clearInterval(this.interval);
+          return this.$message.warning("设备选择异常,采集中断!");
+        }
+      });
+    },
+    // 批量采集弹窗
+    collectData() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选测试项目的数据");
+        return;
+      }
+      for (let item of this.selectVal) {
+        if (item.stateFlag != 0) {
+          this.$message.warning("请选择状态为未处理的数据");
+          return;
+        }
+        if (item.validFlag == "0") {
+          this.$message.warning("请勾选有效数据");
+          return;
+        }
+      }
+      this.dataCollectionFlag = !this.dataCollectionFlag;
+      this.Params2 = this.selectVal;
+    },
+    // 撤销采集数据
+    backCollect() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选数据");
+        return;
+      }
+      for (let item of this.selectVal) {
+        if (item.stateFlag != 0) {
+          this.$message.warning("请选择状态为未处理的数据");
+          return;
+        }
+        if (item.validFlag == "0") {
+          this.$message.warning("请选择有效数据");
+          return;
+        }
+      }
+      this.backLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/backCollect",
+          this.selectVal,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.succeed) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.backLoading = false;
+        })
+        .catch((e) => {
+          this.backLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    //计算
+    formulacom() {
+      if (this.tableData3.length < 1) {
+        this.$message.warning("表格中无数据,无法进行计算");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "已提交的数据不能进行计算,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      if (this.analyzeVal.validFlag == "0") {
+        this.$message.warning("停用的数据不能进行计算");
+        return;
+      }
+      this.formulacomLoading = true;
+      this.tableData3.forEach((item) => {
+        if (item.dataTypeCode === "482504" && item.reviseValue) {
+          item.reviseValue = formatDate(
+            item.reviseValue,
+            "yyyy-MM-dd HH:mm:ss"
+          );
+        }
+      });
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/formulacom",
+          this.tableData3,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+          } else {
+            this.$message.error(res.message);
+          }
+          this.formulacomLoading = false;
+        })
+        .catch((err) => {
+          this.formulacomLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 移除文件
+    handleRemove(file, fileList) {
+      const data = this.axios.delete(`/icore.icp.web${file.url}`);
+      if (data.data) {
+        if (data.data.size - 0 > 0) {
+          return this.$message.success("文件删除成功");
+        } else {
+          this.$message.error("文件删除失败,请重试");
+        }
+      }
+    },
+    // 处理文件个数超出限制
+    handleExceed(files, fileList) {
+      if (files.length + fileList.length > 5) {
+        return this.$message.warning(
+          `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
+          } 个文件`
+        );
+      }
+    },
+    httpRequest(e) {
+      if (!e.file) {
+        return false;
+      }
+      let file = new FormData();
+      file.append("file", e.file);
+      let config = {
+        headers: {
+          "Content-Type": "multipart/form-data",
+        },
+      };
+      this.axios
+        .post("pass/baseManagement/v1/file/upload", file, config)
+        .then((res) => {
+          if (res.code === "0" || res.code === "200") {
+            if (
+              this.saveFileRow.archiveId &&
+              this.saveFileRow.archiveId.length > 0 &&
+              this.saveFileRow.archiveId.match("oss-volume-")
+            ) {
+              this.saveFileRow.archiveId =
+                this.saveFileRow.archiveId + "#" + res.data[0].fileName;
+            } else {
+              this.saveFileRow.archiveId = res.data[0].fileName;
+            }
+            this.saveData();
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    //批量录入
+    batchData() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选测试项目的数据");
+        return;
+      }
+      let temp = [];
+      this.selectVal.map((item) => {
+        temp.push(item.stId);
+      });
+      this.batchDataLoading = true;
+      this.axios
+        .post("pass/testManagement/v1/limssampletestds/transitionData", temp, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            if (res.data.badyData.length > 0) {
+              // 增加第一行用于批量修改
+              let obj = Object.assign({}, res.data.badyData[0]);
+              for (let key in obj) {
+                obj[key] = "";
+              }
+              let arr = res.data.badyData;
+              arr.splice(0, 0, obj);
+              this.cols = res.data.head;
+              this.tableData = arr;
+              this.testTable = res.data.headBabyData;
+              this.resData = res.data.sampleTestDFlags;
+            }
+            this.batchShow = true;
+            this.$nextTick(() => {
+              this.$refs["tablePllr"].bodyWrapper.scrollTop = 0;
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchDataLoading = false;
+        })
+        .catch((e) => {
+          this.batchDataLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    jisuan() {
+      let temp = [];
+      this.resultData = [];
+      // 第一行不提交
+      let arr = this.tableData.slice(0);
+      arr.splice(0, 1);
+      arr.forEach((item, index) => {
+        let obj = Object.assign(item);
+        delete obj.index;
+        //将对象转化成数组、循环获取到index
+        let tempArr = Object.keys(obj);
+        tempArr.forEach((items, indexs) => {
+          this.resultData.push({
+            anlyValue: obj[items],
+            stIdD: this.testTable[index][items],
+          });
+        });
+      });
+      this.keepEquipment();
+      let tempData = [];
+      this.selectVal.map((item) => {
+        tempData.push(item.stId);
+      });
+      this.batchLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
+          this.resultData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.axios
+              .post(
+                "pass/testManagement/v1/limssampletests/batchInputFormulacom?itemSize=" +
+                this.itemSize,
+                tempData,
+                { individualType: "json" }
+              )
+              .then((res) => {
+                if (res.code == 0 || res.code == 200) {
+                  this.axios
+                    .post(
+                      "pass/testManagement/v1/limssampletestds/transitionData",
+                      tempData,
+                      { individualType: "json" }
+                    )
+                    .then((res) => {
+                      if (res.data.badyData.length > 0) {
+                        // 增加第一行用于批量修改
+                        let obj = Object.assign({}, res.data.badyData[0]);
+                        for (let key in obj) {
+                          obj[key] = "";
+                        }
+                        let arr = res.data.badyData;
+                        arr.splice(0, 0, obj);
+                        this.cols = res.data.head;
+                        this.tableData = arr;
+                        this.testTable = res.data.headBabyData;
+                        this.resData = res.data.sampleTestDFlags;
+                        if (this.analyzeVal && this.analyzeVal.id) {
+                          this.searchAnalyze(this.analyzeVal, true);
+                        }
+                      }
+                    })
+                    .catch((e) => {
+                      this.$message.error(e.message);
+                    });
+                } else {
+                  this.$message.error(res.message);
+                }
+              })
+              .catch((err) => {
+                this.$message.error(err.message);
+              });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchLoading = false;
+        })
+        .catch((err) => {
+          this.batchLoading = false;
+          this.$message.error(err.message);
+        });
+    }, //保存设备
+    keepEquipment() {
+      let ids = []; //需要保存的数据的id
+      for (let i = 0; i < this.selectVal.length; i++) {
+        let item = this.selectVal[i];
+        ids.push(item.stId);
+      }
+      //获取仪器名称集合
+      let strr = [];
+      this.equipment.nantNo.forEach((a) => {
+        this.matNameType.forEach((a1) => {
+          if (a == a1.eqpNo) {
+            strr.push(a1.eqpName + "(" + a1.eqpUseNo + ")");
+          }
+        });
+      });
+      let map = {
+        stId: ids,
+        itemTemp: this.equipment.itemTemp,
+        nantNo: strr,
+      };
+      this.axios
+        .post("pass/testManagement/v1/limssampletests/keepEquipment", map, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.$message.error(err.message);
+        });
+    },
+    imgPreView(row, fileName) {
+      this.axios
+        .get(
+          "pass/baseManagement/v1/file/download/" + fileName,
+          { responseType: "blob" },
+          { headers: { "content-type": "application/x-www-form-urlencoded" } }
+        )
+        .then((res) => {
+          let blob = new Blob([res]);
+          let elink = document.createElement("a");
+          elink.download = fileName;
+          elink.style.display = "none";
+          elink.target = "_blank";
+          elink.href = URL.createObjectURL(blob);
+          document.body.appendChild(elink);
+          elink.click();
+          URL.revokeObjectURL(elink.href); // 释放URL对象
+          document.body.removeChild(elink);
+        })
+        .catch((e) => {
+          return this.$message.error(e.message);
+        });
+    },
+    saveUpload(row) {
+      this.saveFileRow = row;
+    },
+    // 计算并提交
+    submitBatch() {
+      this.batchShow = false;
+      let temp = [];
+      this.resultData = [];
+      // 第一行不提交
+      let arr = this.tableData.slice(0);
+      arr.splice(0, 1);
+      arr.forEach((item, index) => {
+        let obj = Object.assign(item);
+        delete obj.index;
+        //将对象转化成数组、循环获取到index
+        let tempArr = Object.keys(obj);
+        tempArr.forEach((items, indexs) => {
+          // console.log('名字'+items +'数值'+ obj[items]+'数组的id'+this.testTable[index][items]);
+          this.resultData.push({
+            anlyValue: obj[items],
+            stIdD: this.testTable[index][items],
+          });
+        });
+      });
+      this.keepEquipment();
+      let tempData = [];
+      this.selectVal.map((item) => {
+        tempData.push(item.stId);
+      });
+      this.batchLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
+          this.resultData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            if (this.isOneHint) {
+              this.subDataAndHintOne();
+            } else {
+              this.subData3();
+            }
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchLoading = false;
+        })
+        .catch((err) => {
+          this.batchLoading = false;
+          this.$message.error(err.message);
+        });
+      // let temp = []
+      // this.resultData = []
+      // // 第一行不提交
+      // let arr = this.tableData.slice(0);
+      // arr.splice(0,1);
+      // arr.forEach((item,index) =>{
+      //   let obj = Object.assign(item)
+      //   delete obj.index
+      //   //将对象转化成数组、循环获取到index
+      //   let tempArr = Object.keys(obj)
+      //   tempArr.forEach((items,indexs) =>{
+      //     // console.log('名字'+items +'数值'+ obj[items]+'数组的id'+this.testTable[index][items]);
+      //     this.resultData.push({anlyValue:obj[items],stIdD:this.testTable[index][items]})
+
+      //   })
+      // })
+      // let tempData = []
+      // this.selectVal.map(item =>{
+      //   tempData.push(item.stId)
+      // })
+      // this.batchLoading = true
+      // this.axios.post('pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList',this.resultData,{individualType: 'json'}).then(res =>{
+      //   if (res.code == 0 || res.code == 200) {
+      //     this.axios.post('pass/testManagement/v1/limssampletests/formulacomByStIds',tempData,{individualType: 'json'}).then(res =>{
+      //       if (res.code == 0 || res.code == 200) {
+      //         this.piliangtijiao = tempData;
+      //         console.log(this.piliangtijiao)
+      //         this.subData30()
+      //         // for(let i=0;i<tempData.length;i++){
+      //           // this.axios.post('pass/testManagement/v1/limssampletests/submit?stId=' + tempData[i],{individualType: 'json'}).then(res => {
+      //           //   if(res.code== 0 || res.code == 200) {
+      //           //     this.$message.success(res.message);
+      //           //   } else {
+      //           //     this.$message.error(res.message)
+      //           //   }
+      //           //   if(i == tempData.length-1){
+      //           //     setTimeout(() => {
+      //           //       this.searchData();
+      //           //     }, 500);
+      //           //   }
+      //           // }).catch(e => {
+      //           //   this.$message.error(e.message)
+      //           // })
+      //         // }
+      //       }else{
+      //         this.$message.error(res.message)
+      //       }
+      //     }).catch(err =>{
+      //       this.$message.error(err.message)
+      //     })
+      //     this.closebatch()
+      //   }else{
+      //     this.$message.error(res.message)
+      //   }
+      //   this.batchLoading = false
+      // }).catch(err =>{
+      //   this.batchLoading = false
+      //   this.$message.error(err.message)
+      // })
+    },
+    //保存批量数据
+    saveBatch() {
+      let temp = [];
+      this.resultData = [];
+      // 第一行不提交
+      let arr = this.tableData.slice(0);
+      arr.splice(0, 1);
+      arr.forEach((item, index) => {
+        let obj = Object.assign(item);
+        delete obj.index;
+        //将对象转化成数组、循环获取到index
+        let tempArr = Object.keys(obj);
+        tempArr.forEach((items, indexs) => {
+          // console.log('名字'+items +'数值'+ obj[items]+'数组的id'+this.testTable[index][items]);
+          this.resultData.push({
+            anlyValue: obj[items],
+            stIdD: this.testTable[index][items],
+          });
+        });
+      });
+      let tempData = [];
+      this.selectVal.map((item) => {
+        tempData.push(item.stId);
+      });
+      this.batchLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
+          this.resultData,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.axios
+              .post(
+                "pass/testManagement/v1/limssampletests/formulacomByStIds",
+                tempData,
+                { individualType: "json" }
+              )
+              .then((res) => {
+                if (res.code == 0 || res.code == 200) {
+                  this.$message.success(res.message);
+                } else {
+                  this.$message.error(res.message);
+                }
+              })
+              .catch((err) => {
+                this.$message.error(err.message);
+              });
+            this.searchData();
+            this.closebatch();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.batchLoading = false;
+        })
+        .catch((err) => {
+          this.batchLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    getCompany() {
+      this.axios
+        .get("pass/baseManagement/v1/limslrcemps/" + userId)
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.userdeptNo = res.data ? res.data.deptNo : "";
+            this.usersectionNo = res.data ? res.data.sectionNo : "";
+            this.userjobs = res.data ? res.data.postNo : "";
+          } else {
+            this.$message.error(e.message);
+          }
+        })
+        .catch((e) => {
+          this.$message.error(e.message);
+        });
+    },
+    closebatch() {
+      this.batchShow = false;
+      this.batchLoading = false;
+      this.recallShow = false;
+      this.cols = [];
+      this.tableData = [];
+      this.testTable = [];
+    },
+    closeBly() {
+      this.dialog.show = false;
+      this.addByShow = false;
+      this.dialog.form.data.sampleNo = "";
+      this.dialog.form.tableData = [];
+    },
+    inputData(val, index, prop) {
+      let that = this;
+      // 修改第一行数据,联动修改同列其他行数据
+      if (index == 0 && that.tableData.length > 1) {
+        for (let i = 1; i < that.tableData.length; i++) {
+          that.tableData[i][prop] = val;
+        }
+      }
+    },
+    sign(val, row, prop) {
+      if (val) {
+        row[prop] = formatDate(val, "yyyy-MM-dd HH:mm:ss");
+      }
+    },
+    //保存
+    saveData() {
+      if (this.tableData3.length < 1) {
+        this.$message.warning("表格中无数据,无法进行保存");
+        return;
+      }
+      if (this.analyzeVal.stateFlag == 3) {
+        this.$message.warning(
+          "已提交的数据不能进行保存,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      if (this.analyzeVal.validFlag == "0") {
+        this.$message.warning("停用的数据不能进行保存");
+        return;
+      }
+      this.saveLoading = true;
+      this.tableData3.forEach((item) => {
+        if (item.dataTypeCode === "482504" && item.reviseValue) {
+          item.reviseValue = formatDate(
+            item.reviseValue,
+            "yyyy-MM-dd HH:mm:ss"
+          );
+        }
+      });
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/testAnalysisUpdateLimsSampleTestDList",
+          this.tableData3,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchAnalyze(this.analyzeVal, true);
+            // this.searchData()
+          } else {
+            this.$message.error(res.message);
+          }
+          this.saveLoading = false;
+        })
+        .catch((err) => {
+          this.saveLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    //查询操作
+    searchData() {
+      this.pageIndex = 1;
+      this.pageSize = 100;
+      this.pageSize_dep = 100;
+      this.pageIndex_dep = 1;
+      this.DataMain(); // 待接任务
+      this.DataDep(); // 已接任务
+      this.Data4(); // 已提交、无效数据
+      this.Data5(); // 无效数据
+    },
+    // 测试管理-待接任务
+    DataMain() {
+      // this.saveMainData = {}
+      let startTime = "";
+      let endTime = "";
+      if (!this.searchForm.times) {
+        // startTime = null
+        // endTime = null
+      } else {
+        // startTime = this.searchForm.times[0] + ' 00:00:00'
+        // endTime = this.searchForm.times[1] + ' 23:59:59'
+        startTime = this.searchForm.times[0];
+        endTime = this.searchForm.times[1];
+      }
+      // 中心分析室查询待接任务不用时间参数
+      if (this.userdeptNo != null && this.userdeptNo === "P31301100") {
+        startTime = "";
+        endTime = "";
+      }
+      let obj = {
+        object: {
+          sampleTypeCode: this.searchForm.sampleTypeCode,
+          // 'isCtrl':0,
+          functionCode: "484003",
+          stateFlag: 1,
+          optNo: userId,
+        },
+        mode3: this.searchForm.matName, // 样品名称
+        pageSize: this.pageSize,
+        pageIndex: this.pageIndex,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.searchForm.type,
+      };
+      this.tableLoading1 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limstasktests/queryLimsTaskTestPage2",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData1 = res.data.list;
+            this.total_main = res.data.total;
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading1 = false;
+        })
+        .catch((err) => {
+          this.tableLoading1 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 已接任务
+    DataDep() {
+      this.tableData3 = [];
+      let startTime = "";
+      let endTime = "";
+      this.analyzeVal = {};
+      if (!this.searchForm.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        // startTime = this.searchForm.times[0] + ' 00:00:00'
+        // endTime = this.searchForm.times[1] + ' 23:59:59'
+        startTime = this.searchForm.times[0];
+        endTime = this.searchForm.times[1];
+      }
+      let obj = {
+        object: {
+          matName: this.searchForm.matName,
+          sampleTypeCode: this.searchForm.sampleTypeCode,
+          validFlag: "1",
+          sampleNo: this.searchForm.sampleNo,
+          createNo: userId,
+        },
+        list: [0], // 已接任务、未处理状态
+        list2: [484003], // 测试分析模块
+        pageSize: this.pageSize_dep,
+        pageIndex: this.pageIndex_dep,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.searchForm.type,
+      };
+      this.tableLoading2 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage1",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData2 = res.data.list;
+            this.total_dep = res.data.total;
+            this.tableData2.forEach((item) => {
+              item.stateFlagName =
+                item.stateFlag == "0"
+                  ? "未处理"
+                  : item.stateFlag == "3"
+                    ? "已提交"
+                    : "";
+              item.validFlagName =
+                item.validFlag == 0
+                  ? "无效"
+                  : item.validFlag == 1
+                    ? "有效"
+                    : "";
+              if (item.sampleTypeCode != 480102) {
+                item.suppName = "";
+                item.acceptName = "";
+              }
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading2 = false;
+        })
+        .catch((err) => {
+          this.tableLoading2 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 已提交、或者无效数据
+    Data4() {
+      let startTime = "";
+      let endTime = "";
+      if (!this.searchForm.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        /*startTime = this.searchForm.times[0] + ' 00:00:00'
+        endTime = this.searchForm.times[1] + ' 23:59:59'*/
+        startTime = this.searchForm.times[0];
+        endTime = this.searchForm.times[1];
+      }
+      let obj = {
+        object: {
+          matName: this.searchForm.matName,
+          sampleTypeCode: this.searchForm.sampleTypeCode,
+          sampleNo: this.searchForm.sampleNo,
+          createNo: userId,
+        },
+        mode: "1", // mode 1 表示查询已提交、或者无效数据
+        list2: [484003], // 测试分析模块
+        pageSize: this.pageSize4,
+        pageIndex: this.pageIndex4,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.searchForm.type,
+      };
+      this.tableLoading4 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
+          obj,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData4 = res.data.list;
+            this.total4 = res.data.total;
+            this.tableData4.forEach((item) => {
+              item.stateFlagName =
+                item.stateFlag == "0"
+                  ? "未处理"
+                  : item.stateFlag == "3"
+                    ? "已提交"
+                    : "";
+              item.validFlagName =
+                item.validFlag == 0
+                  ? "无效"
+                  : item.validFlag == 1
+                    ? "有效"
+                    : "";
+              if (item.sampleTypeCode != 480102) {
+                item.suppName = "";
+                item.acceptName = "";
+              }
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading4 = false;
+        })
+        .catch((err) => {
+          this.tableLoading4 = false;
+          this.$message.error(err.message);
+        });
+    },
+    dialogDeleteData(row, index) {
+      row.glMatName = "";
+      row.glSampleNo = "";
+      row.glCount = 1;
+      this.dialog.form.tableData.splice(index, 1);
+      this.glDialog.totalPage = this.glDialog.totalPage - 1;
+    },
+    Data5() {
+      let startTime = "";
+      let endTime = "";
+      if (!this.searchForm.times) {
+        startTime = "";
+        endTime = "";
+      } else {
+        // startTime = this.searchForm.times[0] + ' 00:00:00'
+        // endTime = this.searchForm.times[1] + ' 23:59:59'
+        startTime = this.searchForm.times[0];
+        endTime = this.searchForm.times[1];
+      }
+      let obj2 = {
+        object: {
+          matName: this.searchForm.matName,
+          sampleTypeCode: this.searchForm.sampleTypeCode,
+          sampleNo: this.searchForm.sampleNo,
+          createNo: userId,
+        },
+        mode: "0", // mode 0 表示查询无效数据
+        list2: [484003], // 测试分析模块
+        pageSize: this.pageSize42,
+        pageIndex: this.pageIndex42,
+        startTime: startTime,
+        endTime: endTime,
+        sectionName:this.searchForm.type,
+      };
+      this.tableLoading42 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/queryLimsSampleTestPage",
+          obj2,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData42 = res.data.list;
+            this.total42 = res.data.total;
+            this.tableData42.forEach((item) => {
+              item.stateFlagName =
+                item.stateFlag == "0"
+                  ? "未处理"
+                  : item.stateFlag == "3"
+                    ? "已提交"
+                    : "";
+              item.validFlagName =
+                item.validFlag == 0
+                  ? "无效"
+                  : item.validFlag == 1
+                    ? "有效"
+                    : "";
+              if (item.sampleTypeCode != 480102) {
+                item.suppName = "";
+                item.acceptName = "";
+              }
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading42 = false;
+        })
+        .catch((err) => {
+          this.tableLoading42 = false;
+          this.$message.error(err.message);
+        });
+    },
+    searchAnalyze2(row) {
+      //保存点击的样品信息数据,保存、提交操作时刷新
+      this.saveAnaly = {};
+      this.analyzeVal = row;
+      this.tableLoading3 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList?stId=" +
+          this.analyzeVal.id
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData3 = res.data;
+            this.tableData3.forEach((item) => {
+              item.showInput =
+                item.defaultValue && item.defaultValue.indexOf("#") > -1
+                  ? false
+                  : true;
+              item.defaultList = item.defaultValue
+                ? item.defaultValue.split("#")
+                : [];
+              item.anlyValue = item.anlyValue
+                ? item.anlyValue
+                : item.defaultList[0];
+              item.isReportName =
+                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
+              item.isAlarmName =
+                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
+              if (item.anlyValue && item.maxValue && item.maxSign) {
+                let anlyVal = item.anlyValue;
+                if (
+                  item.anlyValue.startsWith("<") ||
+                  item.anlyValue.startsWith("≤")
+                ) {
+                  anlyVal = item.anlyValue.slice(1);
+                }
+                if (item.maxSign === "<") {
+                  let i = anlyVal - 0 >= item.maxValue - 0 ? 1 : -1;
+                  item.warning = i;
+                } else if (item.maxSign === "<=") {
+                  let i = anlyVal - 0 > item.maxValue - 0 ? 1 : -1;
+                  item.warning = i;
+                }
+              }
+              if (item.anlyValue && item.minValue && item.minSign) {
+                let anlyVal = item.anlyValue;
+                if (
+                  item.anlyValue.startsWith("<") ||
+                  item.anlyValue.startsWith("≤")
+                ) {
+                  anlyVal = item.anlyValue.slice(1);
+                }
+                if (item.minSign === ">") {
+                  let i = anlyVal - 0 <= item.minValue - 0 ? 0 : -1;
+                  item.warning = i;
+                } else if (item.minSign === ">=") {
+                  let i = anlyVal - 0 < item.minValue - 0 ? 0 : -1;
+                  item.warning = i;
+                }
+              }
+            });
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading3 = false;
+        })
+        .catch((err) => {
+          this.tableLoading3 = false;
+          this.$message.error(err.message);
+        });
+    },
+    //点击测试项目,查询分析项目
+    searchAnalyze(row, clear, event) {
+      this.stopall();
+      //保存点击的样品信息数据,保存、提交操作时刷新
+      this.saveAnaly = {};
+      this.analyzeVal = row;
+      this.tableLoading3 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/queryLimsSampleTestDList?stId=" +
+          this.analyzeVal.id
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.tableData3 = res.data;
+            this.tableData3.forEach((item) => {
+              item.showInput =
+                item.defaultValue && item.defaultValue.indexOf("#") > -1
+                  ? false
+                  : true;
+              item.defaultList = item.defaultValue
+                ? item.defaultValue.split("#")
+                : [];
+              item.anlyValue = item.anlyValue
+                ? item.anlyValue
+                : item.defaultList[0];
+              item.isReportName =
+                item.isReport == 0 ? "否" : item.isReport == 1 ? "是" : "";
+              item.isAlarmName =
+                item.isAlarm == 0 ? "否" : item.isAlarm == 1 ? "是" : "";
+              if (item.anlyValue && item.maxValue && item.maxSign) {
+                let anlyVal = item.anlyValue;
+                if (
+                  item.anlyValue.startsWith("<") ||
+                  item.anlyValue.startsWith("≤")
+                ) {
+                  anlyVal = item.anlyValue.slice(1);
+                }
+                if (item.maxSign === "<") {
+                  let i = anlyVal - 0 >= item.maxValue - 0 ? 1 : -1;
+                  item.warning = i;
+                } else if (item.maxSign === "<=") {
+                  let i = anlyVal - 0 > item.maxValue - 0 ? 1 : -1;
+                  item.warning = i;
+                }
+              }
+              if (item.anlyValue && item.minValue && item.minSign) {
+                let anlyVal = item.anlyValue;
+                if (
+                  item.anlyValue.startsWith("<") ||
+                  item.anlyValue.startsWith("≤")
+                ) {
+                  anlyVal = item.anlyValue.slice(1);
+                }
+                if (item.minSign === ">") {
+                  let i = anlyVal - 0 <= item.minValue - 0 ? 0 : -1;
+                  item.warning = i;
+                } else if (item.minSign === ">=") {
+                  let i = anlyVal - 0 < item.minValue - 0 ? 0 : -1;
+                  item.warning = i;
+                }
+              }
+            });
+            // if (this.isAutoColl && notColl instanceof PointerEvent){
+            //    this.autoCollet();
+            // }
+          } else {
+            this.$message.error(res.message);
+          }
+          this.tableLoading3 = false;
+        })
+        .catch((err) => {
+          this.tableLoading3 = false;
+          this.$message.error(err.message);
+        });
+    },
+    //表格数据右移
+    rightData2(row) {
+      //新增的数据清空id
+      row.cretNoD = "";
+      this.table.addTest.push(row);
+    },
+    showCell(row) {
+      this.tabClickIndex = row.index;
+    },
+    saveCell(row) {
+      this.tabClickIndex = null;
+    },
+    tableRowName({ row, rowIndex }) {
+      row.index = rowIndex;
+      if (row.warning - 0 === 1) {
+        return "row-orange"; //橙色
+      }
+      if (row.warning - 0 === 0) {
+        return "error-row"; //红色
+      }
+    },
+    handleSizeChangeMain(pageSize) {
+      this.pageIndex = 1;
+      this.pageSize = pageSize;
+      this.DataMain();
+    },
+    handleSizeChangeDep(pageSize) {
+      this.pageIndex_dep = 1;
+      this.pageSize_dep = pageSize;
+      this.DataDep();
+    },
+    handleSizeChange4(pageSize) {
+      this.pageIndex4 = 1;
+      this.pageSize4 = pageSize;
+      this.Data4();
+    },
+    handleSizeChange5(pageSize) {
+      this.pageIndex42 = 1;
+      this.pageSize42 = pageSize;
+      this.Data5();
+    },
+    glDialogSizeTest(size) {
+      this.glDialog.pageSize = size;
+    },
+    glDialogPageChangeTest(index) {
+      this.glDialog.pageNum = index;
+    },
+    SizeTest(size) {
+      this.pageTests.pageSize = size;
+      this.getDataListTest2();
+    },
+    pageChangeTest(index) {
+      this.pageTests.pageNum = index;
+      this.getDataListTest2();
+    },
+    tableRowClassName({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 2) {
+        if (row.yearMonth === "1") {
+          return "error-row";
+        }
+      }
+      if (row.validFlag !== "1") {
+        return "error-row";
+      } else if (row.stateFlag === "3") {
+        return "error-green";
+      }
+      return "";
+      // if (columnIndex === 0) {
+      //   if (row.validFlag !== '1') {
+      //       return 'error-row';
+      //   } else if (row.stateFlag === '3') {
+      //     return 'error-green';
+      //   }
+      // }
+      // return ''
+    },
+    tableRowBatch({ row, column, rowIndex, columnIndex }) { },
+    fxTableRowClassName({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 3) {
+        //最大符号与最小符号必须同时存在,最大值与最小值必须有一项要有值,否则直接return不进入判断
+        if (row.maxSign && row.minSign && (row.maxValue || row.minValue)) {
+          if (row.maxSign == "<=" && row.minSign == ">=") {
+            if (
+              Number(row.anlyValue) <=
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+          if (row.maxSign == "<=" && row.minSign == ">") {
+            if (
+              Number(row.anlyValue) <=
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+          if (row.maxSign == "<" && row.minSign == ">=") {
+            if (
+              Number(row.anlyValue) <
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) >= Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+          if (row.maxSign == "<" && row.minSign == ">") {
+            if (
+              Number(row.anlyValue) <
+              Number(row.maxValue ? row.maxValue : Infinity) &&
+              Number(row.anlyValue) > Number(row.minValue ? row.minValue : 0)
+            ) {
+              return "error-green";
+            } else {
+              return "error-row";
+            }
+          }
+        }
+        return "";
+      } else if (column.property === "reviseValue") {
+        return "error-blue";
+      }
+    },
+    tableHeaderCellStyle() {
+      return "background-color: rgb(249,249,249) !important;color: rgb(73, 72, 72);border-bottom: 1px solid #DCDFE7;border-top:3px solid #3ac1ea;";
+    },
+    // 停用
+    abolish() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选您要停用的数据");
+        return;
+      }
+      for (let item of this.selectVal) {
+        if (item.stateFlag == "3") {
+          this.$message.warning("已提交的数据不能停用");
+          return;
+        }
+      }
+      this.buttonLoading1 = true;
+      let abolishlength = this.selectVal.length;
+      this.$confirm(
+        "确认要停用" + abolishlength + "条数据吗",
+        "是否继续?",
+        "提示",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }
+      )
+        .then(() => {
+          let _this = this;
+          _this.axios
+            .post(
+              "pass/testManagement/v1/limssampletests/abolish",
+              this.selectVal,
+              { individualType: "json" }
+            )
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                this.$message.success(res.message);
+                this.searchData();
+              } else {
+                this.$message.error(res.message);
+              }
+              this.buttonLoading1 = false;
+            })
+            .catch((err) => {
+              this.buttonLoading1 = false;
+              this.$message.error(err.message);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消停用",
+          });
+          this.buttonLoading1 = false;
+        });
+    },
+    // 启用
+    recoverData() {
+      if (this.selectVal42.length < 1) {
+        this.$message.warning("请勾选您要启用的数据");
+        return;
+      }
+      this.buttonLoading2 = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/recover",
+          this.selectVal42,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.buttonLoading2 = false;
+        })
+        .catch((err) => {
+          this.buttonLoading2 = false;
+          this.$message.error(err.message);
+        });
+    },
+    // 批量退回
+    back() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选您要退回的数据");
+        return;
+      }
+      for (let item of this.selectVal) {
+        if (item.stateFlag != 0) {
+          this.$message.warning("请选择状态为未处理的数据");
+          return;
+        }
+        if (item.isSendBack == "2") {
+          this.$message.warning("额外增加的任务不允许退回");
+          return;
+        }
+      }
+      this.backLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/sendBacks",
+          this.selectVal,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.succeed) {
+            this.$message.success(res.message);
+            this.searchData();
+          } else {
+            this.$message.error(res.message);
+          }
+          this.backLoading = false;
+        })
+        .catch((e) => {
+          this.backLoading = false;
+          this.$message.error(e.message);
+        });
+    },
+    // 新增标样
+    addBy() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选您要新增标样的数据");
+        return;
+      }
+      if (this.selectVal.length > 1) {
+        this.$message.warning("请勾选一条数据");
+        return;
+      }
+      if (this.selectVal[0].stateFlag == 3) {
+        this.$message.warning(
+          "已提交的数据不能增加标样,请选择状态为未处理的数据进行操作"
+        );
+        return;
+      }
+      // if (JSON.stringify(this.analyzeVal)==="{}") {
+      //   this.$message.warning("请先点击选中一条测试项目数据");
+      //   return
+      // }
+      // if (this.analyzeVal.stateFlag == 3) {
+      //   this.$message.warning("已提交的数据不能增加标样,请选择状态为未处理的数据进行操作");
+      //   return;
+      // }
+      this.gangwei = this.selectVal[0].testPostCode;
+      this.addByShow = !this.addByShow;
+    },
+    addBy2() {
+      let that = this;
+      if (that.selectVal.length < 1) {
+        that.$message.warning("请勾选您要新增标样的数据");
+        return;
+      }
+      if (that.selectVal.length > 1) {
+        that.$message.warning("请勾选一条数据");
+        return;
+      }
+      let addData = {
+        testItemNo: "T0424", // 标准曲线
+        id: that.selectVal[0].id,
+        yuansu: that.dialog2.form.data.yuansu,
+        vlaue: that.dialog2.form.data.sampleNum,
+      };
+      that.$refs["dialog_form2"].validate((valid) => {
+        if (valid) {
+          that.axios
+            .post("pass/testManagement/v1/limssampletests/addTest", addData, {
+              individualType: "json",
+            })
+            .then((res) => {
+              if (res.code == 0 || res.code == 200) {
+                that.$message.success(res.message);
+                that.searchData();
+              } else {
+                that.$message.error(res.message);
+              }
+              that.addByLoading = false;
+              that.addByShow = false;
+            })
+            .catch((err) => {
+              that.addByLoading = false;
+              that.$message.error(err.message);
+            });
+        }
+      });
+    },
+    // 新增管理样弹窗
+    addGly() {
+      if (this.selectVal.length < 1) {
+        this.$message.warning("请勾选您要新增标样的数据");
+        return;
+      }
+      if (this.selectVal.length > 6) {
+        return this.$message.warning(
+          "每次批量增加管理样最大数量为6,当前数量" + this.selectVal.length
+        );
+      }
+      for (let i = 0; i < this.selectVal.length; i++) {
+        if (this.selectVal[i].matName.indexOf("管理样") != -1) {
+          return this.$message.warning("请取消勾选管理样!");
+        }
+        if (this.selectVal[i].stateFlag === "3") {
+          return this.$message.warning(
+            "勾选的数据中含有已提交数据,请刷新页面后重试!"
+          );
+        }
+        this.selectVal[i].glSampleNo = "";
+        this.selectVal[i].glMatName = "(管理样)" + this.selectVal[i].matName;
+        this.selectVal[i].glCount = "1";
+        this.dialog.form.tableData.push(this.selectVal[i]);
+      }
+      this.dialog.show = true;
+      if (this.dialog.form.tableData.length > 0) {
+        this.$refs.dialog_form.setCurrentRow(this.$refs.dialog_form.data[0]);
+      }
+    },
+    // 新增管理样确认
+    addGlySure() {
+      let arr = [];
+      this.addGlyLoading = true;
+      if (this.dialog.form.tableData.length == 0) {
+        this.addGlyLoading = false;
+        return this.$message.warning("没有数据,无法增加管理样!");
+      }
+      for (let i = 0; i < this.dialog.form.tableData.length; i++) {
+        if (this.dialog.form.tableData[i].glCount > 6) {
+          this.addGlyLoading = false;
+          return this.$message.warning(
+            "每条数据设置的管理样增加个数最大为6,请重新设置!"
+          );
+        }
+        if (this.dialog.form.tableData[i].glCount < 1) {
+          this.addGlyLoading = false;
+          return this.$message.warning(
+            "每条数据设置的管理样增加个数必须大于0,请重新设置!"
+          );
+        }
+        if (
+          this.dialog.form.tableData[i].glSampleNo == null ||
+          this.dialog.form.tableData[i].glSampleNo === ""
+        ) {
+          this.addGlyLoading = false;
+          return this.$message.warning("必须设置管理样编号!请重新设置");
+        }
+        if (
+          this.dialog.form.tableData[i].glMatName == null ||
+          this.dialog.form.tableData[i].glMatName === ""
+        ) {
+          this.addGlyLoading = false;
+          return this.$message.warning("必须为管理样设置物料名称!请重新设置");
+        }
+        let obj = {
+          id: this.dialog.form.tableData[i].stId,
+          glSampleNo: this.dialog.form.tableData[i].glSampleNo,
+          glMatName: this.dialog.form.tableData[i].glMatName,
+          glCount: this.dialog.form.tableData[i].glCount,
+          // 设置固定增加的分析项目,针对当前需要固定添加标样含量的需求,后续如需改动或删除,改变下面变量即可
+          append: {
+            anlyItemNo: "A0555",
+            anlyItemName: "标样含量",
+          },
+        };
+        arr.push(obj);
+      }
+      this.axios
+        .post("pass/testManagement/v1/limssampletests/addGly", arr, {
+          individualType: "json",
+        })
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.searchData();
+            this.addGlyLoading = false;
+          } else {
+            this.$message.error(res.message);
+            this.addGlyLoading = false;
+          }
+          this.addGlyLoading = false;
+          this.closeBly();
+        })
+        .catch((err) => {
+          this.addGlyLoading = false;
+          this.$message.error(err.message);
+        });
+    },
+    addKb() {
+      if (this.selectVal.length == 0) {
+        this.$message.warning("请选择需要增加空白样的数据!");
+        return;
+      }
+      if (this.selectVal.length > 1) {
+        this.$message.warning("只能勾选一条数据增加空白样,请取消多选");
+        return;
+      }
+      var stId = this.selectVal[0].stId;
+      this.addKbLoading = true;
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletests/addKb",
+          { stId: stId },
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.$message.success(res.message);
+            this.addKbLoading = false;
+            this.DataDep();
+          } else {
+            this.addKbLoading = false;
+            this.$message.error(res.data);
+          }
+        })
+        .catch((e) => {
+          this.addKbLoading = false;
+          this.$message.error(e.data);
+        });
+    },
+    keyDown(event, row, rindex) {
+      let tdTarget = event.target;
+      let pid = tdTarget.id;
+      if (!pid) {
+        return true;
+      }
+      let ids = pid.split("--");
+      if (ids.length != 2) {
+        return true;
+      }
+      let columnId = ids[0];
+      let index = ids[1];
+      let that = this;
+      while (tdTarget.tagName !== "TD") {
+        tdTarget = tdTarget.parentElement;
+      }
+      if (event.keyCode === 13) {
+        this.jisuanRow(row, rindex);
+      }
+      // 如果按下键盘下键或者回车键
+      if (event.keyCode === 40 || event.keyCode === 13) {
+        let ind = Number(index) + 1;
+        let id = "#" + columnId + "--" + ind;
+        let input = $(id);
+        if (input) {
+          this.$refs.tablePllr.setCurrentRow(this.tableData[ind]);
+          input.focus();
+          input.select(); // 选中内容
+          event.stopPropagation();
+          event.stopImmediatePropagation();
+          event.preventDefault();
+          return false;
+        }
+      } else if (event.keyCode === 38) {
+        // 键盘上键
+        let ind = Number(index) - 1;
+        let id = "#" + columnId + "--" + ind;
+        let input = $(id);
+        if (input) {
+          this.$refs.tablePllr.setCurrentRow(this.tableData[ind]);
+          input.focus();
+          input.select(); // 选中内容
+          event.stopPropagation();
+          event.stopImmediatePropagation();
+          event.preventDefault();
+          return false;
+        }
+      } else if (event.keyCode === 37) {
+        // 键盘左键
+        let input =
+          $(tdTarget).prev().find("input") &&
+          $(tdTarget).prev().find("input")[0];
+        if (input) {
+          input.focus();
+          input.select(); // 选中内容
+          event.stopPropagation();
+          event.stopImmediatePropagation();
+          event.preventDefault();
+          return false;
+        }
+      } else if (event.keyCode === 39) {
+        // 键盘右键
+        let input = $(tdTarget).next().find("input")[0];
+        if (input) {
+          input.focus();
+          input.select(); // 选中内容
+          event.stopPropagation();
+          event.stopImmediatePropagation();
+          event.preventDefault();
+          return false;
+        }
+      }
+    },
+    // 删除数据(前端删除)
+    delData(row, index) {
+      let that = this;
+
+      that.tableData.splice(index, 1);
+      that.testTable.splice(index - 1, 1);
+      let srow = that.selectVal[index - 1];
+      that.selectVal.splice(index - 1, 1);
+      that.$refs.table2.toggleRowSelection(srow, false);
+    },
+    // 计算单行
+    jisuanRow(row, index) {
+      if (index < 1) {
+        return true;
+      }
+
+      let temp = [];
+      let obj = Object.assign(row);
+      delete obj.index;
+      //将对象转化成数组、循环获取到index
+      let tempArr = Object.keys(obj);
+      tempArr.forEach((items, indexs) => {
+        temp.push({
+          anlyValue: obj[items],
+          stIdD: this.testTable[index - 1][items],
+        });
+      });
+      let tempData = [row.stId];
+      // console.log('temp', temp);
+      this.axios
+        .post(
+          "pass/testManagement/v1/limssampletestds/batchUpdateLimsSampleTestDList",
+          temp,
+          { individualType: "json" }
+        )
+        .then((res) => {
+          if (res.code == 0 || res.code == 200) {
+            this.axios
+              .post(
+                "pass/testManagement/v1/limssampletests/formulacomByStIds",
+                tempData,
+                { individualType: "json" }
+              )
+              .then((res) => {
+                if (res.code == 0 || res.code == 200) {
+                  this.axios
+                    .post(
+                      "pass/testManagement/v1/limssampletestds/transitionData",
+                      tempData,
+                      { individualType: "json" }
+                    )
+                    .then((res) => {
+                      if (res.data.badyData.length > 0) {
+                        let obj = res.data.badyData[0];
+                        this.tableData.splice(index, 1, obj);
+                      }
+                    })
+                    .catch((e) => {
+                      this.$message.error(e.message);
+                    });
+                } else {
+                  this.$message.error(res.message);
+                }
+              })
+              .catch((err) => {
+                this.$message.error(err.message);
+              });
+          } else {
+            this.$message.error(res.message);
+          }
+        })
+        .catch((err) => {
+          this.$message.error(err.message);
+        });
+    },
+    selectStyle({ row, column, rowIndex, columnIndex }) {
+      if (row.warning) {
+        return "row-green";
+      }
+    },
+  },
+};
+</script>
+<style scoped></style>
+<style lang="less">
+.testManagement {
+  .buttons {
+    .el-button {
+      margin: 2px 3px 0 0;
+    }
+  }
+
+  .textOverflow {
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+  }
+
+  .testManagement_left {
+    .el-table .el-table__body tr.error-row {
+      background-color: rgb(253, 89, 89) !important;
+    }
+
+    .el-table .el-table__body tr.error-row>td {
+      background-color: rgb(253, 89, 89) !important;
+    }
+
+    .el-table .el-table__body tr.error-green {
+      background-color: rgb(202, 249, 130) !important;
+    }
+
+    .el-table .el-table__body tr.error-green>td {
+      background-color: rgb(202, 249, 130) !important;
+    }
+  }
+
+  .testManagement-pllr {
+    .el-table .el-table__body tr.current-row>td {
+      //background-color: rgba(26, 75, 236, 0.2) !important;
+      background-color: rgba(64, 158, 255, 0.3) !important;
+    }
+  }
+
+  .row-orange {
+    background-color: #fa9707 !important;
+  }
+}
+</style>