spring
2025-04-09 c7f3b447415448e6ae570882900ee129590f580b
src/views/business/inspectionTask/index.vue
@@ -1,52 +1,42 @@
<template>
  <div class="ins-order-plan-main">
  <div class="app-container">
    <div style="height: 100%">
      <div class="search">
        <div class="search_thing">
          <div class="search_label">委托编号:</div>
          <div class="search_input">
        <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
          <el-form-item label="委托编号" prop="entrustCode">
            <el-input v-model="queryParams.entrustCode" clearable placeholder="请输入" size="small"
              @keyup.enter.native="refreshTable()"></el-input>
          </div>
        </div>
        <div class="search_thing">
          <div class="search_label">检验状态:</div>
          <div class="search_input">
          </el-form-item>
          <el-form-item label="检验状态" prop="insState">
            <el-select v-model="queryParams.insState" size="small" style="width: 100%" @change="refreshTable()">
              <el-option v-for="(a, i) in dict.type.inspection_task_state" :key="i" :label="a.label"
                :value="a.value"></el-option>
            </el-select>
          </div>
        </div>
        <div class="search_thing" style="padding-left: 30px">
          <el-button size="small" @click="refresh()">重 置</el-button>
          <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
        </div>
          </el-form-item>
          <el-form-item>
            <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="center">
        <div class="center-options">
          <el-row>
            <el-col :span="21">
              <div style="display: flex; align-items: center">
                <span style="font-size: 14px">试验室种类:</span>
                <ul class="tab">
                  <li v-for="(m, i) in tabList" :key="i" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">
                    {{ m.label.replace("试验室", "") }}
                  </li>
                </ul>
                <div>
                  <el-checkbox v-model="alone" class="view-self-checkbox"
                    @change="changeCheckBox"><span>我的任务</span></el-checkbox>
                </div>
              </div>
            </el-col>
            <el-col :span="3">
              <div class="center-title">
                <span>总计任务数量:</span>
                <span>{{ page.total }}</span>
              </div>
            </el-col>
          </el-row>
          <div style="display: flex; align-items: center">
            <span style="font-size: 14px">试验室种类:</span>
            <ul class="tab">
              <li v-for="(m, i) in tabList" :key="i" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">
                {{ m.label.replace("试验室", "") }}
              </li>
            </ul>
            <div>
              <el-checkbox v-model="alone" class="view-self-checkbox"
                @change="changeCheckBox"><span>我的任务</span></el-checkbox>
            </div>
          </div>
          <div class="center-title">
            <span>总计任务数量:</span>
            <span>{{ page.total }}</span>
          </div>
        </div>
        <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0">
@@ -56,17 +46,17 @@
              :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])"
              @click="editInspection(scope.row)">修改检验值</el-button>
            <el-button type="text" size="small" :disabled="(
              scope.row.userName == null ||
              scope.row.insState == 3 ||
              scope.row.insState == 5 ||
              (scope.row.userName && !scope.row.userName.includes(nickName))
            )" @click="handleInspection(scope.row)">检验</el-button>
          scope.row.userName == null ||
          scope.row.insState == 3 ||
          scope.row.insState == 5 ||
          (scope.row.userName && !scope.row.userName.includes(nickName))
        )" @click="handleInspection(scope.row)">检验</el-button>
            <el-button type="text" size="small" :disabled="(
              scope.row.userName == null ||
              scope.row.insState == 5 ||
              scope.row.insState == 3 ||
              (scope.row.userName && !scope.row.userName.includes(nickName))
            )" @click="handleConnect(scope.row)">交接</el-button>
          scope.row.userName == null ||
          scope.row.insState == 5 ||
          scope.row.insState == 3 ||
          (scope.row.userName && !scope.row.userName.includes(nickName))
        )" @click="handleConnect(scope.row)" v-if="tabIndex != 0">交接</el-button>
            <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">原始记录</el-button>
            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px">
              <template #reference>
