zouyu
2023-09-01 234e8f7af3e93f78e5384b64e26c2f23c659bfcc
Merge branch 'master' of http://192.168.110.209:9001/r/lims-before
已修改7个文件
419 ■■■■ 文件已修改
src/components/experiment/checkTheReport/index.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/experiment/template_testReport/index.vue 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/checkTheReport/index.vue 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/inspectionApplication/Viewdetails/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/inspectionApplication/index.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/planAssignments/plan.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/reportAuditing/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/experiment/checkTheReport/index.vue
@@ -13,7 +13,7 @@
                <tr>
                    <td>规格型号</td>
                    <td colspan="2">
                        {{reportData.specifications.split("-")[1]}}
                        {{reportData.length==0?null:reportData.specifications.split("-")[1]}}
                    </td>
                    <td>材料厂家</td>
                    <td colspan="2">{{reportData.supplier}}</td>
@@ -27,7 +27,7 @@
                <tr>
                    <td>检测依据</td>
                    <td colspan="2">
                        {{reportData.specifications.split("-")[0]}}
                        {{reportData.length==0?null:reportData.specifications.split("-")[0]}}
                    </td>
                    <td>检测类别</td>
                    <td colspan="2">原材料</td>
@@ -83,6 +83,7 @@
    },
    mounted(){
        this.arr = this.reportData.products;
            if(this.reportData.length>0){
        if(this.reportData.products.length < 10){
            let size = this.reportData.products.length; 
            let num=10-size
@@ -93,7 +94,9 @@
                    required: "",
                    testState: null,
                    testValue: "",
                    unit: ""})
                            unit: ""
                        })
                    }
            }
        }
    },
