zhuo
2025-05-20 7eb190f13437b2e67788e9f4bdea725fdb165f01
src/views/business/productOrder/index.vue
@@ -3,110 +3,109 @@
    <div class="search">
      <el-form :model="entity" ref="entity" size="small" :inline="true">
        <el-form-item label="委托编号" prop="entrustCode">
          <el-input v-model="entity.entrustCode" clearable placeholder="请输入"
                    size="small"
                    @keyup.enter.native="refreshTable">
          <el-input v-model="entity.entrustCode" clearable placeholder="请输入" size="small"
            @keyup.enter.native="refreshTable">
          </el-input>
        </el-form-item>
        <el-form-item label="样品名称" prop="sampleName">
          <el-input v-model="entity.partNo" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable"></el-input>
          <el-input v-model="entity.sampleName" clearable placeholder="请输入" size="small"
            @keyup.enter.native="refreshTable"></el-input>
        </el-form-item>
        <el-form-item label="样品型号" prop="sampleModel">
          <el-input v-model="entity.sampleModel" clearable placeholder="请输入"
                    size="small" @keyup.enter.native="refreshTable()"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button :icon="!more?'el-icon-arrow-down':'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" @click="more=!more">{{!more?'更多':'收起'}}</el-button>
          <el-button size="small" @click="refresh()">重 置</el-button>
          <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
        </el-form-item>
        <el-form-item label="样品编号" prop="sampleCode" v-if="more">
          <el-input v-model="entity.sampleCode" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable">
          </el-input>
          <el-input v-model="entity.sampleModel" clearable placeholder="请输入" size="small"
            @keyup.enter.native="refreshTable()"></el-input>
        </el-form-item>
        <el-form-item label="下单时间" prop="createTime" v-if="more">
          <el-date-picker v-model="entity.createTime" clearable
                          format="yyyy-MM-dd"
                          placeholder="选择日期"
                          size="small"
                          style="width:100%"
                          type="date"
                          value-format="yyyy-MM-dd HH:mm:ss">
          <el-date-picker v-model="entity.createTime" clearable format="yyyy-MM-dd" placeholder="选择日期" size="small"
                          @change="refreshTable"
            style="width:100%" type="date" value-format="yyyy-MM-dd HH:mm:ss">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="委托人" prop="prepareUser" v-if="more">
          <el-input v-model="entity.prepareUser" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable">
            @keyup.enter.native="refreshTable">
          </el-input>
        </el-form-item>
        <el-form-item label="委托单位" prop="company" v-if="more">
          <el-input v-model="entity.company" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable">
            @keyup.enter.native="refreshTable">
          </el-input>
        </el-form-item>
        <el-form-item>
          <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
                     @click="more = !more">{{ !more ? '更多' : '收起' }}</el-button>
          <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button>
          <el-button size="mini" @click="refresh()">重置</el-button>
        </el-form-item>
      </el-form>
    </div>
    <div class="table-tab">
      <div>
        <ul class="tab">
          <li v-for="(m,i) in tabList" :key="i+'afgh'" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
        </ul>
    <div class="container" v-loading="isLoading">
      <div class="table-tab">
        <div>
          <ul class="tab">
            <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">待审核</li>
            <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">检验中</li>
            <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">委托已检</li>
            <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">抽样已检</li>
            <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">退回</li>
            <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">撤销</li>
            <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">全部</li>
          </ul>
        </div>
        <div>
          <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 6" size="small"
                     @click="downLoad">导出</el-button>
          <el-button v-if="tabIndex === 1" size="small" type="primary" @click="openAddIns">添加检验项</el-button>
          <el-button size="small" type="primary" @click="openPrint">标签打印</el-button>
          <el-button v-if="checkPermi(['add:insOrder'])" size="small" type="primary" @click="playOrder(1)">下单</el-button>
        </div>
      </div>
      <div>
        <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 6" size="small" @click="downLoad">导出</el-button>
        <el-button v-if="tabIndex === 1" size="small" type="primary" @click="openAddIns">添加检验项</el-button>
        <el-button size="small" type="primary" @click="openPrint">标签打印</el-button>
        <el-button size="small" type="primary" @click="playOrder(1)">下单</el-button>
      <div class="table">
        <lims-table :tableData="tableData" :column="column" :isSelection="true" :handleSelectionChange="selectMethod"
                    @pagination="pagination" :height="'calc(100vh - 280px)'" :key="upIndex" :page="page"
                    :tableLoading="tableLoading"></lims-table>
      </div>
    </div>
    <div class="table">
      <lims-table :tableData="tableData" :column="column"
                  :isSelection="true" :handleSelectionChange="selectMethod"
                  @pagination="pagination" :height="'calc(100vh - 280px)'" key="tableData"
                  :page="page" :tableLoading="tableLoading"></lims-table>
    </div>
    <div>
      <!-- 审核 -->
      <el-dialog :before-close="handleClose" :visible.sync="verifyDialogVisible" title="下单审核" width="30%">
        <p v-if="!isPass" style="font-size:16px;color:#333333">委托编号<span
          style="color:#34BD66">ZTMS2023071001</span>的信息是否通过</p>
            style="color:#34BD66">ZTMS2023071001</span>的信息是否通过</p>
        <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px">
          <el-form-item label="请输入样品库位号:">
            <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
          </el-form-item>
        </el-form>
        <span slot="footer" class="dialog-footer">
               <el-row v-if="!isPass">
                  <el-button @click="handleClose">退 回</el-button>
                  <el-button :loading="upLoad" type="primary" @click="submitForm">通 过</el-button>
               </el-row>
               <el-row v-else>
                  <el-button @click="handleClose">返 回</el-button>
                  <el-button :loading="upLoad" type="primary" @click="submitForm">确 定</el-button>
               </el-row>
            </span>
          <el-row v-if="!isPass">
            <el-button @click="handleClose">退 回</el-button>
            <el-button :loading="upLoad" type="primary" @click="submitForm">通 过</el-button>
          </el-row>
          <el-row v-else>
            <el-button @click="handleClose">返 回</el-button>
            <el-button :loading="upLoad" type="primary" @click="submitForm">确 定</el-button>
          </el-row>
        </span>
      </el-dialog>
      <!-- 撤销 -->
      <el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="下单撤销" width="30%">
        <p v-if="!isQuash" style="font-size:16px;color:#333333">委托编号<span
          style="color:#34BD66">{{this.insOrderRow.entrustCode}}</span>的信息是否撤销</p>
            style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>的信息是否撤销</p>
        <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px">
          <el-form-item label="请输入撤销原因:">
            <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
          </el-form-item>
        </el-form>
        <span slot="footer" class="dialog-footer">
               <el-row v-if="!isQuash">
                  <el-button @click="handleClose">取 消</el-button>
                  <el-button :loading="upLoad" type="primary" @click="submitForm">确 定</el-button>
               </el-row>
               <el-row v-else>
                  <el-button @click="handleClose">返 回</el-button>
                  <el-button :loading="upLoad" type="primary" @click="submitForm">确 定</el-button>
               </el-row>
            </span>
          <el-row v-if="!isQuash">
            <el-button @click="handleClose">取 消</el-button>
            <el-button :loading="upLoad" type="primary" @click="submitForm">确 定</el-button>
          </el-row>
          <el-row v-else>
            <el-button @click="handleClose">返 回</el-button>
            <el-button :loading="upLoad" type="primary" @click="submitForm">确 定</el-button>
          </el-row>
        </span>
      </el-dialog>
      <!-- 下发 -->
      <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="检验分配" width="400px">
