licp
2024-11-26 e6c3fccc9e412e79964a6dc2dae4c3da0c80095c
src/components/do/b1-report-preparation/order.vue
@@ -38,9 +38,12 @@
      :append-to-body="true"
      :modal="!dialogVisible0"
      >
      <span>请选择委托编号为 <span style="color: #3A7BFA">{{currentInfo.entrustCode}}</span> 要生成的数据</span>
      <span style="font-size: 16px;">请选择委托编号为 <span style="color: #3A7BFA">{{currentInfo.entrustCode}}</span> 要生成的数据</span>
      <div style="max-height: 75vh;overflow-y: auto;">
        <el-card class="box-card" style="margin-top: 16px;" v-for="(item,index) in historyList" :key="index">
        <template v-for="(a,b) in sampleList">
          <el-divider></el-divider>
          <p style="margin: 10px 0;font-weight: 700;">样品:<el-tag size="small">{{a.insSample.sample}}</el-tag> &nbsp;&nbsp;&nbsp;&nbsp;样品编号:{{a.insSample.sampleCode}}</p>
          <el-card class="box-card" style="margin-top: 16px;" v-for="(item,index) in a.historyList" :key="index">
          <div slot="header" style="display: flex;justify-content: space-between;">
            <span>{{ item.laboratory }}</span>
          </div>
@@ -82,11 +85,13 @@
              label="操作"
              min-width="100">
              <template slot-scope="scope">
                <el-button @click="lookDetail(item,scope.row.num)" type="text" size="small">查看</el-button>
                  <el-button @click="lookDetail(item,scope.row.num,a.insSample)" type="text" size="small">查看</el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-card>
          <p v-if="a.historyList.length==0" style="text-align: center;">暂无可生成的数据</p>
        </template>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button :loading="loading0" @click="handleNoCreate">不生成</el-button>
@@ -98,7 +103,9 @@
      :visible.sync="dialogVisible0"
      width="100%" :fullscreen="true" :modal="false" :append-to-body="true">
      <Inspection v-if="dialogVisible0"
      :orderId="currentInfo.id"
      :orderId="sampleId"
      :orderId0="orderId0"
      :userInfo="{}"
      :inspectorList="currentItem.inspectorList"
      :sonLaboratory="currentItem.laboratory"
      :state="2"
@@ -129,7 +136,7 @@
          sampleModel: null,
          sampleCode: null,
          outEntrustCode: null,
          state: 1,
          state: 4,
          name:null,
          engineering:null,
          production:null,
@@ -210,7 +217,10 @@
      currentItem:{},
      loading0:false,
      loading1:false,
      dialogVisible0:false
      dialogVisible0:false,
      sampleList:[],
      sampleId:null,
      orderId0:null,
    }
  },
  mounted() {
@@ -242,11 +252,12 @@
    handleCreateReport(row){
      this.currentInfo = row
      this.$axios.get(this.$api.insReport.getInsOrderStateCount+'?id='+row.id).then(res => {
        this.historyList = res.data
        this.historyList.forEach(item => {
        this.sampleList = res.data
        this.sampleList.forEach(a=>{
          a.historyList = a.insOrderStates
          a.historyList.forEach(item => {
          item.arr = []
          this.$set(item,'numValue',1)
          // item.checked = false;
          if(item.num>0){
            for(var i=0;i<item.num;i++){
              item.arr.push({
@@ -256,24 +267,50 @@
            }
          }
        })
        })
        // this.historyList = res.data
        // this.historyList.forEach(item => {
        //   item.arr = []
        //   this.$set(item,'numValue',1)
        //   // item.checked = false;
        //   if(item.num>0){
        //     for(var i=0;i<item.num;i++){
        //       item.arr.push({
        //         label:'记录'+(i+1),
        //         value:i+1
        //       })
        //     }
        //   }
        // })
        this.dialogVisible = true
      })
    },
    // 生成报告
    handleCreate(){
      let arr = []
      this.historyList.forEach(item => {
      let insReportDto1s = []
      let num = 0;
      this.sampleList.forEach(a => {
        let insReportDto2s = []
        a.historyList.forEach(item => {
        item.insOrderUserList.forEach(item1 => {
          if(item1.state==1){
            arr.push({
              let obj0 = {
              laboratory:item.laboratory,
              num:item1.num,
              insOrderUsersId:item1.id
            })
              }
              insReportDto2s.push(obj0)
              num++
          }
        })
      })
      if(arr.length==0){
        let obj0 = {
          sampleId:a.insSample.id,
          insReportDto2s:insReportDto2s
        }
        insReportDto1s.push(obj0)
      })
      if(num==0){
        this.$message.error("请先选择需要生成的记录!")
        return
      }
@@ -281,7 +318,7 @@
      this.$axios.post(this.$api.insReport.isReport, {
        id:this.currentInfo.id,
        state:1,
        insReportDto1s:arr
        insReportDto1s:insReportDto1s
      },{
        headers: {
          'Content-Type': 'application/json'
@@ -319,12 +356,14 @@
      })
    },
    // 查看检验详情
    lookDetail(row,value){
    lookDetail(row,value,insSample){
      this.dialogVisible0 = true
      let inspectorList = []
      if(row.userName){
        inspectorList = row.userName.split(',')
      }
      this.sampleId = insSample.id
      this.orderId0 = insSample.insOrderId
      this.currentItem = {
        num1:value,
        inspectorList:inspectorList,