zss
2024-09-13 9bce6d06fc72b109ebfe1fa779c57e1d62a43b57
src/components/view/b1-inspect-order-plan.vue
@@ -153,7 +153,7 @@
                  <el-col :span="3">
                     <div class="center-title">
                        <span>总计任务数量:</span>
                        <span v-if="$refs.insOrderPlan != undefined">{{$refs.insOrderPlan.total}}</span>
                        <span>{{total}}</span>
                     </div>
                  </el-col>
               </el-row>
@@ -164,12 +164,13 @@
               :key="upIndex"/> -->
          <el-table
          :data="tableData"
          ref="table"
          ref="table0"
          border
          style="width: 100%;"
          height="calc(100% - 80px)"
          :row-class-name="rowClassName"
          v-loading="tableLoading"
          row-key="orderStateId"
        >
          <el-table-column
            prop="entrustCode"
@@ -200,7 +201,7 @@
            width="100px"
          >
          <template slot-scope="scope">
              <el-tag :type="typeList.find(m=>m.value==scope.row.insState).type" size="small">{{ typeList.find(m=>m.value==scope.row.insState).label }}</el-tag>
              <el-tag :type="insStateList.find(m=>m.value==scope.row.insState).type" size="small">{{ insStateList.find(m=>m.value==scope.row.insState).label }}</el-tag>
            </template></el-table-column>
          <el-table-column
            prop="userName"
@@ -235,14 +236,15 @@
          <el-table-column
            fixed="right"
            align="center" label="操作"
            width="250px"
            width="320px"
          >
          <template slot-scope="scope">
            <el-button @click="handleDataLook(scope.row)" type="text" size="small">数据查看</el-button>
            <el-button @click="handleInspection(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))">检验</el-button>
            <el-button @click="handleConnect(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 5  || scope.row.insState == 3||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))">交接</el-button>
            <el-button @click="handleReview(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.checkName&&!scope.row.checkName.includes(userName))">复核</el-button>
            <el-button @click="claimFun(scope.row)" type="text" size="small" :disabled="scope.row.userName != null || scope.row.checkName!=null">认领</el-button>
            <el-button @click="handleInspection(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="inspection">检验</el-button>
            <el-button @click="handleConnect(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 5  || scope.row.insState == 3||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="connect">交接</el-button>
            <el-button @click="handleReview(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.checkName&&!scope.row.checkName.includes(userName))" v-if="review">复核</el-button>
            <el-button @click="claimFun(scope.row)" type="text" size="small" :disabled="scope.row.userName != null || scope.row.checkName!=null" v-if="claim">认领</el-button>
            <el-button @click="lookHistory(scope.row)" type="text" size="small" :disabled="!scope.row.num1 || scope.row.num1<1" v-if="getInsProduct2">查看记录</el-button>
          </template>
          </el-table-column>
        </el-table>
@@ -297,7 +299,7 @@
      <div style="width: 100%;height: 100%;" v-if="activeFace >0">
         <Add :active="activeFace" :currentId="currentId" :examine="examine"/>
      </div>
    <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/>
    <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList" :sonLaboratory="componentData.entity.sonLaboratory" :state="state" :orderStateId="orderStateId" :version="version" :isLook="isLook" :num1="num1"/>
      <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="80%">
            <div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible">
               <ValueTable ref="ValueTableDataLook" :rowKey="'insProductId'" :url="$api.insOrder.selectSampleAndProductByOrderId"