@@ -116,24 +115,27 @@
              <div class="search_label"><span class="required-span">* </span>约定时间:</div>
              <div class="search_input">
                <el-date-picker v-model="distributeData.appointed" format="yyyy-MM-dd" placeholder="选择日期" size="small"
                                style="width: 100%;" type="date" value-format="yyyy-MM-dd">
                  style="width: 100%;" type="date" value-format="yyyy-MM-dd">
                </el-date-picker>
              </div>
            </el-col>
            <el-col class="search_thing" style="width: 95%;">
              <div class="search_label"><span class="required-span">* </span>指派人员:</div>
              <div class="search_input">
                <el-select v-model="distributeData.userId" clearable filterable placeholder="请选择" size="small" style="width: 100%;" @change="changeUser">
                  <el-option v-for="(item,i) in personList" :key="i+'gbnm.'" :label="item.label" :value="item.value">
                <el-select v-model="distributeData.userId" clearable filterable placeholder="请选择" size="small"
                  style="width: 100%;" @change="changeUser">
                  <el-option v-for="(item, i) in personList" :key="i + 'gbnm.'" :label="item.label" :value="item.value">
                  </el-option>
                </el-select>
              </div>
            </el-col>
            <el-col class="search_thing" style="width: 95%;">
              <div class="search_label"><span class="required-span" >* </span>试验室:</div>
              <div class="search_label"><span class="required-span">* </span>试验室:</div>
              <div class="search_input">
                <el-select v-model="distributeData.sonLaboratory" clearable filterable placeholder="请选择" size="small" style="width: 100%;">
                  <el-option v-for="(item,i) in sonLaboratoryList" :key="i+'oooo'" :label="item.label" :value="item.value">
                <el-select v-model="distributeData.sonLaboratory" clearable filterable placeholder="请选择" size="small"
                  style="width: 100%;">
                  <el-option v-for="(item, i) in sonLaboratoryList" :key="i + 'oooo'" :label="item.label"
                    :value="item.value">
                  </el-option>
                </el-select>
              </div>
@@ -141,37 +143,35 @@
          </el-row>
        </div>
        <span slot="footer" class="dialog-footer">
               <el-row>
                  <el-button @click="handleClose2">取 消</el-button>
                  <el-button :loading="upLoad" type="primary" @click="submitForm2">确 定</el-button>
               </el-row>
            </span>
          <el-row>
            <el-button @click="handleClose2">取 消</el-button>
            <el-button :loading="upLoad" type="primary" @click="submitForm2">确 定</el-button>
          </el-row>
        </span>
      </el-dialog>
      <el-dialog :visible.sync="dataDialogVisible" title="数据查看" width="80%">
      <el-dialog :visible.sync="dataDialogVisible" title="数据查看" width="80%" @close="closeDia">
        <div v-if="dataDialogVisible">
          <lims-table :tableData="tableDataLook" :column="tableDataLookColumn"
                      @pagination="tableDataLookPagination" height="500px" key="tableDataLook"
                      :page="tableDataLookPage" :tableLoading="tableDataLookTableLoading"></lims-table>
          <lims-table :tableData="tableDataLook" :column="tableDataLookColumn" @pagination="tableDataLookPagination"
            height="500px" key="tableDataLook" :page="tableDataLookPage"
            :tableLoading="tableDataLookTableLoading"></lims-table>
        </div>
      </el-dialog>
      <el-dialog :visible.sync="filesDialogVisible" title="附件查看" width="80%">
        <div v-if="filesDialogVisible">
          <lims-table :tableData="tableDataFile" :column="columnFile"
                      @pagination="paginationFile" height="500px" key="tableDataFile"
                      :page="pageFile" :tableLoading="tableLoadingFile"></lims-table>
          <lims-table :tableData="tableDataFile" :column="columnFile" @pagination="paginationFile" height="500px"
            key="tableDataFile" :page="pageFile" :tableLoading="tableLoadingFile"></lims-table>
        </div>
      </el-dialog>
      <el-dialog :title="deleteTilte" :visible.sync="deleteDialogVisible" width="80%">
        <div v-if="deleteDialogVisible" style="height: 70vh;overflow-y: auto;">
          <lims-table :tableData="componentDataDelete" :column="columnDelete"
                      :isSelection="true" :handleSelectionChange="selectDelete"
                      @pagination="paginationDelete" height="500px" key="componentDataDelete"
                      :page="pageDelete" :tableLoading="tableLoadingDelete"></lims-table>
          <lims-table :tableData="componentDataDelete" :column="columnDelete" :isSelection="true"
            :handleSelectionChange="selectDelete" @pagination="paginationDelete" height="500px"
            key="componentDataDelete" :page="pageDelete" :tableLoading="tableLoadingDelete"></lims-table>
        </div>
        <span slot="footer" class="dialog-footer">
          <el-row>
            <el-button @click="handleNo">{{deleteTilte=='撤销'?'取 消':'不通过'}}</el-button>
            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{deleteTilte=='撤销'?'确 定':'通 过'}}</el-button>
            <el-button @click="handleNo">{{ deleteTilte == '撤销' ? '取 消' : '不通过' }}</el-button>
            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '撤销' ? '确 定' : '通过'}}</el-button>
          </el-row>
        </span>
      </el-dialog>
@@ -179,17 +179,15 @@
    <el-dialog :visible.sync="printDialogVisible" title="标签打印" top="5vh" width="40%">
      <div v-loading="loadPint" style="width:100%;height: 400px;overflow-y: auto;">
        <div class="dia_body">
          <el-checkbox
            v-model="checkAll"
            :indeterminate="isIndeterminate"
            style="margin: 10px 5px;"
          <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" style="margin: 10px 5px;"
            @change="handleCheckAllChange">全选</el-checkbox>
          <el-checkbox-group v-model="checkIndexList" @change="changePrintCode()">
            <el-card v-for="(item, i) in qrData" :key="i+'wwwww'" class="box-card" style="margin-bottom: 15px; font-size: 16px !important;">
            <el-card v-for="(item, i) in qrData" :key="i + 'wwwww'" class="box-card"
              style="margin-bottom: 15px; font-size: 16px !important;">
              <el-checkbox :key="i" :label="i" style="position: relative;top:-20px;left:5px"><br></el-checkbox>
              <div>
                <el-row style="font-size: 14px;padding-left: 20px;">
                  <el-col  style="font-weight: bold;">{{ item.pName }}</el-col>
                  <el-col style="font-weight: bold;">{{ item.pName }}</el-col>
                </el-row>
                <div style="display: flex;">
                  <div>