@@ -120,33 +123,46 @@
        padding: 0;
        width:90%;
        margin-left: 5%;
        .logo{
            img{
                width: 150px;
                height: 60px;
            }
        }
        .center{
            width: 100%;
            h1{
                width:100%;
                font-family: "微软雅黑" !important;
                text-align: center;
            }
            table{
                width:100%;
                border-collapse: collapse;
                font-size: 18px;
            }
            table,tr,th,td{
            table,
            tr,
            th,
            td {
                border: 2px solid black;
            }
            tr,td,th{
            tr,
            td,
            th {
                padding: 15px 10px;
            }
            .date-group{
                width: 90%;
                margin-left: 5%;
                p{
                    width: 50%;
                    float: left;
@@ -155,6 +171,7 @@
                    font-size: 18px;
                }
            }
            .footer{
                width:90%;
                margin-left: 5%;
src/components/experiment/template_testReport/index.vue
@@ -4,8 +4,8 @@
      <div class="cover">
        <div class="cover-top">
          <div>
            <div style="height: 30px; line-height: 30px;">报告编号:</div>
            <div style="height: 30px; line-height: 30px;">Reference No:</div>
                        <div style="height: 30px; line-height: 30px;">报告编号:{{reportData.rcode}}</div>
                        <div style="height: 30px; line-height: 30px;">Reference No:{{reportData.rcode}}</div>
          </div>
        </div>
        <div class="title">
@@ -18,47 +18,54 @@
            <div>试样名称</div>
            <span style="font-size: 14px;">Name of Product</span>
            </div>
            <div class="line"> 测试名称</div>
                        <div class="line"> {{reportData.name}}</div>
          </div>
          <div class="name">
            <div style="width:140px; text-align-last: justify;">
            <div style="text-align-last: justify;">型号</div>
            <span style="font-size: 14px;">Type and Size</span>
            </div>
            <div class="line"> 测试名称</div>
                        <div class="line"> {{reportData.specifications}}</div>
          </div>
          <div class="name">
            <div style="width:140px; text-align-last: justify;">
            <div>委托单位</div>
            <span style="font-size: 14px;display: block;margin: 10px 45px 0px;">Client</span>
          </div>
            <div class="line"> 测试名称</div>
                        <div class="line"> {{reportData.supplier}}</div>
          </div>
          <div class="name">
            <div style="width:140px; text-align-last: justify;">
            <div>检验类别</div>
            <span style="font-size: 14px;">Kind of Test</span></div>
            <div class="line"> 测试名称</div>
                            <span style="font-size: 14px;">Kind of Test</span>
                        </div>
                        <div class="line"> {{reportData.type==1?'成品检验':'委托检验'}}</div>
          </div>
        </div>
        <div class="cover-footer">
          <span>江苏中天科技股份有限公司检测中心</span><br>
          <span style="font-size: 14px;">TEST CENTER OF JIANGSU ZHONGTIAN TECHNOLOGY CO.,LTD</span>
                    <span>{{enterprise.name}}</span><br>
                    <span style="font-size: 14px;">{{enterprise.nameEn}}</span>
        </div>
      </div>
      <div class="pageOne">
        <div class="statement">
          <div><h2>声明</h2></div>
          <div style="text-align-last: center;"><h2 style="font-size: 14px;">Statement</h2></div>
                    <div>
                        <h2>声明</h2>
                    </div>
                    <div style="text-align-last: center;">
                        <h2 style="font-size: 14px;">Statement</h2>
                    </div>
        </div>
        <div class="statement-body">
          <div>
            <span>1.    本检验报告(包括复印件)未加检测专用章一律无效。</span><br>
            <span>This test report (including any duplicates) shall become effective only with pecial chapter for testing on.</span>
                        <span>This test report (including any duplicates) shall become effective only with pecial chapter for
                            testing on.</span>
          </div>
          <div>
            <span>2.    本检验报告无编写、审核、批准人签章无效。</span><br>
            <span>This test report shall become effective only with the signatures of compiler checker and approver.</span>
                        <span>This test report shall become effective only with the signatures of compiler checker and
                            approver.</span>
          </div>
          <div>
            <span>3.    本检验报告涂改无效。</span><br>
@@ -78,38 +85,41 @@
          </div>
          <div>
            <span>7.    本检验报告中英文描述有冲突时,以中文解释为准。</span><br>
            <span>If the Chinese and English version of the test report have any conflict, the Chinese version should be the standard for arbitrament.</span>
                        <span>If the Chinese and English version of the test report have any conflict, the Chinese version should be
                            the standard for arbitrament.</span>
          </div>
          <div>
            <span>8.    委托方对本检验报告若有异议,应于样品保存期内向本中心提出,联系电话:0513-84885657</span><br>
            <span>Clients who have any different ideas about this test report, may contract with Test Central within the sample reservation time. Tel: 0513-84885657</span>
                        <span>8. 委托方对本检验报告若有异议,应于样品保存期内向本中心提出,联系电话:{{enterprise.linkPhone}}</span><br>
                        <span>Clients who have any different ideas about this test report, may contract with Test Central within the
                            sample reservation time. Tel: {{enterprise.linkPhone}}</span>
          </div>
          <div>
            <span>9.    本中心样品自报告发送日起,一般保存一个月,以备复验。</span><br>
            <span>The sample shall be reserved for one month beginning from the data when this test report is submitted for examine or review.</span>
                        <span>The sample shall be reserved for one month beginning from the data when this test report is submitted
                            for examine or review.</span>
          </div>
        </div>
        <div class="statement-footer">
          <div class="depart">
            <span>江苏中天科技股份有限公司检测中心</span><br>
            <span>Test Center of Jiangsu Zhongtian Technology Co., LTD</span>
                        <span>{{enterprise.name}}</span><br>
                        <span>{{enterprise.nameEn}}</span>
          </div>
          <div class="address">
            <span>地    址:江苏省南通市经济技术开发区新开南路19号</span><br>
            <span>Address: No.19 Xinkai South Road, Nantong Economic and Technological Development Zone, Jiangsu Province</span>
                        <span>地 址:{{enterprise.address}}</span><br>
                        <span>Address: {{enterprise.addressEn}}</span>
          </div>
          <div class="zipcode">邮政编码Zip Code:226010</div>
          <div class="tel">电    话Tel:0513-89059043</div>
          <div class="email">邮    箱E-mail::ztttc@chinaztt.com </div>
                    <div class="zipcode">邮政编码Zip Code:{{enterprise.code}}</div>
                    <div class="tel">电 话Tel:{{enterprise.linkPhone}}</div>
                    <div class="email">邮 箱E-mail:{{enterprise.email}}</div>
        </div>
      </div>
      <div class="pageTwo">
        <div class="header" style="line-height: 10px;">
          <div style="width: 350px;margin: 0 auto; text-align-last: justify;">
            <h2 style="font-size: 18px;">江苏中天科技股份有限公司检测中心</h2>
                        <h2 style="font-size: 18px;">{{enterprise.name}}</h2>
          </div>
          <div style="width: 500px; margin: 0 auto;text-align-last: justify;">
            <h2 style="font-size: 14px;">TEST CENTER OF JIANGSU ZHONGTIAN TECHNOLOGY CO.,LTD</h2>
                        <h2 style="font-size: 14px;">{{enterprise.nameEn}}</h2>
          </div>
          <div style="width: 120px;margin: 0 auto;text-align-last: justify;">
            <h2 style="font-size: 18px;">检测报告</h2>
@@ -121,8 +131,8 @@
        <div class="table">
          <div class="table-header">
            <div>
              <span>报告编号:</span><br>
              <span>Reference No:</span>
                            <span>报告编号:{{reportData.rcode}}</span><br>
                            <span>Reference No:{{reportData.rcode}}</span>
            </div>
            <div>
              <span>第1页共2页</span><br>
@@ -133,25 +143,26 @@
            <table width="100%" border="1" cellspacing="0" style="text-align: center;">
              <tr>
                <td><span>试样名称</span><br>
                <span>Name of product</span></td>
                <td colspan="2"></td>
                                    <span>Name of product</span>
                                </td>
                                <td colspan="2">{{reportData.name}}</td>
                <td>
                  <span>规格型号</span><br>
                  <span>Type and size</span>
                </td>
                <td colspan="2"></td>
                                <td colspan="2">{{reportData.specifications}}</td>
              </tr>
              <tr>
                <td>
                  <span>样品数量</span><br>
                  <span>Test item</span>
                </td>
                <td colspan="2"></td>
                                <td colspan="2">{{reportData.num}}</td>
                <td>
                  <span>检验项目</span><br>
                  <span>Test item</span>
                </td>
                <td colspan="2"></td>
                                <td colspan="2">{{reData.productNames}}</td>
              </tr>
              <tr>
                <td>
@@ -310,7 +321,8 @@
              <tr>
                <td colspan="4">
                  <span>样品编号</span><br>
                  <span>Sample No</span></td>
                                    <span>Sample No</span>
                                </td>
                <td colspan="3"></td>
                <td colspan="4">
                  <span>规格型号</span><br>
@@ -370,7 +382,7 @@
                    <span></span>
                  </td>
                </tr>
                <tr v-for="item in resultTable" :key="index">
                            <tr v-for="(item, index) in resultTable" :key="index">
                  <td>
                    <span>{{ item.id }}</span><br>
                  </td>
@@ -393,7 +405,6 @@
                    <span>{{ item.conclusion }}</span>
                  </td>
                </tr>
            </table>
          </div>
        </div>
@@ -412,8 +423,12 @@
        <hr>
        <div class="table">
          <div class="table-header">
            <div style="width: 200px; margin: 0 auto;text-align-last: justify;"><h2>检验设备一览表</h2></div>
            <div style="text-align-last: center;"><h2 style="font-size: 14px;">Equipment List</h2></div>
                        <div style="width: 200px; margin: 0 auto;text-align-last: justify;">
                            <h2>检验设备一览表</h2>
                        </div>
                        <div style="text-align-last: center;">
                            <h2 style="font-size: 14px;">Equipment List</h2>
                        </div>
          </div>
          <div class="table-body">
            <table width="100%" border="1" cellspacing="0" style="text-align: center;">
@@ -441,7 +456,7 @@
                    </td>
                  </tr>
              </thead>
              <tr v-for="item in table" :key="index">
                            <tr v-for="(item, index) in table" :key="index">
                <td>
                  <span>{{ item.id }}</span>
                </td>
@@ -458,7 +473,6 @@
                  <span>{{ item.validity }}</span>
                </td>
              </tr>
            </table>
          </div>
        </div>
@@ -468,13 +482,17 @@
</template>
<script>
    import {
        get,
        post,
        wpost
    } from "@/api/util/requestUtil.js"
export default {
  name:'TestReport',
  props:["reportData"],
  data(){
    return {
      resultTable:[
        {
                resultTable: [{
          id: '1',
          testitem: '原始拉伸',
          testitem_engName: 'Primitive strength',
@@ -483,15 +501,35 @@
          requirement_eng: 'Minimun 10.0',
          testresult: '',
          testitem_engName: ''
        }
      ],
                }],
      table:[{
        id: 1,
        equipment_name: '拖拉机',
        type: 1,
        factory_number: 'Akjgfewof',
        validity:'2023.8.25~2023.8.27'
      }]
                }],
                enterprise: {},
                reData: {
                    productNames: null
                }
            }
        },
        mounted() {
            this.getEnterprise()
            if (Object.keys(this.reportData).length > 0) {
                this.reData.productNames = ''
                this.reportData.products.forEach(a=>{
                    this.reData.productNames += ("," + a.ipName)
                })
                this.reData.productNames = this.reData.productNames.replace(',','')
            }
        },
        methods: {
            getEnterprise() {
                get("/report/getEnterprise").then(res => {
                    this.enterprise = res.data
                })
    }
  }
}
@@ -499,19 +537,17 @@
<style lang="scss" scoped>
.content-wrapper{
  // background-color: #f0f2f5;
  // width: 100%;
  // height: 100vh;
  // overflow-y: auto;
  .content-main{
    margin: -100px auto;
    width: 90%;
    .cover{
      margin: 80px 0px;
      padding:0px 50px;
      height: 1200px;
      background-color: #fff;
      box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
      .cover-top{
        display: flex;
        justify-content: end;
@@ -520,20 +556,24 @@
        padding-top: 50px;
        // font-weight: bold;
      }
      .title{
        margin-top: 100px;
        padding: 0px 220px;
        text-align: center;
        font-size: 25px;
      }
      .cover-body{
        font-size: 25px;
        margin: 100px 80px;
        .name{
          // background-color: #bfa;
          display: flex;
          justify-content: space-between;
          margin-bottom: 20px;
          .line{
            width: 500px;
            border-bottom: solid 1px black;
@@ -543,9 +583,11 @@
          }
        }
      }
      .cover-footer{
        text-align: center;
        margin-top: 200px;
        span{
          font-size: 23px;
          height: 40px;
@@ -553,44 +595,53 @@
        }
      }
    }
    .pageOne{
      margin-top: -50px;
      background-color: #fff;
      box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
      padding:50px 100px;
      height: 1200px;
      .statement{
        margin: 0 auto;
        width: 100px;
        text-align-last: justify;
      }
      .statement-body{
        line-height: 32px;
        text-align: justify;
        margin: 30px 0px;
        font-size: 12px;
      }
      .statement-footer{
        line-height: 30px;
        font-size: 12px;
      }
    }
    .pageTwo{
      margin-top: 30px;
      background-color: #fff;
      box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
      padding:50px 60px;
      height: 1200px;
      .table{
        margin-top: 20px;
        .table-header{
          display: flex;
          justify-content: space-between;
          font-size: 14px;
          line-height: 20px;
        }
        .table-body{
          font-size: 12px;
          table td{
            width: 150px;
            height: 52px;
@@ -598,22 +649,27 @@
        }
      }
    }
    .pageThree{
      margin-top: 30px;
      background-color: #fff;
      box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
      padding:50px 60px;
      height: 1200px;
      .table{
        margin-top: 20px;
        .table-header{
          display: flex;
          justify-content: space-between;
          font-size: 14px;
          line-height: 20px;
        }
        .table-body{
          font-size: 12px;
          table td{
            width: 8%;
            height: 52px;
@@ -621,20 +677,25 @@
        }
      }
    }
    .pageFour{
      margin-top: 30px;
      background-color: #fff;
      box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
      padding:50px 60px;
      height: 1200px;
      .table{
        margin-top: 50px;
        .table-header{
          line-height: 20px;
        }
        .table-body{
          margin-top: 20px;
          font-size: 12px;
          table td{
            width: 80px;
            height: 52px;
src/views/experiment/checkTheReport/index.vue
@@ -3,26 +3,14 @@
    <div class="top-bar">
      <el-form ref="form" :inline="true" :model="searchData" label-position="left">
        <el-form-item label="样品编号:">
          <el-input
            v-model="searchData.sample_code"
            class="input-form"
            placeholder="请输入样品编号"
            @keyup.enter.native="getData"
          />
                    <el-input v-model="searchData.sample_code" class="input-form" placeholder="请输入样品编号"
                        @keyup.enter.native="getData" />
        </el-form-item>
        <el-form-item label="报告单号:">
          <el-input
            v-model="searchData.reportCode"
            class="input-form"
            placeholder="请输入报告单号"
          />
                    <el-input v-model="searchData.reportCode" class="input-form" placeholder="请输入报告单号" />
        </el-form-item>
        <el-form-item label="申请单号:">
          <el-input
            v-model="searchData.application_code"
            class="input-form"
            placeholder="请输入申请单号"
          />
                    <el-input v-model="searchData.application_code" class="input-form" placeholder="请输入申请单号" />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="getData()">查询</el-button>
@@ -30,9 +18,7 @@
        </el-form-item>
      </el-form>
      <el-form>
        <el-button @click="exportToPDF" class="rightBtn" type="primary" icon="el-icon-document"
          >导出报告</el-button
        >
                <el-button @click="exportToPDF" class="rightBtn" type="primary" icon="el-icon-document">导出报告</el-button>
      </el-form>
    </div>
    <div class="library-table">
@@ -45,79 +31,49 @@
            <el-radio-button label="2">待签字</el-radio-button>
            <el-radio-button label="3">已完成</el-radio-button>
          </el-radio-group>
          <el-checkbox v-model="checked" style="margin-left: 20px"
            >仅看我的</el-checkbox
          >
                    <el-checkbox v-model="checked" style="margin-left: 20px">仅看我的</el-checkbox>
        </div>
      </div>
      <el-dialog
        top="10vh"
        title="报告预览"
        :visible.sync="dialogVisible"
        width="60%">
            <el-dialog top="10vh" title="报告预览" :visible.sync="dialogVisible" width="60%">
        <span slot="footer" class="dialog-footer">
          <el-button type="primary" @click="printFun()">打印</el-button>
        </span>
        <div class="printStyle">
                <div class="printStyle" v-if="dialogVisible">
          <Preview id="printRaw" :reportData="reportData" v-if="reportType===0"></Preview>
          <TestReport ref="testreport" id="printFinished" :reportData="reportData" v-else></TestReport>
        </div>
      </el-dialog>
      <div class="table-box">
        <el-table
          ref="reportTable"
          :max-height="800"
          :cell-style="{ textAlign: 'center' }"
          :header-cell-style="{
                <el-table ref="reportTable" :max-height="800" :cell-style="{ textAlign: 'center' }" :header-cell-style="{
            border: '0px',
            background: '#f5f7fa',
            color: '#606266',
            boxShadow: 'inset 0 1px 0 #ebeef5',
            textAlign: 'center',
          }"
          :data="reportTable"
          @selection-change="handleSelectionChange"
          style="width: 100%"
        >
          <el-table-column type="selection" label="" min-width="5%" />
          <el-table-column
            prop="materialCode"
            label="样品编号"
            sortable
            min-width="10%"
          >
          }" :data="reportTable" @selection-change="handleSelectionChange" style="width: 100%">
                    <el-table-column type="selection" min-width="5%" />
                    <el-table-column prop="type" label="报告类型" min-width="5%">
                        <template slot-scope="scope">
                            <el-tag>{{scope.row.type == 0?'原材料报告':scope.row.type==1?'成品报告':'委托报告'}}</el-tag>
                        </template></el-table-column>
                    <el-table-column prop="materialCode" label="样品编号" sortable min-width="10%">
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.materialCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column
            prop="reportCode"
            label="报告单号"
            sortable
            min-width="10%"
          >
                        </template></el-table-column>
                    <el-table-column prop="reportCode" label="报告单号" sortable min-width="10%">
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.reportCode }}
              </span>
            </template></el-table-column
          >
          <el-table-column
            prop="inspectionCode"
            label="申请单号"
            sortable
            min-width="10%"
          >
                        </template></el-table-column>
                    <el-table-column prop="inspectionCode" label="申请单号" sortable min-width="10%">
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.inspectionCode }}
              </span>
            </template></el-table-column
          >
                        </template></el-table-column>
          <el-table-column prop="approver" label="审批人" min-width="8%">
            <template slot-scope="scope">
              <span>
@@ -140,9 +96,12 @@
                    : "已完成"
                }}</el-tag>
              </span>
            </template></el-table-column
          >
          <el-table-column prop="conclusion" label="检验结论" min-width="8%" />
                        </template></el-table-column>
                    <el-table-column prop="conclusion" label="检验结论" min-width="8%">
                        <template slot-scope="scope">
                            <span :style="`color: ${scope.row.conclusion=='合格'?'#67c23a':'#f56c6c'}`">{{scope.row.conclusion}}</span>
                        </template>
                    </el-table-column>
          <el-table-column prop="name" label="编制人" min-width="8%">
            <template slot-scope="scope">
              <span>
@@ -154,36 +113,21 @@
          </el-table-column>
          <el-table-column label="操作" min-width="8%">
            <template slot-scope="scope">
              <el-button
                type="text"
                size="small"
                @click="previewFun(scope.row)"
                >查看报告</el-button
              >
                            <el-button type="text" size="small" @click="previewFun(scope.row)">查看报告</el-button>
            </template>
          </el-table-column>
        </el-table>
        <!-- 分页器 -->
        <div>
          <el-pagination
            :current-page="page"
            :page-sizes="[10, 20, 30, 40]"
            :page-size="pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="total"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
          />
                    <el-pagination :current-page="page" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
                        layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange"
                        @current-change="handleCurrentChange" />
        </div>
      </div>
    </div>
    <Preview ref="preview" id="printRaw" :reportData="reportData" v-show="false"></Preview>
    <TestReport ref="testreport" id="printFinished" :reportData="reportData" v-show="false"></TestReport>
    <el-dialog
      title="导出pdf"
      :visible.sync="dialogPdfVisible"
      width="30%"
      :before-close="handleClose">
        <el-dialog title="导出pdf" :visible.sync="dialogPdfVisible" width="30%">
      <span>确定开始导出吗?</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogPdfVisible = false">取 消</el-button>
@@ -194,7 +138,10 @@
</template>
<script>
import { selectAllReport,getReportData } from "@/api/experiment/checkTheReport";
    import {
        selectAllReport,
        getReportData
    } from "@/api/experiment/checkTheReport";
import Preview from "@/components/experiment/checkTheReport/index.vue";
import TestReport from "@/components/experiment/template_testReport/index.vue"
import PrintJS from 'print-js'
@@ -211,26 +158,7 @@
        application_code: ''
      },
      checkStatus: undefined,
      reportTable: [
        {
          materialCode:'SN23-0517001',
          reportCode: 'SN23-0517001',
          inspectionCode: 'SN23-0517001',
          approver:'黄小明',
          status: '',
          conclusion: 1,
          name: '黄小明'
        },
        {
          materialCode:'SN23-0517001',
          reportCode: 'SN23-0517001',
          inspectionCode: 'SN23-0517001',
          approver:'黄小明',
          status: '',
          conclusion: 1,
          name: '黄小明'
        }
      ],
                reportTable: [],
      page: 1,
      total: 0,
      pageSize: 10,
@@ -241,24 +169,24 @@
    };
  },
  created() {
    // this.getData();
            this.getData();
  },
  mounted(){
  },
        mounted() {},
  components:{
    Preview,
    TestReport
  },
  methods: {
    async queryReportByRCode(code){
      const resp = await getReportData({code:code});
                const resp = await getReportData({
                    code: code
                });
      this.reportData = resp.data;
      this.dialogVisible = true;
      console.log(this.reportData);
    },
    //查看报告按钮
    previewFun(row){
      console.log(row)
      this.reportType = row.type;
      this.queryReportByRCode(row.reportCode);
    },
@@ -275,7 +203,9 @@
        const element = document.getElementById('printFinished');
        console.log(element)
        // 设置TestReport组件的reportData属性为当前行的报告数据
        const resp = await getReportData({code:row.reportCode});
                    const resp = await getReportData({
                        code: row.reportCode
                    });
        this.$nextTick(() => {
          this.$refs.testreport.reportData = resp.data;
          html2pdf().from(element).save(`exported_${row.reportCode}.pdf`);
@@ -301,13 +231,11 @@
    },
    // 每页条数改变时触发 选择一页显示多少行
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.pageSize = val;
      this.getData();
    },
    // 当前页改变时触发 跳转其他页
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.page = val;
      this.getData();
    },