@@ -323,6 +325,8 @@
      },
      data() {
         return {
        orderStateId:null,
        version:null,
            examine: null,
        inspectorList: [],//检验人员列表
            alone: false,
@@ -449,6 +453,14 @@
                     disabFun: (row, index) => {
                        return row.userName != null || row.checkName!=null
                     }
                  }, {
                     id: '',
                     font: '查看记录',
                     type: 'text',
                     method: 'claimFun',
                     disabFun: (row, index) => {
                        return !row.num1 || row.num1<2
                     }
                  }
               ],
               linkEvent: {
@@ -522,7 +534,14 @@
          label: '未出结果',
          type: 'info'
        }],
        typeList:[]
        typeList:[],
        getInsProduct2:false,
        claim:false,
        review:false,
        connect:false,
        inspection:false,
        isLook:false,//是否是查看历史页面
        num1:null,
         }
      },
      created() {
@@ -540,13 +559,13 @@
      }
      },
      methods: {
      // 拖拽
      initializeSortable() {
        const tableBody = this.$refs.table.$el.querySelector('.el-table__body-wrapper > table > tbody');
        const tableBody = this.$refs.table0.$el.querySelector('.el-table__body-wrapper > table > tbody');
        if (tableBody) {
          Sortable.create(tableBody, {
            handle: '.el-table__row', // 拖动手柄
            animation: 150,
            animation: 200,
            onEnd: this.handleSortEnd,
          });
        } else {
@@ -557,9 +576,14 @@
        const oldIndex = evt.oldIndex;
        const newIndex = evt.newIndex;
        const movedItem = this.tableData[oldIndex];
        if (oldIndex !== newIndex) {
          this.tableData.splice(oldIndex, 1);
          this.tableData.splice(newIndex, 0, movedItem);
        }
        this.upIndex++
        this.$axios.post(this.$api.insOrderPlan.jumpTeam,
          {
            id: movedItem.id,
            id: movedItem.orderStateId,
            sort: newIndex+1,
            ...this.page
          }, {
@@ -567,7 +591,9 @@
            'Content-Type': 'application/json'
          }
        }
        ).then(res => {})
        ).then(res => {
        })
      },
      rowClassName({ row, rowIndex }) {
        return 'draggable-row';
@@ -585,6 +611,7 @@
            let review = false
        let claim = false
        let jumpTeam = false
        let getInsProduct2 = false
            for (var i = 0; i < power.length; i++) {
               if (power[i].menuMethod == 'doInsOrder') {
                  inspection = true
@@ -601,19 +628,30 @@
          if (power[i].menuMethod == 'jumpTeam') {
                  jumpTeam = true
               }
          if (power[i].menuMethod == 'getInsProduct2') {
                  getInsProduct2 = true
               }
            }
        if (!getInsProduct2) {
               this.componentData.do.splice(5, 1)
            }
            if (!claim) {
               this.componentData.do.splice(3, 1)
               this.componentData.do.splice(4, 1)
            }
            if (!review) {
               this.componentData.do.splice(2, 1)
               this.componentData.do.splice(3, 1)
            }
        if (!connect) {
               this.componentData.do.splice(1, 1)
               this.componentData.do.splice(2, 1)
            }
            if (!inspection) {
               this.componentData.do.splice(0, 1)
               this.componentData.do.splice(1, 1)
            }
        this.getInsProduct2 = getInsProduct2
        this.claim = claim
        this.review = review
        this.connect = connect
        this.inspection = inspection
        this.jumpTeam = jumpTeam
         },
         changeCheckBox(val) {
@@ -671,6 +709,7 @@
          this.tableLoading = false
          this.total = res.data.body.total
          this.tableData = res.data.body.records
          // this.$refs.table0.doLayout()
        })
         },
         changeRowClass({
@@ -781,8 +820,11 @@
          inspectorList.push(user.name)
        }
        this.inspectorList = inspectorList
        this.state = 1;
            this.orderId = row.id
        this.version = row.version
        this.orderStateId = row.orderStateId
        this.state = 1;
        this.isLook = false
      },
      handleConnect(row){
        this.orderId = row.id
@@ -832,6 +874,9 @@
      handleReview(row){
        this.state = 2;
            this.orderId = row.id
        this.version = row.version
        this.orderStateId = row.orderStateId
        this.isLook = false
      },
      getAuthorizedPerson() {
            this.$axios.get(this.$api.user.getUserMenu).then(res => {
@@ -845,6 +890,14 @@
               this.personList = data
            })
         },
      lookHistory(row){
        this.isLook = true
        this.state = 2;
        this.orderId = row.id
        this.version = row.version
        this.orderStateId = row.orderStateId
        this.num1 = row.num1
      }
      }
   }
</script>