@@ -199,27 +197,29 @@
                  </div>
                  <div style="margin-left: 50px;width: 100%;">
                    <el-row>
                      <el-col  style="font-weight: bold;font-size: 14px;"><span>样品编号:&nbsp; </span>{{ item.sampleCode }}</el-col>
                      <el-col style="font-weight: bold;font-size: 14px;"><span>样品编号:&nbsp; </span>{{ item.sampleCode
                        }}</el-col>
                    </el-row>
                    <el-row style="margin-top: 1px;font-size: 14px;">
                      <el-col  style="font-weight: bold;"><span>委托单号:&nbsp; </span>{{ item.code }}</el-col>
                      <el-col style="font-weight: bold;"><span>委托单号:&nbsp; </span>{{ item.code }}</el-col>
                    </el-row>
                    <el-row style="margin-top: 1px;font-size: 14px;">
                      <el-col  style="font-weight: bold;"><span>规格型号:&nbsp; </span>{{ item.model }}</el-col>
                      <el-col style="font-weight: bold;"><span>规格型号:&nbsp; </span>{{ item.model }}</el-col>
                    </el-row>
                    <el-row style="margin-top: 1px;font-size: 14px;">
                      <el-col  style="font-weight: bold;"><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
                      <el-col style="font-weight: bold;"><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
                    </el-row>
                    <el-row class="ellipsis-multiline" style="margin-top: 1px;font-size: 14px;">
                      <el-col  style="font-weight: bold;"><span>检测项目:&nbsp; </span>{{ item.item }}</el-col>
                      <el-col style="font-weight: bold;"><span>检测项目:&nbsp; </span>{{ item.item }}</el-col>
                    </el-row>
                    <el-row style="margin-top: 3px;font-size: 14px;">
                      <el-col  style="font-weight: bold;display: flex;align-items: center;"><span>样品状态:&nbsp; </span>
                      <el-col style="font-weight: bold;display: flex;align-items: center;"><span>样品状态:&nbsp; </span>
                        <el-radio-group :value="item.insState" disabled style="margin-top: 7px;margin-left: 4px;">
                          <el-radio :label="0" style="font-weight: bold;margin-right: 7px;">待检</el-radio>
                          <el-radio :label="1" style="font-weight: bold;margin-right: 7px;">在检</el-radio>
                          <el-radio :label="2" style="font-weight: bold;margin-right: 7px;">已检</el-radio>
                        </el-radio-group><el-radio v-model="item.isLeave" :label="1" disabled style="font-weight: bold;margin-top: 7px;">留样</el-radio></el-col>
                        </el-radio-group><el-radio v-model="item.isLeave" :label="1" disabled
                          style="font-weight: bold;margin-top: 7px;">留样</el-radio></el-col>
                    </el-row>
                  </div>
                </div>
@@ -230,14 +230,16 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <el-row>
          <el-button @click="printDialogVisible=false">取 消</el-button>
          <el-button @click="printDialogVisible = false">取 消</el-button>
          <el-button :loading="printLoading" type="primary" @click="submitPrint">打 印</el-button>
        </el-row>
      </span>
    </el-dialog>
    <div class="el-dialog__body" style="overflow-y: auto;margin-top: 0;position: fixed;top: 999px;z-index: 99999;display: none;">
    <div class="el-dialog__body"
      style="overflow-y: auto;margin-top: 0;position: fixed;top: 999px;z-index: 99999;display: none;">
      <div id="printMOrder" ref="printMOrder" class="printMOrder">
        <el-card v-for="(item, i) in checkDataList" :key="i+'uuuuu'" class="box-card" style="font-size: 0.20cm !important;page-break-after: always;color: #000;box-shadow: none;margin: 0 !important;padding: 0 !important;">
        <el-card v-for="(item, i) in checkDataList" :key="i + 'uuuuu'" class="box-card"
          style="font-size: 0.20cm !important;page-break-after: always;color: #000;box-shadow: none;margin: 0 !important;padding: 0 !important;">
          <div style="display: flex;">
            <div>
              <el-col :offset="2" :span="10">
@@ -246,7 +248,8 @@
            </div>
            <div style="margin-left: 0.32cm;line-height: 0.22cm;">
              <el-row>
                <el-col  class="single-line-ellipsis" style="font-size: 0.20cm;width: 4cm;"><span>样品编号:&nbsp; </span>{{ item.sampleCode }}</el-col>
                <el-col class="single-line-ellipsis" style="font-size: 0.20cm;width: 4cm;"><span>样品编号:&nbsp; </span>{{
                  item.sampleCode }}</el-col>
              </el-row>
              <el-row style="font-size: 0.20cm;">
                <el-col><span>委托单号:&nbsp; </span>{{ item.code }}</el-col>
@@ -255,18 +258,19 @@
                <el-col><span>规格型号:&nbsp; </span>{{ item.model }}</el-col>
              </el-row>
              <el-row style="font-size: 0.20cm;">
                <el-col ><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
                <el-col><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
              </el-row>
              <el-row style="font-size: 0.20cm;width: 4cm;">
                <el-col class="ellipsis-multiline"><span>检测项目:&nbsp; </span>{{ item.item }}</el-col>
              </el-row>
              <el-row style="margin-top: 0.01cm;font-size: 0.20cm;">
                <el-col  style="display: flex;align-items: center;"><span>样品状态:&nbsp;
                <el-col style="display: flex;align-items: center;"><span>样品状态:&nbsp;
                  </span>
                  <span style="white-space: nowrap;"><span v-if="item.insState==0">√</span><span v-if="item.insState!=0" class="scor"></span>待检
                    <span v-if="item.insState==1">√</span><span v-if="item.insState!=1" class="scor"></span>在检
                    <span v-if="item.insState==2">√</span><span v-if="item.insState!=2" class="scor"></span>已检
                    <span v-if="item.isLeave==1">√</span><span v-if="item.isLeave!=1" class="scor"></span>留样</span>
                  <span style="white-space: nowrap;"><span v-if="item.insState == 0">√</span><span v-if="item.insState != 0"
                      class="scor"></span>待检
                    <span v-if="item.insState == 1">√</span><span v-if="item.insState != 1" class="scor"></span>在检
                    <span v-if="item.insState == 2">√</span><span v-if="item.insState != 2" class="scor"></span>已检
                    <span v-if="item.isLeave == 1">√</span><span v-if="item.isLeave != 1" class="scor"></span>留样</span>
                  <!-- <el-radio-group :value="item.insState" style="margin-top: 3px;margin-left: 1px;" disabled>
                  <el-radio :label="0" style="margin-right: 3px;font-size: 6px;">待检</el-radio>
                  <el-radio :label="1" style="margin-right: 3px;font-size: 6px;">在检</el-radio>