@@ -74,21 +64,21 @@
              </template>
              <div>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px"
                  type="text" size="small" @click="download(scope.row)">下载报告</el-button>
                <el-upload ref='upload' :action="javaApi + '/insReport/inReport'" :before-upload="beforeUpload"
                  :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError"
                  :on-success="handleSuccessUp" :show-file-list="false" style="display: inline;margin: 0 6px"
                  accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
                  <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                    (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
                    type="text">上传</el-button>
                </el-upload>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
                  @click="handleRestore(scope.row)">还原</el-button>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
                  @click="handleIssued(scope.row)">查看报告</el-button>
              </div>
            </el-popover>
@@ -98,8 +88,8 @@
    </div>
    <el-dialog :visible.sync="claimVisible" title="提示" width="400px">
      是否认领委托编号<span style="color: #33c130">{{
        sampleUserForm.entrustCode
      }}</span>的任务
          sampleUserForm.entrustCode
        }}</span>的任务
      <span slot="footer" class="dialog-footer">
        <el-button @click="claimVisible = false">取 消</el-button>
        <el-button :loading="loading" type="primary" @click="confirmClaim">确 定</el-button>
@@ -263,6 +253,7 @@
  },
  data() {
    return {
      workShopId: null,
      issuedVisible: false,
      fullscreen: false,
      lookDialogVisible: false,
@@ -285,7 +276,7 @@
      claimVisible: false,
      tabList: [
        { label: "委托", value: 0 },
        { label: "原辅料", value: 1 },
        { label: "原材料", value: 1 },
      ],
      active: 1,
      tabIndex: 0,
@@ -293,8 +284,8 @@
      planTotal: 0,
      insStateList: [],
      state: 0, // 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      typeSource: null, // 0:成品下单,1:原辅料下单
      sonLaboratory: null, // 0:委托,1:原辅料
      typeSource: null, // 0:成品下单,1:原材料下单
      sonLaboratory: null, // 0:委托,1:原材料
      activeFace: 0, // 1:下单,2:查看,3:审核,默认为0
      currentId: null,
      entityCopy: {},
@@ -310,7 +301,7 @@
      sonLaboratoryList: [],
      typeSourceList: [
        { label: "成品下单", value: 0 },
        { label: "原辅料下单", value: 1 },
        { label: "原材料下单", value: 1 },
      ],
      customsInspection: {},
      showInfoDialog: false, // 产业链信息查看
@@ -340,7 +331,7 @@
        },
        {
          value: "Quarterly inspection",
          label: "季度检验",
          label: "可靠性检验",
          type: "warning",
          effect: "plain",
        },
@@ -366,7 +357,7 @@
            if (params == 0) {
              return "成品下单";
            } else {
              return "原辅料下单";
              return "原材料下单";
            }
          },
        },
@@ -506,6 +497,7 @@
            }
          },
        },
        { label: "检验人", prop: "checkUserName" },
        {
          dataType: "action",
          fixed: "right",
@@ -740,7 +732,7 @@
      this.currentId = parseInt(row.id);
      switch (row.isCopper) {
        case 0:
          // 原辅料
          // 原材料
          this.$router.push({
            path: "/materialOrder/customsInspection", query: {
              customsInspection: row,
@@ -788,6 +780,7 @@
      }
      this.inspectorList = inspectorList;
      this.sonLaboratory = row.sonLaboratory;
      this.workShopId = row.workShopId;
      this.state = 1;
      this.typeSource = row.typeSource;
      this.orderId = row.id;
@@ -799,6 +792,7 @@
          state: this.state,
          typeSource: this.typeSource,
          orderId: this.orderId,
          workShopId: row.workShopId
        },
      });
    },
@@ -997,14 +991,6 @@
};
</script>
<style scoped>
.search {
  background-color: #fff;
  height: 40px;
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.search_thing {
  display: flex;
  align-items: center;
@@ -1019,20 +1005,6 @@
.search_input {
  width: calc(100% - 120px);
}
.ins-order-plan-main .search {
  width: 100%;
  height: 40px;
  background-color: #fff;
  border-radius: 3px;
}
.ins-order-plan-main .center {
  background-color: #fff;
  border-radius: 3px;
  padding: 20px;
  padding-top: 0px;
}
.tab {
@@ -1063,11 +1035,10 @@
  color: #3a7bfa;
}
.center .center-options .center-title {
  width: 100%;
.center-options {
  display: flex;
  align-items: center;
  justify-content: right;
  justify-content: space-between;
}
.center .center-options .center-title span:last-child {
@@ -1078,10 +1049,5 @@
.view-self-checkbox {
  margin-left: 50px;
}
</style>
<style>
.ins-order-plan-main .el-form-item__label {
  color: #000;
}
</style>