licp
2024-03-22 3848bf666f63878b90411e3e33df9fabfb94a0a2
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -47,7 +47,7 @@
<template>
   <div>
      <el-row class="title">
               <el-col :span="12" style="padding-left: 20px;">样品详情</el-col>
               <el-col :span="12" style="padding-left: 20px;">检验单详情</el-col>
               <el-col :span="12" style="text-align: right;">
                  <el-button size="small" type="primary" @click="sampleVisible=true">样品切换</el-button>
            <el-button size="small" type="primary" @click="taskVisible=true">任务切换</el-button>
@@ -94,43 +94,35 @@
            </el-table-column>
            <el-table-column prop="inspectionItemSubclass" label="样品编号" min-width="100"
               show-overflow-tooltip></el-table-column>
        <el-table-column prop="method" label="样品型号" min-min-width="100" show-overflow-tooltip></el-table-column>
            <el-table-column prop="sonLaboratory" label="检测状态" min-width="100" show-overflow-tooltip></el-table-column>
            <el-table-column prop="method" label="检测人" min-min-width="100" show-overflow-tooltip></el-table-column>
            <el-table-column prop="unit" label="是否留样" min-width="100" show-overflow-tooltip></el-table-column>
        <!-- 检验单会有一个是否有配套样品字段控制显示 -->
        <el-table-column prop="unit" label="配套样品型号" min-width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="unit" label="配套样品名称" min-width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="unit" label="配套样品数量" min-width="100" show-overflow-tooltip></el-table-column>
         </el-table>
    </el-drawer>
    <el-drawer
      title="任务切换"
      :visible.sync="taskVisible"
      :destroy-on-close="true"
      size="55%">
      <el-table class="el-table" ref="productTable" :data="productList" height="100%" tooltip-effect="dark" border highlight-current-row @row-click="handleChangeTask">
            <el-table-column prop="inspectionItemSubclass" label="委托编号" min-width="100"
               show-overflow-tooltip></el-table-column>
            <el-table-column prop="sonLaboratory" label="样品编号" min-width="100" show-overflow-tooltip></el-table-column>
            <el-table-column prop="method" label="样品名称" min-min-width="100" show-overflow-tooltip></el-table-column>
            <el-table-column prop="unit" label="紧急程度" min-width="100" show-overflow-tooltip>
          <template slot-scope="scope">
            <el-tag
              :type="scope.row.type" size="medium">{{scope.row.label}}</el-tag>
               </template>
        </el-table-column>
        <el-table-column prop="unit" label="状态" min-width="100" show-overflow-tooltip>
          <template slot-scope="scope">
            <el-tag
              :type="scope.row.type" size="medium">{{scope.row.label}}</el-tag>
               </template>
        </el-table-column>
        <el-table-column prop="method" label="约定时间" min-min-width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="method" label="下发时间" min-min-width="100" show-overflow-tooltip></el-table-column>
         </el-table>
      size="55%"
      :append-to-body="true">
      <ValueTable class="value-table" ref="insOrderPlan"
               :url="$api.insOrderPlan.selectInsOrderPlanList" :componentData="componentData"
               :key="upIndex" v-if="taskVisible"/>
    </el-drawer>
   </div>
</template>
<script>
  import ValueTable from '../../tool/value-table.vue'
   export default {
      props: ['orderId'],
      props: ['sonLaboratory'],
    components: {
         ValueTable,
      },
      data() {
         return {
        sampleVisible:false,
@@ -140,14 +132,41 @@
               state: null
            },
        productList:[],
            id: 0
            id: 0,
        componentData: {
               entity: {
                  sonLaboratory: null,
                  userId: 0
               },
               isIndex: true,
               showSelect: true,
               select: false,
          selectMethod:'handleChangeTask',
               sort: false,
               do: [],
          isPage:false,
               linkEvent: {},
               tagField: {
            type: {
                     select: []
                  },
                  insState: {
                     select: []
                  },
          },
               selectField: {},
               requiredAdd: [],
               requiredUp: []
            },
        upIndex: 0,
         }
      },
      created() {
         this.id = this.orderId
      this.componentData.entity.sonLaboratory = this.sonLaboratory;
      },
      mounted() {
      this.getTypeDicts()
      this.getInsStateDicts()
      },
      methods: {
      handleChangeSample(row){
@@ -157,7 +176,42 @@
      handleChangeTask(row){
        console.log(222222222,row)
        this.taskVisible = false;
      },
      getTypeDicts() {
            this.$axios.post(this.$api.enums.selectEnumByCategory, {
               category: "紧急程度"
            }).then(res => {
               let data = res.data
               data.forEach(ele => {
                  if (ele.value === '0') {
                     ele.type = 'success'
                  } else if (ele.value === '1') {
                     ele.type = 'warning'
                  } else if (ele.value === '2') {
                     ele.type = 'danger'
      }
               })
               this.componentData.tagField.type.select = data
            })
         },
         getInsStateDicts() {
            this.$axios.post(this.$api.enums.selectEnumByCategory, {
               category: "检验任务状态"
            }).then(res => {
               let data = res.data
               data.forEach(ele => {
                  //0:待检验 1:检验中 2:已检验 3:待复核 4:复核未通过 5:复核通过
                  if (['2', '5'].includes(ele.value)) {
                     ele.type = 'success'
                  } else if (['1', '3'].includes(ele.value)) {
                     ele.type = 'warning'
                  } else if (['0', '4'].includes(ele.value)) {
                     ele.type = 'danger'
                  }
               })
               this.componentData.tagField.insState.select = data
            })
         },
      }
   }
</script>