@@ -288,35 +292,53 @@
      </span>
    </el-dialog>
    <!--标签打印弹框-->
    <print-dialog v-if="printDialog" ref="printDialog"
                  :printDialog="printDialog"
                  @closePrintDialog="closePrintDialog"></print-dialog>
    <print-dialog v-if="printDialog" ref="printDialog" :printDialog="printDialog"
      @closePrintDialog="closePrintDialog"></print-dialog>
    <!--添加遗漏检验项弹框-->
    <add-inspection-dia v-if="addInspectionDia" ref="addInspectionDia"></add-inspection-dia>
<!--    <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
<!--                :sonLaboratory="sonLaboratory" :state="state"-->
<!--                :typeSource="typeSource" @goback="goback" @refreshView="refreshView"/>-->
    <!--修改样品型号弹框-->
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
               :visible.sync="dialogVisible" title="修改样品型号" width="80%">
      <el-table ref="sampleTable" :data="sampleList" border highlight-current-row
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
                max-height="400px" tooltip-effect="dark">
        <el-table-column align="center" label="序号" type="index" width="65"></el-table-column>
        <el-table-column align="center" label="样品名称" min-width="100" prop="sample"> </el-table-column>
        <el-table-column align="center" label="样品编号" min-width="100" prop="sampleCode"></el-table-column>
        <el-table-column align="center" label="样品型号" min-width="60" prop="model">
          <template slot-scope="scope">
            <el-input v-model="scope.row.model" clearable placeholder="不填写则系统自动生成"
                      size="small"></el-input>
          </template>
        </el-table-column>
        <el-table-column align="center" label="检验标准" min-width="100" prop="standardMethodName"></el-table-column>
      </el-table>
      <span slot="footer" class="dialog-footer">
            <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button :loading="submitListLoad" type="primary" @click="submitList">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import vueQr from 'vue-qr'
import PrintJS from 'print-js'
import file from "@/utils/file";
import PrintDialog from "@/views/business/productOrder/components/printDialog.vue";
import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue";
import limsTable from "@/components/Table/lims-table.vue";
import {
  checkUpdate, delInsOrder,
  checkUpdate, delInsOrder, getSampleByOrderId,
  rawAllInsOrderExport,
  selectInsOrderParameter, selectNoProducts, selectOrderManDay,
  updateInspected,
  updateOrderEntrustCode, updateStatus, upInsOrder, upPlanUser2
  updateOrderEntrustCode, updateSampleModel, updateStatus, upInsOrder, upPlanUser2
} from "@/api/business/productOrder";
import {selectUserCondition} from "@/api/performance/class";
import {downFile, getFileList, selectSampleAndProductByOrderId} from "@/api/business/rawMaterialOrder";
// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
import { selectUserCondition } from "@/api/performance/class";
import { downFile, getFileList, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder";
import {mapGetters} from "vuex";
export default {
  name: 'ProductOrder',
  components: {
    limsTable,
    AddInspectionDia,
@@ -325,19 +347,39 @@
  },
  data() {
    return {
      isLoading: false, // 控制加载状态
      entity: {
        orderType: '',
        state: '',
      },
      upIndex: 0,
      tableData: [],
      tableLoading: false,
      column: [
        {label: '委托编号', prop: 'entrustCode'},
        {label: '委托单位', prop: 'company'},
        {label: '样品名称', prop: 'sampleName'},
        {label: '样品型号', prop: 'sampleModel'},
        {label: '样品数量', prop: 'sampleNum'},
        {label: '检验人', prop: 'testingName'},
        {
          label: "委托编号",
          prop: "entrustCode",
          width: "160px",
          dataType: "link",
          linkMethod: "changeEntrustCode",
        },
        { label: '委托单位', prop: 'company' },
        {
          label: "样品名称",
          prop: "sampleName",
          width: "160px",
          dataType: "link",
          linkMethod: "selectAllByOne",
        },
        {
          label: "样品型号",
          prop: "sampleModel",
          width: "160px",
          dataType: "link",
          linkMethod: "editSampleModel",
        },
        { label: '样品数量', prop: 'sampleNum' },
        { label: '检验人', prop: 'testingName' },
        {
          dataType: 'tag',
          label: '紧急程度',
@@ -361,9 +403,9 @@
            }
          }
        },
        {label: '备注', prop: 'remark'},
        {label: '检验进度%', prop: 'insProgress'},
        {label: '约定时间', prop: 'appointed'},
        { label: '备注', prop: 'remark' },
        { label: '检验进度%', prop: 'insProgress' },
        { label: '约定时间', prop: 'appointed' },
        {
          dataType: 'tag',
          label: '检验结果',
@@ -386,15 +428,15 @@
              return 'danger'
            } else if (params == 3) {
              return ''
            }  else {
            } else {
              return null
            }
          }
        },
        {label: '下单时间', prop: 'createTime'},
        {label: '下发时间', prop: 'sendTime'},
        {label: '退回理由', prop: 'tell'},
        {label: '委托人', prop: 'prepareUser'},
        { label: '下单时间', prop: 'createTime' },
        { label: '下发时间', prop: 'sendTime' },
        { label: '退回理由', prop: 'tell' },
        { label: '委托人', prop: 'prepareUser' },
        {
          dataType: 'action',
          fixed: 'right',
@@ -472,7 +514,7 @@
                this.handlEquashCheck(row);
              },
              disabled: (row, index) => {
                return (row.state != 1 && row.state != 0)||(this.tabIndex!=1)||row.isRevocation!=1
                return (row.state != 1 && row.state != 0) || (this.tabIndex != 1) || row.isRevocation != 1
              },
              showHide: (row) => {
                return this.tabIndex === 1
@@ -515,23 +557,23 @@
        }
      ],
      page: {
        total:0,
        size:10,
        current:1
        total: 0,
        size: 20,
        current: 1
      },
      state:0,// 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      state: 0,// 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      InspectionKey: 1,
      inspectorList: [],//检验人员列表
      sonLaboratory: null,// 0:委托,1:原材料
      typeSource: null,// 0:成品下单,1:原材料下单
      deleteTilte:'撤销',
      deleteTilte: '撤销',
      examine: null,
      deleteList:[],
      loadPint:false,
      deleteList: [],
      loadPint: false,
      checkAll: false,
      isIndeterminate: true,
      printLoading:false,
      printDialogVisible:false,
      printLoading: false,
      printDialogVisible: false,
      //是否审核通过  true是 false不是
      isPass: false,
      //是否审核撤销  true是 false不是