@@ -331,9 +259,10 @@
        name: this.searchData.sample_code ? this.searchData.sample_code : undefined,
        status: this.checkStatus ? this.checkStatus : undefined,
      };
      const { data } = await selectAllReport(params);
                const {
                    data
                } = await selectAllReport(params);
      this.reportTable = data.row;
      console.log(data.row);
      this.total = data.total;
    },
  },
@@ -347,18 +276,22 @@
  display: flex;
  justify-content: space-between;
  padding: 5px 24px 0px 24px;
  .input-form {
    width: 250px;
    margin-right: 30px;
  }
  .el-dropdown-link {
    cursor: pointer;
    color: #409eff;
  }
  .el-icon-arrow-down {
    font-size: 12px;
  }
}
.library-table {
  height: 80vh;
  overflow: scroll;
@@ -368,14 +301,17 @@
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  .table-header {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    .el-form-item {
      margin-bottom: 30px !important;
    }
  }
  .table-box {
    padding: 0px 20px;
    margin-top: 0px;
@@ -383,15 +319,18 @@
    background: #fff;
    display: flex;
    flex-direction: column;
    > div:nth-child(2) {
      display: flex;
      justify-content: end;
      margin: 10px 0;
    }
  }
  .printStyle{
    overflow: scroll;
    height:500px;
            height: 600px;
    .el-button{
      position: absolute;
      top: 10vh;
src/views/experiment/inspectionApplication/Viewdetails/index.vue
@@ -86,20 +86,20 @@
                        </el-table-column>
                        <el-table-column prop="required" label="内控值">
                        </el-table-column>
                        <el-table-column prop="userName" label="责任人" width="220px">
                        <el-table-column prop="userId" label="责任人" width="220px">
                            <template slot-scope="scope">
                                <el-select v-model="scope.row.username" slot="append"
                                <el-select v-model="scope.row.userId" slot="append"
                                    @change="(val)=>chooseUseProId(val, scope.row)">
                                    <el-option v-for="(item,indxe) in ZERENren" :key="indxe" :label="item.name"
                                        :value="item.id"></el-option>
                                </el-select>
                            </template>
                        </el-table-column>
                        <el-table-column prop="inspectionMaterialId" label="实验设备" width="220px">
                        <el-table-column prop="instrumentId" label="实验设备" width="300px">
                            <template slot-scope="scope">
                                <el-cascader v-model="scope.row.instrumentName" :options="devices"
                                <el-cascader v-model="scope.row.instrumentId" :options="devices"
                                    :props="{label: 'Name',value: 'Id',children: 'childrenList'}"
                                    @change="(val)=>chooseEquipment(val, scope.row)"></el-cascader>
                                    @change="(val)=>chooseEquipment(val, scope.row)" style="width: 100%;"></el-cascader>
                            </template>
                        </el-table-column>
                    </el-table>
src/views/experiment/inspectionApplication/index.vue
@@ -45,33 +45,33 @@
                            :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
                            :data="inspectionTable">
                            <el-table-column type="selection" min-width="30px" />
                            <el-table-column prop="icode" label="申请单号" min-width="150px" />
                            <el-table-column prop="type" label="检验类型" min-width="80px">
                            <el-table-column prop="icode" label="申请单号" min-width="160px" />
                            <el-table-column prop="type" label="检验类型" min-width="100px">
                                <template slot-scope="scope">
                                    <div v-if="scope.row.type === 0"><span>原材料检验</span></div>
                                    <div v-if="scope.row.type === 1"><span>委托检验</span></div>
                                    <div v-if="scope.row.type === 2"><span>成品检验</span></div>
                                    <div v-if="scope.row.type === 0"><el-tag type="success">原材料检验</el-tag></div>
                                    <div v-if="scope.row.type === 2"><el-tag>委托检验</el-tag></div>
                                    <div v-if="scope.row.type === 1"><el-tag type="warning">成品检验</el-tag></div>
                                </template>
                            </el-table-column>
                            <el-table-column prop="formTime" label="来料日期" min-width="90px" />
                            <el-table-column prop="supplier" label="供应商名称" min-width="150px" show-overflow-tooltip />
                            <el-table-column prop="mcode" label="原材料编码" min-width="170px" />
                            <el-table-column prop="name" label="原材料名称" min-width="80px" />
                            <el-table-column prop="name" label="原材料名称" min-width="90px" />
                            <el-table-column prop="specifications" label="规格型号" min-width="160px" />
                            <el-table-column prop="unit" label="单位" min-width="50px" />
                            <el-table-column prop="num" label="数量" min-width="50px" />
                            <el-table-column prop="createTime" label="登记日期" min-width="80px" />
                            <el-table-column prop="inspection_status" label="检验结果" min-width="80px">
                            <el-table-column prop="createTime" label="登记日期" min-width="90px" />
                            <el-table-column prop="inspection_status" label="检验结果" min-width="95px">
                                <template slot-scope="scope">
                                    <el-tag class="tag" type="danger" disable-transitions
                                    <el-tag class="tag" effect="dark" type="danger" disable-transitions
                                        v-if="scope.row.inspection_status == 0">不合格</el-tag>
                                    <el-tag class="tag" type="success" disable-transitions
                                    <el-tag class="tag" effect="dark" type="success" disable-transitions
                                        v-else-if="scope.row.inspection_status == 1">合格</el-tag>
                                </template>
                            </el-table-column>
                            <el-table-column prop="userName" label="登记人" min-width="80px" />
                            <el-table-column prop="checkdate" label="检验日期" min-width="160px" />
                            <el-table-column label="操作" min-width="150" fixed="right">
                            <el-table-column prop="checkdate" label="检验日期" min-width="170px" />
                            <el-table-column label="操作" min-width="120" fixed="right">
                                <template slot-scope="scope">
                                    <el-button type="text" size="small" @click="handleClick(scope.row)">查看</el-button>
                                    <el-button type="text" size="small" @click="delInspect(scope.row)">作废</el-button>
@@ -288,7 +288,6 @@
                        </div>
                        <span slot="footer" class="dialog-footer">
                            <el-button @click="checkTypeVisible = false">取 消</el-button>
                            <!-- <el-button type="primary" @click="addInspection">确 定</el-button> -->
                            <el-button type="primary" @click="QUEding">确 定</el-button>
                        </span>
                    </el-dialog>
@@ -304,7 +303,7 @@
                        </el-select>
                    </template>
                </el-card>
                <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" row-key="id" border height="calc(40vh)"
                <el-table :data="tableData" style="width: 100%; margin-bottom: 20px;overflow-y: auto;" row-key="id" border height="40vh"
                    default-expand-all ref="multipleTable" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
                    <el-table-column type="index" width="50px" label="序号"></el-table-column>
                    <el-table-column prop="name" label="项目名称" sortable>
@@ -321,9 +320,9 @@
                </span>
            </el-dialog>
            <!-- 原材料检验模态框 -->
            <el-dialog title="原材料检验" :visible.sync="rawmaterialVisible" width="60%">
            <el-dialog title="原材料检验" :visible.sync="rawmaterialVisible" width="60%" top="100px">
                <div class="table-box">
                    <el-table ref="multipleTable" :max-height="800" :cell-style="{textAlign: 'center'}"
                    <el-table ref="multipleTable" :max-height="600" :cell-style="{textAlign: 'center'}"
                        :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
                        :data="rawMaterialTable" style="width: 100%" @selection-change="handleSelectionChange">
                        <el-table-column type="selection" min-width="10%" />
src/views/experiment/planAssignments/plan.vue
@@ -106,7 +106,7 @@
                </el-table-column>
                <el-table-column label="操作" width="150">
                    <template slot-scope="scope">
                        <el-button size="mini" type="primary" v-if="isIfReport(scope.row)"
                        <el-button size="mini" :disabled="!isIfReport(scope.row)" type="primary" v-if="scope.row.orderNum == '01'"
                            @click="addReported(scope.row.id)">上报</el-button>
                        <el-button size="mini" type="text" @click="openUpDia(scope.row)"
                            v-if="scope.row.orderNum=='02'">分配</el-button>
@@ -139,7 +139,7 @@
                <el-button @click="upDia = false">取 消</el-button>
            </span>
        </el-dialog>
        <el-dialog title="检验" :visible.sync="upInsDia" width="500px">
        <el-dialog title="检验" :visible.sync="upInsDia" width="600px">
            <div class="body" style="max-height: 50vh;overflow-y: auto;">
                <el-row style="line-height: 46px;">
                    <el-col :span="5" style="font-size: 14px;text-align: right;">申请单编码:</el-col>
@@ -182,7 +182,7 @@
                                    </el-input>
                                </template>
                            </el-table-column>
                            <el-table-column label="操作" width="60">
                            <el-table-column label="操作" width="80">
                                <template slot-scope="scope">
                                    <el-button size="mini" type="text"
                                        @click.native.prevent="deleteRow(scope.$index, upData.testValue)">删除</el-button>
@@ -264,7 +264,7 @@
                row.children.forEach(a => {
                    if (a.testState != null && a.testState != undefined) count++
                })
                return row.testState == undefined && row.orderNum == '01' && count == row
                return row.testState == undefined && count == row
                    .children.length
            },
            openUpDia(row) {
@@ -355,7 +355,7 @@
                    this.upInsDia = false
                    this.selectDataList()
                    this.$confirm(
                        `<p style="line-height: 80px">您的项目(${this.upData.name})检验结果为:<span class="${res.data==1?'ins_state_success':'ins_state_error'}">${res.data==1?'合格':'不合格'}</span></p>`,
                        `<p style="line-height: 80px">您的项目(${this.upData.name})检验结果为:<span class="${res.data==1?'ins_state_success':'ins_state_error'}">${res.data==1?'合格':'不合格'}</span></p>`,
                        '提交成功', {
                            confirmButtonText: '确定',
                            cancelButtonText: '关闭',
src/views/experiment/reportAuditing/index.vue
@@ -149,14 +149,11 @@
      pageSize: 8,
      checkskipvisible: false,
      form:{},
      // handleClose:{},
      formLabelWidth: '120px',
      checked:{},
      usertt:[],
      Auditconclusion:{},
      tableRow: {},
    };
  },
  created() {