@@ -540,25 +582,26 @@
      quashDialogVisible: false,
      issuedDialogVisible: false,
      dataDialogVisible: false, // 数据查看弹框
      currentRow: {}, // 数据查看弹框
      tableDataLookTableLoading: false, // 数据查看弹框
      tableDataLook: [],
      tableDataLookPage: {
        total:0,
        size:10,
        current:1
        total: 0,
        size: 20,
        current: 1
      },
      tableDataLookColumn: [
        {label: '样品编号', prop: 'sampleCode'},
        {label: '样品名称', prop: 'sample'},
        {label: '检验项分类', prop: 'inspectionItemClass'},
        {label: '检验项', prop: 'inspectionItem'},
        {label: '检验子项', prop: 'inspectionItemSubclass'},
        {label: '单位', prop: 'unit'},
        {label: '样品型号', prop: 'model'},
        {label: '条件', prop: 'radius'},
        {label: '电缆标识', prop: 'cableTag'},
        {label: '试验要求', prop: 'tell'},
        {label: '检验结果', prop: 'lastValue'},
        { label: '样品编号', prop: 'sampleCode', width: '160px' },
        { label: '样品名称', prop: 'sample' },
        { label: '检验项分类', prop: 'inspectionItemClass' },
        { label: '检验项', prop: 'inspectionItem' },
        { label: '检验子项', prop: 'inspectionItemSubclass' },
        { label: '单位', prop: 'unit' },
        { label: '样品型号', prop: 'model' },
        { label: '条件', prop: 'radius' },
        { label: '电缆标识', prop: 'cableTag' },
        { label: '试验要求', prop: 'tell' },
        { label: '检验结果', prop: 'lastValue' },
        {
          dataType: 'tag',
          label: '结果判定',
@@ -581,7 +624,7 @@
              return 'danger'
            } else if (params == 3) {
              return ''
            }  else {
            } else {
              return ''
            }
          }
@@ -614,9 +657,9 @@
            }
          }
        },
        {label: '附件名称', prop: 'fileName'},
        {label: '上传人', prop: 'name'},
        {label: '上传时间', prop: 'createTime'},
        { label: '附件名称', prop: 'fileName' },
        { label: '上传人', prop: 'name' },
        { label: '上传时间', prop: 'createTime' },
        {
          dataType: 'action',
          fixed: 'right',
@@ -634,9 +677,9 @@
        }
      ],
      pageFile: {
        total:0,
        size:10,
        current:1
        total: 0,
        size: 20,
        current: 1
      },
      formData: {},
      formData0: {},
@@ -646,43 +689,43 @@
        sampleId: '',
        appointed: '',
        userId: '',
        sonLaboratory:''
        sonLaboratory: ''
      },
      entrustCodeVisible: false, // 修改委托编号弹框
      entrustCodeInfo: {},
      submitCodeLoading: false,
      // 人员列表
      personList: [],
      orderId:'',
      revocationInsProductIds:'',
      orderId: '',
      revocationInsProductIds: '',
      componentDataDelete: [],
      tableLoadingDelete: false,
      columnDelete: [
        {label: '样品编号', prop: 'sampleCode'},
        {label: '检验项分类', prop: 'inspectionItemClass'},
        {label: '检验项', prop: 'inspectionItem'},
        {label: '检验项子类', prop: 'inspectionItemSubclass'},
        {label: '样品分类', prop: 'sampleType'},
        {label: '样品', prop: 'sample'},
        {label: '型号', prop: 'model'},
        {label: '线芯', prop: 'cableTag'},
        {label: '试验室', prop: 'sonLaboratory'},
        {label: '要求值', prop: 'ask'},
        {label: '要求描述', prop: 'tell'},
        { label: '样品编号', prop: 'sampleCode', width: '160px' },
        { label: '检验项分类', prop: 'inspectionItemClass' },
        { label: '检验项', prop: 'inspectionItem' },
        { label: '检验项子类', prop: 'inspectionItemSubclass' },
        { label: '样品分类', prop: 'sampleType' },
        { label: '样品', prop: 'sample' },
        { label: '型号', prop: 'model' },
        { label: '线芯', prop: 'cableTag' },
        { label: '试验室', prop: 'sonLaboratory' },
        { label: '要求值', prop: 'ask' },
        { label: '要求描述', prop: 'tell' },
      ],
      pageDelete: {
        total:0,
        size:10,
        current:1
        total: 0,
        size: 20,
        current: 1
      },
      deleteDialogVisible:false,
      deleteDialogVisible: false,
      upLoad: false,
      tabList: [
        {
          label: '待审核',
          value: 0
        }, {
          label: '待检验',
          label: '检验中',
          value: 1
        },
        {
@@ -709,24 +752,27 @@
      tabIndex: 0,
      active: 0, //1:下单,2:查看,3:审核,4:光纤配置,默认为0
      currentId: null,
      more:false,
      insOrderRow:{},
      checkIndexList:[],
      checkDataList:[
      more: false,
      insOrderRow: {},
      checkIndexList: [],
      checkDataList: [
        {
          sampleCode:'11111'
          sampleCode: '11111'
        }
      ],
      qrData:[],
      multipleSelection:[],
      sonLaboratoryList:[],
      qrData: [],
      multipleSelection: [],
      sonLaboratoryList: [],
      printDialog: false,
      addInspectionDia: false
      addInspectionDia: false,
      dialogVisible: false,
      submitListLoad: false,
      sampleList: []
    }
  },
  watch:{
    printDialogVisible(newVal){
      if(!newVal){
  watch: {
    printDialogVisible(newVal) {
      if (!newVal) {
        this.qrData = []
        this.checkIndexList = []
        this.checkDataList = []
@@ -734,14 +780,25 @@
      }
    }
  },
  computed: {
    ...mapGetters(["nickName"]),
  },
  mounted() {
    if (this.checkPermi(['get:raw:await'])) {
      this.tabIndex = 0
    } else {
      this.tabIndex = 2
    }
    this.refreshTable()
    this.getAuthorizedPerson()
  },
  activated() {
    this.refreshTable()
  },
  methods: {
    // 查询列表数据
    refreshTable() {
      if (this.tabIndex !== 2 && this.tabIndex !==3) {
      if (this.tabIndex !== 2 && this.tabIndex !== 3) {
        this.entity.orderType = ''
      } else {
        if (this.tabIndex === 2) {
@@ -750,33 +807,38 @@
          this.entity.orderType = '抽检'
        }
      }
      const params = {...this.entity, state: this.tabList[this.tabIndex].value}
      this.tableLoading = true
      selectInsOrderParameter(params).then(res => {
      const params = { ...this.entity, state: this.tabList[this.tabIndex].value }
      this.isLoading = true; // 开始加载
      selectInsOrderParameter({...this.page,...params}).then(res => {
        this.isLoading = false; // 结束加载
        this.upIndex++
        this.tableLoading = false
        if (res.code === 200) {
          this.tableData = res.data.records
          this.page.total = res.data.total
        }
      }).catch(err => {
        this.tableLoading = false
        this.isLoading = false; // 结束加载
      })
    },
    refresh() {
      this.resetForm('entity')
      this.refreshTable()
    },
    pagination (page) {
    pagination(page) {
      this.page.size = page.limit
      this.refreshTable()
    },
    // 打开修改委托编号弹框
    changeEntrustCode (row) {
    changeEntrustCode(row) {
      if (this.tabIndex !== 1) {
        return
      }
      this.entrustCodeVisible = true
      this.entrustCodeInfo = {...row}
      this.entrustCodeInfo = { ...row }
    },
    // 提交修改委托编号
    submitCode () {
    submitCode() {
      this.submitCodeLoading = true
      updateOrderEntrustCode({
        id: this.entrustCodeInfo.id,
@@ -792,33 +854,33 @@
        this.submitCodeLoading = false
      })
    },
    selectMethod(val){
    selectMethod(val) {
      this.multipleSelection = val
    },
    //选择要打印的二维码
    changePrintCode(){
    changePrintCode() {
      let indexList = this.checkIndexList
      let arr = []
      indexList.forEach(i=>{
      indexList.forEach(i => {
        arr.push(this.qrData[i])
      })
      this.checkDataList = arr
    },
    //全选
    handleCheckAllChange(val) {
      if(val){
        for(var i=0;i<this.qrData.length;i++){
      if (val) {
        for (var i = 0; i < this.qrData.length; i++) {
          this.checkIndexList.push(i)
        }
        this.checkDataList = this.qrData
      }else{
      } else {
        this.checkIndexList = []
        this.checkDataList = []
      }
      this.isIndeterminate = false;
    },
    submitPrint(){
      if(this.checkDataList.length < 1){
    submitPrint() {
      if (this.checkDataList.length < 1) {
        this.$message.warning("请选择要打印的二维码")
        return
      }
@@ -826,7 +888,7 @@
      PrintJS({
        printable: 'printMOrder',//页面
        type: "html",//文档类型
        maxWidth:360,
        maxWidth: 360,
        style: `@page {
                margin:0;
                size: 400px 75px collapse;
@@ -843,13 +905,13 @@
                height: 75px;
                margin:0;
              }`,
        onPrintDialogClose: this.erexcel=false,
        onPrintDialogClose: this.erexcel = false,
        targetStyles: ["*"], // 使用dom的所有样式,很重要
        font_size: '0.20cm',
      });
    },
    // 打开添加检验项弹框
    openAddIns () {
    openAddIns() {
      if (this.multipleSelection.length === 0) {
        this.$message.warning('请选择需要添加检验项的数据')
        return
@@ -864,21 +926,22 @@
      })
    },
    // 导出记录
    downLoad () {
      rawAllInsOrderExport({...this.entity, responseType: "blob"}).then(res => {
        this.$message.success('导出成功')
        const blob = new Blob([res],{ type: 'application/octet-stream' });
        const url = URL.createObjectURL(blob);
        const link = document.createElement('a');
        link.href = url;
        link.download = '委托检测信息导出' + '.xlsx';
        link.click();
    downLoad() {
      let params = {}
      if (this.multipleSelection.length > 0) {
        params.ids = this.multipleSelection.map(item => item.id).join(',');
      } else {
        params = { ...this.entity, state: this.tabList[this.tabIndex].value }
      }
      rawAllInsOrderExport({ ...params }).then(res => {
        const blob = new Blob([res], { type: 'application/octet-stream' });
        this.$download.saveAs(blob, '委托检测信息导出.xlsx');
      }).catch(err => {
        console.log('err---', err);
      })
    },
    // 打开标签打印弹框
    openPrint () {
    openPrint() {
      if (this.multipleSelection.length > 0) {
        this.printDialog = true
        this.$nextTick(() => {
@@ -890,12 +953,12 @@
      }
    },
    // 关闭标签打印弹框
    closePrintDialog () {
    closePrintDialog() {
      this.printDialog = false
    },
    // 获取指派人员下拉列表
    getAuthorizedPerson() {
      selectUserCondition({type: 1}).then(res => {
      selectUserCondition({ type: 1 }).then(res => {
        let data = []
        res.data.forEach(a => {
          data.push({
@@ -920,27 +983,65 @@
      this.dataDialogVisible = false;
      this.upLoad = false;
    },
    // 详情
    // 点击样品名称
    selectAllByOne(row) {
      this.active = 2;
      // console.log(row);
      // //打开弹框
      // this.dialogVisible = true;
      // //row = 点击对应行值
      // //复制给formData
      // this.formData = this.HaveJson(row);
      this.currentId = row.id
      this.examine = 1
      if (this.tabIndex === 4) {
        this.$router.push({
          path: "/productOrder/addOrder", query: {
            examine: 1,
            active: 2,
            currentId: row.id,
            tabIndex: this.tabIndex,
          }
        });
      } else {
        this.$router.push({
          path: "/productOrder/addView", query: {
            examine: 1,
            active: 2,
            currentId: row.id,
            tabIndex: this.tabIndex,
          }
        });
      }
    },
    // 修改样品型号
    editSampleModel (row) {
      if (this.tabIndex !== 1) {
        return
      }
      this.dialogVisible = true
      this.getDataList(row)
    },
    getDataList(row) {
      this.dialogVisible = true
      getSampleByOrderId({insOrderId: row.id}).then(res => {
        this.sampleList = res.data
      })
    },
    // 提交样品型号修改
    submitList () {
      this.submitListLoad = true
      updateSampleModel(this.sampleList).then(res => {
        this.submitListLoad = false
        this.dialogVisible = false
        this.$message.success('修改成功')
        this.refreshTable()
      }).catch(err => {
        this.submitListLoad = false
      })
    },
    // 数据查看
    handleDataLook(row) {
      this.dataDialogVisible = true;
      this.getDataTableList(row)
      this.currentRow = row;
      this.getDataTableList(this.currentRow)
    },
    // 查询数据查看列表数据
    getDataTableList (row) {
    getDataTableList(row) {
      this.tableDataLookTableLoading = true
      selectSampleAndProductByOrderId({id: row.id}).then(res => {
      selectSampleAndProductByOrderId({ id: row.id, ...this.tableDataLookPage }).then(res => {
        this.tableDataLookTableLoading = false
        if (res.code === 200) {
          this.tableDataLook = res.data.records
@@ -950,18 +1051,26 @@
        this.tableDataLookTableLoading = false
      })
    },
    tableDataLookPagination (page) {
    tableDataLookPagination(page) {
      this.tableDataLookPage.size = page.limit
      this.getDataTableList()
      this.getDataTableList(this.currentRow)
    },
    closeDia () {
      this.tableDataLookPage = {
        total: 0,
        size: 20,
        current: 1
      }
      this.dataDialogVisible = false
    },
    // 附件查看
    handleFileLook (row) {
    handleFileLook(row) {
      this.filesDialogVisible = true
      this.getFileList(row)
    },
    getFileList(row) {
      this.tableLoadingFile = true
      getFileList({insOrderId: row.id}).then(res => {
      getFileList({ insOrderId: row.id }).then(res => {
        this.tableLoadingFile = false
        if (res.code === 200) {
          this.tableDataFile = res.data.records
@@ -971,35 +1080,23 @@
        this.tableLoadingFile = false
      })
    },
    paginationFile (page) {
    paginationFile(page) {
      this.pageFile.size = page.limit
      this.getFileList()
    },
    // 附件下载
    handleDown(row){
    handleDown(row) {
      downFile({
        id: row.id,
      }).then(res => {
        if (res.code === 200) {
          let url = '';
          if(res.data.type==1){
            url = this.javaApi+'/img/'+res.data.fileUrl
            file.downloadIamge(url,row.fileName)
          }else{
            url = this.javaApi+'/word/'+res.data.fileUrl
            const link = document.createElement('a');
            link.href = url;
            link.download = row.fileName;
            link.click();
          }
        }
        this.$download.saveAs(res.data.fileUrl, row.fileName);
      }).catch(error => {
      })
    },
    // 下载报告
    download(row) {
      let url = row.urlS?row.urlS:row.url;
      let url = row.urlS ? row.urlS : row.url;
      if(url){
        url = url.split('.')[0]+'.pdf'
        const link = document.createElement('a');
@@ -1011,10 +1108,10 @@
    },
    // 撤销
    handlEquash(row) {
      if(this.tabIndex!=1){
      if (this.tabIndex != 1) {
        this.quashDialogVisible = true;
        this.insOrderRow=row
      }else{
        this.insOrderRow = row
      } else {
        this.orderId = row.id
        this.revocationInsProductIds = ''
        this.deleteTilte = '撤销'
@@ -1022,9 +1119,9 @@
        this.getDeleteList()
      }
    },
    getDeleteList () {
    getDeleteList() {
      this.tableLoadingDelete = true
      selectNoProducts({orderId: this.orderId, revocationInsProductIds: this.revocationInsProductIds}).then(res => {
      selectNoProducts({ orderId: this.orderId, revocationInsProductIds: this.revocationInsProductIds, ...this.pageDelete }).then(res => {
        this.tableLoadingDelete = false
        this.componentDataDelete = res.data.records
        this.pageDelete.total = res.data.total
@@ -1032,54 +1129,54 @@
        this.tableLoadingDelete = false
      })
    },
    paginationDelete (page) {
    paginationDelete(page) {
      this.pageDelete.size = page.limit
      this.getDeleteList()
    },
    selectDelete(arr){
    selectDelete(arr) {
      this.deleteList = arr;
    },
    submitDelete(){
      if(this.deleteTilte=='撤销'){
        if(this.deleteList.length==0){
    submitDelete() {
      if (this.deleteTilte == '撤销') {
        if (this.deleteList.length == 0) {
          this.$message.error('请选择要撤销的项')
          return
        }
        let ids = this.deleteList.map(m=>m.id).join(',')
        let ids = this.deleteList.map(m => m.id).join(',')
        this.printLoading = true;
        updateInspected({ids: ids,orderId: this.orderId}).then(res=>{
          if (res.code===200){
            this.printLoading=false
            this.deleteDialogVisible=false
        updateInspected({ ids: ids, orderId: this.orderId }).then(res => {
          if (res.code === 200) {
            this.printLoading = false
            this.deleteDialogVisible = false
            this.refreshTable('page')
            this.$message.success("更新成功")
          }
        })
      }else{
        checkUpdate({orderId: this.orderId, state: 1}).then(res=>{
          if (res.code===200){
            this.printLoading=false
            this.deleteDialogVisible=false
      } else {
        checkUpdate({ orderId: this.orderId, state: 1 }).then(res => {
          if (res.code === 200) {
            this.printLoading = false
            this.deleteDialogVisible = false
            this.refreshTable('page')
            this.$message.success("更新成功")
          }
        })
      }
    },
    handlEquashCheck(row){
    handlEquashCheck(row) {
      this.orderId = row.id
      this.revocationInsProductIds = row.revocationInsProductIds
      this.deleteTilte = '撤销审核'
      this.deleteDialogVisible = true;
    },
    handleNo(){
      if(this.deleteTilte=='撤销'){
        this.deleteDialogVisible=false
      }else{
        checkUpdate({orderId: this.orderId, state: 0}).then(res=>{
          if (res.code===200){
            this.printLoading=false
            this.deleteDialogVisible=false
    handleNo() {
      if (this.deleteTilte == '撤销') {
        this.deleteDialogVisible = false
      } else {
        checkUpdate({ orderId: this.orderId, state: 0 }).then(res => {
          if (res.code === 200) {
            this.printLoading = false
            this.deleteDialogVisible = false
            this.refreshTable('page')
            this.$message.success("更新成功")
          }
@@ -1098,14 +1195,14 @@
        this.distributeData.type = row.type
      })
      upPlanUser2({
        orderId:row.id,
        orderId: row.id,
      }).then(res => {
        if (res.code === 200&&res.data.length>0) {
        if (res.code === 200 && res.data.length > 0) {
          this.sonLaboratoryList = [];
          res.data.forEach(m=>{
          res.data.forEach(m => {
            this.sonLaboratoryList.push({
              value:m,
              label:m
              value: m,
              label: m
            })
          })
        }
@@ -1117,11 +1214,11 @@
        return
      }
      //
      if(this.distributeData.userId==null||this.distributeData.userId==''){
      if (this.distributeData.userId == null || this.distributeData.userId == '') {
        this.$message.error('指派人员未填写')
        return
      }
      if(this.distributeData.userId&&(this.distributeData.sonLaboratory==null||this.distributeData.sonLaboratory=='')){
      if (this.distributeData.userId && (this.distributeData.sonLaboratory == null || this.distributeData.sonLaboratory == '')) {
        this.$message.error('试验室未填写')
        return
      }
@@ -1131,12 +1228,8 @@
        sampleId: this.distributeData.sampleId,
        appointed: this.distributeData.appointed,
        userId: this.distributeData.userId,
        sonLaboratory:this.distributeData.sonLaboratory,
        sonLaboratory: this.distributeData.sonLaboratory,
      }).then(res => {
        if (res.code === 201) {
          this.upLoad = false
          return
        }
        this.$message.success('修改成功')
        this.upLoad = false
        this.issuedDialogVisible = false
@@ -1148,18 +1241,18 @@
    },
    submitForm() {
      this.upLoad = true;
      if (this.tabIndex==1){
        updateInspected({id: this.insOrderRow.id}).then(res=>{
          if (res.code===200){
            this.upLoad=false
            this.quashDialogVisible=false
      if (this.tabIndex == 1) {
        updateInspected({ id: this.insOrderRow.id }).then(res => {
          if (res.code === 200) {
            this.upLoad = false
            this.quashDialogVisible = false
            this.refreshTable()
            this.$message.success("更新成功")
          }
        })
      }else{
        updateStatus({id: this.insOrderRow.id}).then(res=>{
          if (res.code===200){
      } else {
        updateStatus({ id: this.insOrderRow.id }).then(res => {
          if (res.code === 200) {
            this.upLoad = false
            this.quashDialogVisible = false
            this.refreshTable('page')
@@ -1176,59 +1269,75 @@
    },
    // 下单
    playOrder(num) {
      this.$router.push({ path: "/productOrder/add", query: {examine: 0,active: num, tabIndex: this.tabIndex} });
      this.$router.push({ path: "/productOrder/addOrder", query: { examine: 0, active: num, tabIndex: this.tabIndex } });
    },
    // 审核
    handleVerify(row) {
      this.$router.push({ path: "/productOrder/add", query: {examine: 1,active: 3, currentId: row.id} });
      this.$router.push({ path: "/productOrder/addView", query: { examine: 1, active: 3, currentId: row.id } });
    },
    handleTab(m, i) {
    handleTab(i) {
      this.tabIndex = i;
      this.multipleSelection = []
      this.refreshTable()
    },
    // 查看检验数据
    viewInspectInfo (row) {
    viewInspectInfo(row) {
      //当前检验任务的检验人列表
      let inspectorList = []
      if(row.userName){
      if (row.userName) {
        inspectorList = row.userName.split(',')
      }
      let user = JSON.parse(localStorage.getItem('user'))
      if(user){
        inspectorList.push(user.name)
      inspectorList.push(this.nickName)
      if (this.checkPermi(['business:inspectionView'])) {
        this.$router.push({
          name: "InspectionView",
          query: {
            sonLaboratory: row.sonLaboratory,
            state: 3,
            typeSource: row.typeSource,
            orderId: row.id,
            inspectorList: inspectorList,
          },
        })
      } else {
        this.$router.push({
          path: "/inspectionTask/inspection",
          query: {
            sonLaboratory: row.sonLaboratory,
            state: 3,
            typeSource: row.typeSource,
            orderId: row.id,
            inspectorList: inspectorList,
          },
        })
      }
      this.inspectorList = inspectorList
      this.sonLaboratory = row.sonLaboratory
      this.state = 3;
      this.typeSource = row.typeSource
      this.orderId = row.id
    },
    goback() {
      this.state = 0
      this.refreshTable('page')
    },
    // 刷新页面
    refreshView () {
    refreshView() {
      this.InspectionKey++
    },
    changeUser(){
      if(this.sonLaboratoryList.length>0){
    changeUser() {
      if (this.sonLaboratoryList.length > 0) {
        this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value
      }
    },
    handleDelete(row){
    handleDelete(row) {
      this.$confirm('是否删除当前数据?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(() => {
        delInsOrder({insOrderId: row.id}).then(res => {
        delInsOrder({ insOrderId: row.id }).then(res => {
          this.$message.success('删除成功')
          this.refreshTable()
        }).catch(e => {
          this.$message.error('删除失败')
        })
      }).catch(() => {})
      }).catch(() => { })
    }
  }
}
@@ -1239,6 +1348,7 @@
  justify-content: space-between;
  align-items: center;
}
.tab {
  list-style-type: none;
  display: flex;
@@ -1268,10 +1378,12 @@
  border-color: #3A7BFA;
  color: #3A7BFA;
}
.box-card >>>.el-radio__inner {
.box-card>>>.el-radio__inner {
  border-radius: 2px !important;
}
.box-card >>>.el-radio__input.is-checked .el-radio__inner::after {
.box-card>>>.el-radio__input.is-checked .el-radio__inner::after {
  content: '';
  width: 8px;
  height: 3px;
@@ -1287,13 +1399,16 @@
  border-radius: 0px;
  background: none;
}
>>>.el-radio__label{
>>>.el-radio__label {
  color: #000 !important;
}
.el-dialog__body >>>.el-radio__label{
.el-dialog__body>>>.el-radio__label {
  font-size: 8px;
}
.el-dialog__body >>>.el-radio__input.is-checked .el-radio__inner::after {
.el-dialog__body>>>.el-radio__input.is-checked .el-radio__inner::after {
  content: '';
  width: 4px;
  height: 3px;
@@ -1309,38 +1424,48 @@
  border-radius: 0px;
  background: none;
}
>>>.el-radio__input.is-disabled.is-checked .el-radio__inner{
>>>.el-radio__input.is-disabled.is-checked .el-radio__inner {
  background: #3A7BFA;
}
.el-dialog__body >>>.el-radio__input.is-disabled.is-checked .el-radio__inner{
.el-dialog__body>>>.el-radio__input.is-disabled.is-checked .el-radio__inner {
  background: transparent;
}
.el-dialog__body >>>.el-radio__inner{
.el-dialog__body>>>.el-radio__inner {
  width: 8px !important;
  height: 8px !important;
}
.el-dialog__body >>>.el-radio__label{
.el-dialog__body>>>.el-radio__label {
  padding-left: 2px !important;
}
.el-dialog__body >>>.el-card__body{
.el-dialog__body>>>.el-card__body {
  padding: 0 !important;
}
.el-dialog__body >>>.el-card {
.el-dialog__body>>>.el-card {
  border: none;
}
.el-dialog__body >>>.el-radio__input.is-disabled .el-radio__inner{
.el-dialog__body>>>.el-radio__input.is-disabled .el-radio__inner {
  border-color: #000 !important;
}
.el-dialog__body >>>.el-radio__input.is-disabled.is-checked .el-radio__inner{
.el-dialog__body>>>.el-radio__input.is-disabled.is-checked .el-radio__inner {
  border: none !important;
}
.scor{
.scor {
  width: 0.01cm;
  height: 0.01cm;
  border-radius: 1px;
  border: 1px solid #000;
  display: inline-block;
}
.ellipsis-multiline {
  display: -webkit-box;
  -webkit-line-clamp: 2;
@@ -1348,8 +1473,11 @@
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: break-word;
  max-height: 3.0em; /* 高度为字体大小的两倍 */
  line-height: 1.5em; /* 行高 */
  height: 3.0em; /* 高度为行高的两倍 */
  max-height: 3.0em;
  /* 高度为字体大小的两倍 */
  line-height: 1.5em;
  /* 行高 */
  height: 3.0em;
  /* 高度为行高的两倍 */
}
</style>